KR101846347B1 - Method and apparatus for managing massive documents - Google Patents
Method and apparatus for managing massive documents Download PDFInfo
- Publication number
- KR101846347B1 KR101846347B1 KR1020170099080A KR20170099080A KR101846347B1 KR 101846347 B1 KR101846347 B1 KR 101846347B1 KR 1020170099080 A KR1020170099080 A KR 1020170099080A KR 20170099080 A KR20170099080 A KR 20170099080A KR 101846347 B1 KR101846347 B1 KR 101846347B1
- Authority
- KR
- South Korea
- Prior art keywords
- file
- character string
- electronic document
- keyword
- document
- Prior art date
Links
Images
Classifications
-
- G06F17/30011—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
Abstract
Description
본 발명은 대용량 문서의 분류 및 검색을 용이하게 하는 문서 관리 방법 및 그 장치에 관한 것이다. The present invention relates to a document management method and apparatus for facilitating classification and search of a large-capacity document.
많은 양의 문서가 존재하는 경우에 이를 하나의 물리적 저장공간에 모두 통합하여 저장하기 어렵다. 예를 들어, 도시정보를 통합 저장하고 제공하는 시스템이 있다고 가정하면, 해당 시스템은 도시 내 각종 관공서나 공공기관 등에서 생산되는 다양한 종류의 문서를 매일 누적 저장하기 위하여 매우 큰 저장공간이 필요하다. 그러나 하드웨어적으로 하나의 물리적인 저장공간(하드디스크 등)이 저장할 수 있는 데이터양은 제한되므로 현실적으로 하나의 공간에 통합 저장하는데 한계가 있다.If a large amount of documents exist, it is difficult to integrate them into one physical storage space and store them. For example, if there is a system that integrates and stores city information, the system needs a very large storage space for accumulating various types of documents produced in various government offices and public institutions in the city on a daily basis. However, since the amount of data that can be stored in one physical storage space (hard disk, etc.) in hardware is limited, there is a limit in realizing integration storage in one space.
대용량의 문서는 일반적으로 문서 이름 또는 문서에 부여된 몇몇 키워드 등으로 검색될 수 있다. 그러나 문서 이름이나 몇몇 키워드로 문서 내 어떤 내용이 포함되어 있는지 정확하게 파악하기 어렵다. 예를 들어, 도시정보 통합 시스템에 저장된 대용량의 문서 중 '대전시 개발 현황', '서울시 개발 현황'의 문서 이름을 가진 파일이 존재하고, 그 문서 내 개발제한구역에 대한 정보가 포함되어 있다고 할때, 문서의 키워드로 '개발제한구역'이 부여되어 있지 않다면, 사용자는 문서 내용을 일일이 파악하지 않는 한 '개발제한구역'에 관한 정보가 저장된 문서를 현실적으로 검색하기가 어렵다.A large volume of documents can generally be searched by the document name or some keyword assigned to the document. However, it is difficult to know exactly what the document name or some keyword contains in the document. For example, assuming that a file having a document name of 'Daejeon City Development Status' and 'Seoul City Development Status' among the large-capacity documents stored in the city information integration system exists and information about the development restricted area is included in the document , If the 'development restriction zone' is not assigned as the keyword of the document, it is difficult for the user to search the document storing the information on the 'development restriction zone' realistically unless the user individually grasps the contents of the document.
다른 방법으로 문서 전체의 텍스트를 검색하여 사용자가 원하는 단어가 존재하는지 검색할 수 있다. 예를 들어, 위 예에서 '대전시 개발 현황', '서울시 개발 현황' 문서에 포함된 전체 텍스트를 일일이 검색하여 '개발제한구역'이라는 단어가 존재하는지 찾을 수 있다. 그러나 문서 전체의 내용을 검색하는 방법은 검색할 문서의 개수가 1~2개 정도이면 가능할 수 있으나, 수만~수십만 개의 대용량 문서가 존재하는 경우에는 실질적으로 불가능하다. Alternatively, you can search the entire text of the document to find out if the user has the word you want. For example, in the above example, the entire text included in 'Daejeon Development Status' and 'Seoul City Development Status' document can be searched for individually to find out whether the word 'development restricted zone' exists. However, if the number of documents to be retrieved is one or two, it is practically impossible to retrieve the contents of the entire document. However, if there are tens to hundreds of thousands of documents, it is practically impossible.
본 발명이 이루고자 하는 기술적 과제는, 대용량 문서를 자동으로 분류하거나 대용량 문서를 내용 기반으로 용이하게 검색할 수 있도록 하는 대용량 문서의 관리 방법 및 그 장치를 제공하는 데 있다.SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and it is an object of the present invention to provide a method and apparatus for managing a large-capacity document that automatically classifies a large-capacity document or retrieve a large-
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 대용량 문서의 관리 방법의 일 예는, 적어도 하나 이상의 전자문서를 저장하는 단계; 물리적으로 분리된 복수의 지역노드의 저장공간을 하나의 파일시스템으로 구현한 분산파일시스템에, 복수의 전자문서의 텍스트를 하나로 모은 작업파일을 저장하는 단계; 상기 작업파일의 텍스트로부터 문자열을 추출하는 과정을 상기 복수의 지역노드를 통해 분산처리하는 단계; 및 문자열이 속한 전자문서의 파일경로와 문자열의 맵핑관계를 포함하는 키워드파일을 저장하는 단계;를 포함한다.According to an aspect of the present invention, there is provided a method of managing a large-capacity document, the method comprising: storing at least one electronic document; Storing a work file in which texts of a plurality of electronic documents are collected as one unit in a distributed file system in which a storage space of a plurality of local nodes physically separated is implemented as one file system; Distributing a process of extracting a character string from the text of the work file through the plurality of local nodes; And storing a keyword file including a mapping relationship between a file path and a character string of the electronic document to which the character string belongs.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 대용량 문서의 관리 장치의 일 예는, 물리적으로 분리된 각자 저장공간을 가지는 복수의 지역노드; 및 상기 복수의 지역노드의 저장공간을 하나의 파일시스템으로 관리하고 데이터를 블록단위로 분할하여 상기 파일시스템에 저장하는 마스터노드;를 포함하고, 상기 마스터노드는 복수의 전자문서의 텍스트를 하나로 모은 작업파일 및 문자열과 파일경로의 맵핑관계를 포함하는 키워드파일을 상기 파일시스템에 저장하고, 상기 복수의 지역노드는 각자의 저장공간에 저장된 상기 작업파일의 일부로부터 문자열을 추출하는 과정을 수행하고, 추출한 문자열이 속한 전자문서의 파일경로를 상기 키워드파일에 저장한다. According to another aspect of the present invention, there is provided an apparatus for managing a large-capacity document, the apparatus comprising: a plurality of local nodes having physically separated self storage spaces; And a master node managing the storage spaces of the plurality of local nodes as one file system and dividing the data into blocks and storing the divided data in the file system, wherein the master node collects texts of a plurality of electronic documents A keyword file including a working file and a mapping relation between a character string and a file path is stored in the file system and the plurality of local nodes performs a process of extracting a character string from a part of the job file stored in the respective storage spaces, And stores the file path of the electronic document to which the extracted character string belongs in the keyword file.
본 발명에 따르면, 대용량 문서의 저장공간을 유연하게 늘릴 수 있으며, 대용량 문서를 자동으로 분류하여 저장할 수 있다. 또한, 문서에 포함된 내용 기반으로 대용량 문서 내에서 원하는 문서의 신속한 검색이 가능하다.According to the present invention, the storage space of a large-capacity document can be flexibly increased, and a large-capacity document can be automatically classified and stored. In addition, based on the contents contained in the document, it is possible to quickly search a desired document in a large-size document.
도 1은 본 발명의 실시 예에 따른 문서관리장치의 구성 및 적용 예를 도시한 도면,
도 2는 본 발명의 실시 예에 따른 분산파일시스템에 파일을 저장하는 예를 도시한 도면,
도 3은 본 발명의 실시 예에 따른 분산파일시스템에서 프로그램코드를 실행하는 예를 도시한 도면,
도 4는 본 발명의 실시 예에 따라 전자문서를 자동 분류하는 방법을 도시한 도면,
도 5는 본 발명의 실시 예에 따라 대용량 전자문서로부터 문자열을 추출하여 저장하는 방법의 일 예를 도시한 도면,
도 6은 본 발명의 실시 예에 따라 대용량 전자문서에 대한 키워드파일 생성 방법의 예를 도시한 도면,
도 7은 본 발명의 실시 예에 따른 키워드파일을 갱신하는 방법의 일 예를 도시한 도면,
도 8은 본 발명의 실시 예에 따른 키워드파일을 색인화하는 예를 도시한 도면,
도 9는 본 발명의 실시 예에 따른 전자문서의 분류방법을 도시한 흐름도,
도 10은 본 발명의 실시 예에 따른 키워드파일의 생성 방법을 도시한 흐름도, 그리고,
도 11은 본 발명의 실시 예에 따른 키워드기반 전자문서 검색 방법을 도시한 흐름도이다. 1 is a diagram showing a configuration and an application example of a document management apparatus according to an embodiment of the present invention;
2 is a diagram illustrating an example of storing a file in a distributed file system according to an embodiment of the present invention;
3 is a diagram illustrating an example of executing program code in a distributed file system according to an embodiment of the present invention;
Figure 4 illustrates a method for automatically classifying an electronic document according to an embodiment of the present invention;
5 is a diagram illustrating an example of a method of extracting and storing a character string from a large-capacity electronic document according to an embodiment of the present invention.
6 is a diagram illustrating an example of a method of generating a keyword file for a large-capacity electronic document according to an embodiment of the present invention;
7 is a diagram illustrating an example of a method of updating a keyword file according to an embodiment of the present invention;
8 is a diagram illustrating an example of indexing a keyword file according to an embodiment of the present invention;
FIG. 9 is a flowchart illustrating a method of classifying an electronic document according to an embodiment of the present invention;
10 is a flowchart illustrating a method of generating a keyword file according to an embodiment of the present invention,
11 is a flowchart illustrating a keyword-based electronic document retrieval method according to an embodiment of the present invention.
이하에서, 첨부된 도면들을 참조하여 본 발명의 실시 예에 따른 대용량 문서의 관리 방법 및 그 장치에 대해 상세히 살펴본다.Hereinafter, a method and apparatus for managing a large-capacity document according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 실시 예에 따른 문서관리장치의 구성 및 적용 예를 도시한 도면이다.1 is a diagram showing a configuration and an application example of a document management apparatus according to an embodiment of the present invention.
도 1을 참조하면, 문서관리장치(130)는 마스터노드(140)와 복수의 지역노드(150,152,154) 및 모니터링노드(160)를 포함한다. Referring to FIG. 1, the
본 실시 예의 노드들(마스터노드(140), 지역노드(150,152,154), 모니터링 노드(160) 등)은 각자의 저장공간과 프로그램코드를 수행할 수 있는 프로세서 등을 포함하는 물리적으로 상호 분리되어 존재하는 컴퓨팅 장치를 의미한다. 마스터노드(140), 각 지역노드(150,152,154) 및 모니터링노드(160)는 유무선 통신망을 통해 상호 연결된다.The nodes (the
마스터노드(140)는 물리적으로 분리된 각 지역노드(150,152,154)의 저장공간을 하나의 파일시스템으로 구현한 분산파일시스템을 관리한다. 분산파일시스템에서 각 지역노드의 저장공간은 마치 하나의 저장공간처럼 취급된다. 예를 들어, 종래의 하드 디스크가 트랙 및 섹터 등으로 저장공간이 구분되어 데이터를 저장하는 것과 같이, 분산파일시스템에서 각 지역노드(150,152,154)의 저장공간은 종래 하드 디스크의 트랙 및 섹터처럼 취급된다. 파일이 하드 디스크에 저장될 때 여러 섹터에 나누어 저장되는 것과 같이, 마스터노드(140)는 파일을 각 지역노드(150,152,154)에 나누어 저장한다. The
마스터노드(140)는 분산파일시스템에서 파일의 논리적 저장위치를 나타내는 파일경로와 실제 각 파일의 어느 부분이 어느 지역노드(150,152,154)에 저장되는지를 나타내는 정보를 맵핑하여 저장 관리한다. 따라서 문서수집장치의 관점에서, 파일을 저장하거나 해당 파일에 대한 프로그램코드를 작성할 때 일반적인 컴퓨터의 파일경로와 같이 "/디렉터리/파일이름"의 파일경로를 사용하면 되고, 실제 파일이 어느 지역노드에 어떻게 분산저장되어 있는지 알 필요는 없다. 이하에서 파일경로라고 함은 분산파일시스템에서 여러 지역노드에 분산 저장되는 파일의 논리적 저장위치로서 "디렉리 + 파일이름"의 형태를 의미한다.The
본 실시 예의 분산파일시스템은 다양한 방법으로 구현될 수 있으며, 일 예로 HDFS(Hadoop Distribution File System)으로 구현될 수 있다. 문서를 본 실시 예의 분산파일시스템에 저장하는 예에 대해서 도 2에서 다시 살펴본다. The distributed file system of this embodiment can be implemented in various ways, for example, as a HDFS (Hadoop Distribution File System). An example of storing a document in the distributed file system of this embodiment will be described again with reference to FIG.
각 지역노드(150,152,154)는 각자의 저장공간을 가지고 있을 뿐만 아니라 마스터노드(140)를 통해 전달받은 프로그램코드를 각자 실행할 수 있는 프로세서를 포함한다. 예를 들어, 본 실시 예의 분산파일시스템에 저장된 문서파일의 파일경로가 '/Row data/Energy/A.pdf'인 경우에, 실제 A.pdf 문서파일의 데이터는 도 2와 같이 분산파일시스템의 기본저장단위로 분할되어 각 지역노드에 분산저장된다. A.pdf 문서파일에서 특정 단어를 검색하고자 할 경우에, 마스터노드(140)는 특정단어 검색을 위한 프로그램코드를 문서수집장치(110)로부터 수신하여 각 지역노드(150,152,154)에 전달하고, 각 지역노드(150,152,154)는 전달받은 프로그램코드를 각자의 저장공간에 저장된 A.pdf 문서파일의 일부에 대해 수행하고 그 결과를 마스터노드(140)에 전달할 수 있다. 따라서 A.pdf 문서파일에서 특정 단어를 검색하는 과정이 복수의 지역노드(150,152,154)에 의해 분산처리되므로 신속하게 처리될 수 있다. 각 지역노드(150,152,154)에 프로그램코드를 전달하는 과정은 도 3에 도시되어 있다.Each of the
마스터노드(140)와 각 지역노드(150,152,154)는 유무선통신으로 연결되어 있어 지역노드(150,152,154)의 일부에 장애가 발생하는 경우에 그 지역노드에 저장된 데이터를 읽을 수 없는 문제점이 발생할 수 있다. 따라서 마스터노드(140)는 도 2와 같이 분산파일시스템에 파일을 저장할 때 각 지역노드(150,152,154)에 중복 저장한다.The
모니터링노드(160)는 마스터노드(140) 및 각 지역노드(150,152,154)와 하트비트(hearbit) 통신 등을 수행하여 마스터노드(140) 및 각 지역노드(150,152,154)의 정상 동작 여부를 확인한다. 모니터링노드(160)의 역할은 마스터노드(140)에 구현될 수 있다. 실시 예에 따라 모니터링노드(160)는 생략될 수 있다.The
문서수집장치(110)는 복수의 문서공급기관(100,102,104)으로부터 각종 전자문서를 수집한다. 예를 들어, 도시정보 통합 시스템을 구현하고자 하는 경우에, 문서수집장치(110)는 각종 관공서나 공공기관으로부터 교육, 문화, 환경, 교통 등 다양한 종류의 전자문서를 수집한다. 본 실시 예의 문서공급기관(100,102,104)은 이러한 다양한 종류의 전자문서를 제공하는 각종 관공서나 공공기관의 서버일 수 있다. The
문서수집장치(110)는 수집한 문서를 마스터노드(140)를 통해 분산파일시스템에 저장한다. 분산파일시스템에서 복수의 지역노드(150,152,154)의 저장공간은 하나의 파일시스템으로 취급되므로, 지역노드(150,152,154)의 확장을 통해 대용량의 문서를 용이하게 저장 관리할 수 있다. 문서수집장치는 전자문서를 논리적 파일경로에 저장하면 되며, 논리적 저장경로와 맵핑하여 복수의 지역노드에 분산 저장하는 것은 마스터 노드에서 수행한다. 따라서 사용자가 특정 전자문서에 대한 다양한 동작을 수행할 프로그램코드를 작성할 때 해당 전자문서의 파일경로를 이용하면 되고, 어떤 지역노드에 전자문서의 어떤 부분이 저장되었는지를 알 필요는 없다. 즉 하드 디스크에 하나의 파일이 여러 섹터에 걸쳐 저장될 때 파일조회나 저장 또는 각종 동작을 위한 프로그램코드 작성시 그 파일의 저장위치를 나타내는 파일경로를 사용하면 될 뿐 파일이 저장된 특정 섹터를 확인하여 이용하지 않는 것과 동일한 원리이다.The
사용자 단말(120)은 문서수집장치(110)에 접속하여 원하는 문서를 검색하고 조회할 수 있다. 사용자 단말(120)은 유무선 통신이 가능한 다양한 종류의 단말을 의미한다. 예를 들어, 사용자 단말로 컴퓨터, 스마트폰, 태블릿PC 등 다양한 종류가 존재한다. The
본 실시 예는 본 발명의 이해를 돕기 위하여 문서수집장치(110)와 복수의 문서공급기관(100,102,104)을 도시하고 있으나 본 발명이 반드시 이에 한정되는 것은 아니다. 즉 문서관리장치(130)는 본 실시 예에 도시된 문서수집장치(110) 외 대용량 문서의 저장이 필요한 다른 여러 분야에 적용될 수 있다.Although the present embodiment illustrates a
도 2는 본 발명의 실시 예에 따른 분산파일시스템에 파일을 저장하는 예를 도시한 도면이다.2 is a diagram illustrating an example of storing a file in a distributed file system according to an embodiment of the present invention.
도 1 및 도 2를 함께 참조하면, 마스터노드(140)는 문서파일(200)을 일정 크기의 블록(202,204,206)으로 분할하여 각 지역노드(150,152,154)의 저장공간(210,212,214)에 분산 저장한다. 블록의 크기는 분산파일시스템에 따라 다양하게 변형될 수 있다. 분산파일시스템에 저장되는 문서파일(200)의 파일경로는 "디렉토리+파일이름"의 논리적 저장 위치로 구성되며, 문서파일(200)의 블록이 실제 어느 지역노드에 저장되는지에 대한 정보를 마스터노드(140)가 파일경로와 함께 저장 관리한다. 1 and 2, the
특정 지역노드에 장애가 발생하는 경우 등을 대비하기 위하여, 문서파일(200)의 각 블록(202,204,206)은 복수의 지역노드(150,152,154)에 중복 저장될 수 있다. 예를 들어, 문서파일(200)의 제1 블록(202)은 제1 지역노드(150)의 제1 저장공간(210)과 제N 지역노드(154)의 제N 저장공간(214)에 중복저장되고, 제2 블록(204)은 제2 지역노드(152) 및 제1 지역노드(150)에 중복저장되고, 제3 블록(206)은 제N 지역노드(154)와 제2 지역노드(152)에 중복저장될 수 있다. 따라서 제1 지역노드(150)에 장애가 발생한 경우에, 마스터노드(140)는 제1 블록(202)을 제N 지역노드(154)로부터 읽을 수 있다. Each
본 실시 예는 설명의 편의를 위해 각 블록을 한 번만 중복 저장하는 경우를 도시하고 있으나, 실시 예에 따라 각 블록은 두 번 이상 중복 저장될 수 있다. In this embodiment, for convenience of description, each block is stored only once, but each block may be stored twice or more according to an embodiment.
도 3은 본 발명의 실시 예에 따른 분산파일시스템에서 프로그램코드를 실행하는 예를 도시한 도면이다.3 is a diagram showing an example of executing program code in the distributed file system according to the embodiment of the present invention.
도 1 및 도 3을 함께 참조하면, 사용자는 분산파일시스템에 저장된 파일에 대한 특정 동작을 수행하는 프로그램코드(300)를 만들 수 있다. Referring to FIGS. 1 and 3 together, a user may create
마스터노드(140)는 프로그램코드(300)를 문서수집장치(110)로부터 수신하면, 마스터노드(140)는 프로그램코드(300)를 다시 각 지역노드(150,1552,154)에 전달한다. 각 지역노드는 각자 저장공간에 저장된 파일의 일부분에 대해 프로그램코드(300)를 수행하고 그 결과를 마스터노드(140)에 전달한다. When the
예를 들어, 마스터노드(140)는 전자문서의 문자열을 추출하는 프로그램코드를 문서수집장치(110)로부터 수신하면, 이 프로그램코드를 각 지역노드(150,152,154)에 전달한다. 각 지역노드(150,152,154)는 각자의 저장공간에 저장된 전자문서의 일부분에 대해 프로그램코드를 수행한 결과를 마스터노드(140)에 전달한다. 마스터노드(140)는 각 지역노드의 프로그램코드 수행결과를 이용하여 프로그램코드의 수행 결과를 최종 작성하여 문서수집장치(110)에 제공한다.For example, when the
분산파일시스템에서 프로그램코드를 각 지역노드를 통해 분산처리하기 위하여 다양한 방법이 적용될 수 있으며, 일 예로, 종래 리소스관리기술인 YARN(Yet Another Resource Regotiator)을 이용할 수 있다. In the distributed file system, various methods can be applied to distribute the program code through each local node. For example, the conventional resource management technology YARN (Yet Another Resource Regiator) can be used.
도 4는 본 발명의 실시 예에 따라 전자문서를 자동 분류하는 방법을 도시한 도면이다. 4 is a diagram illustrating a method of automatically classifying an electronic document according to an embodiment of the present invention.
도 1 및 도 4를 함께 참조하면, 마스터노드(140)는 문서수집장치(110)로부터 수신한 적어도 하나 이상의 전자문서(400,402,404)를 분산파일시스템에 저장한다. 마스터노드(140)는 전자문서의 분류를 파악하는 프로그램코드를 각 지역노드(150,152,154)에 전달한다. 각 지역노드(150,152,154)는 자신의 저장공간에 저장된 전자문서의 일부분에 대해 프로그램코드를 수행하여 전자문서의 분류를 파악한다. 1 and 4, the
여기서, 전자문서의 분류를 파악하는 프로그램코드는 크게 (1) 문자열을 추출하는 단계(S410)와 (2) 추출한 문자열을 분류테이블의 각 분류별 단어목록과 비교하는 단계(S420)와 (3) 각 전자문서의 분류정보를 저장하는 단계(S430)의 알고리즘으로 구현될 수 있다. The program code for identifying the classification of the electronic document includes (1) a step of extracting a character string (S410), (2) comparing the extracted character string with a word list of each classification in the classification table, and (3) And storing the classification information of the electronic document (S430).
(1) 문자열을 추출하는 단계(S410)는 다양한 방법으로 구현될 수 있다. 예를 들어, 문자열을 추출하는 단계(S410)는 전자문서에 포함된 텍스트의 형태소 분석을 통해 특정품사(예를 들어, 명사)로 이루어진 문자열을 추출하거나, 띄어쓰기 단위로 문자열을 추출하는 알고리즘으로 구현될 수 있다. 지역노드에 저장된 전자문서의 일부에 대한 텍스트가 "테임즈는 25일(한국시간) 밀워키의 밀러파크에서 열린 신시내티와 홈경기에서..."이고 띄어쓰기 단위로 문자열를 추출한다면, 추출된 문자열은 "테임즈는", "25일(한국시간), "밀워키의", "밀러파크에서", "열린", "신시내티와", "홈경기에서" 등이 된다. 또는 형태소 분석을 통해 명사의 문자열을 추출한다면, 문자열은 "테임즈", "25일", "한국시간", "밀워키", "밀러파크", "신시내티", "홈경기" 등과 같이 추출된다. 이 외에도, 형태소 분석 등을 이용하여 주어나 목적어 등의 구분하고 주어나 목적어 등에서 특정 품사(예를 들어, 명사)를 추출하는 등 텍스트로부터 문자열을 추출하는 종래의 다양한 방법이 적용될 수 있다. (1) extracting a character string (S410) may be implemented in various ways. For example, the step of extracting a character string (S410) may be performed by extracting a character string composed of a specific part of speech (for example, a noun) or extracting a character string in a space unit by morphological analysis of the text included in the electronic document . If the text for a portion of the electronic document stored in the local node is "at Cincinnati and Home ... held at Miller Park in Milwaukee on the 25th (Korea time)" and the string is extracted in units of spaces, Eames will be "," 25th (Korean time), "Milwaukee", "Miller Park", "Open", "Cincinnati", "at home" etc. or extract the string of nouns through morphological analysis The string is extracted as "Teeth", "25 days", "Korea Time", "Milwaukee", "Miller Park", "Cincinnati", "Home" etc. In addition, Various conventional methods of extracting a character string from a text, such as extracting a specific part of speech (for example, a noun) from a subject or an object, can be applied.
(2) 분류테이블과 비교하는 단계(S420)는 각 전자문서의 텍스트로부터 추출한 문자열이 분류테이블(440)의 단어목록 중 어느 분류의 단어목록에 속하는지 파악하는 알고리즘으로 구현될 수 있다. 각 분류별 단어목록을 포함하는 분류테이블(440)은 미리 정의되어 있다. 예를 들어, '환경' 분류인 경우에 해당 분류의 단어목록으로 '개발제한구역', '한강수계' 등의 단어가 분류테이블(440)에 정의되어 있을 수 있다. (2) The step of comparing with the classification table (S420) may be implemented by an algorithm for determining which class of the word list belongs to the word list of the classification table 440, in which the character string extracted from the text of each electronic document belongs. A classification table 440 including a word list for each classification is predefined. For example, in the case of the 'environment' classification, words such as 'development restriction zone' and 'Han River water system' may be defined in the classification table 440 as a word list of the classification.
예를 들어, 문자열을 띄어쓰기 단위로 추출하는 경우에 문자열은 '개발제한구역은'과 같이 조사 등이 포함되어 있어 분류테이블의 '개발제한구역'과 완전히 일치하지 않을 수 있다. 이 경우 분류테이블(440)에서 문자열과 완전히 일치하는 단어를 검색하는 것이 아니라, 문자열에 분류테이블의 단어가 포함되어 있는지를 검사하여 분류를 파악할 수 있다. 즉, 문자열 '개발제한구역은'에는 '환경' 분야의 단어목록에 존재하는 '개발제한구역'이 포함되어 있으므로, '환경' 분류를 파악할 수 있다. 또 다른 예로, 문자열이 '강릉주요소가'인 경우에, 분류테이블(440)의 단어목록 중 '주유소'가 문자열에 포함되어 있으므로, 해당 문자열의 분류로 '에너지'를 파악할 수 있다.For example, when extracting a string in a space unit, the string may not completely coincide with the 'development restriction zone' of the classification table because it includes an investigation such as 'development restriction zone'. In this case, it is possible to grasp the classification by checking whether or not the word of the classification table is included in the character string, instead of searching the classification table 440 for a word completely matching the character string. That is, since the string 'development restriction zone' includes the 'development restriction zone' existing in the word list of the 'environment' field, the 'environment' classification can be grasped. As another example, when the string is 'Gangneung main site', 'gas station' in the word list of the classification table 440 is included in the character string, so that 'energy' can be grasped by the classification of the character string.
다른 실시 예로, 텍스트로부터 추출한 문자열의 빈도 등을 이용하여 빈도수가 많은 상위 몇 개의 문자열만을 대상으로 분류테이블(440)을 참조하여 각 문자열에 대한 분류를 파악할 수 있다. 이때 문자열을 띄어쓰기 단위로 추출하면 '개발제한구역은', '개발제한구역이' 등은 조사에 따라 서로 다른 문자열이 되므로, 형태소 분석 등을 통해 조사를 제외한 명사(예를 들어, '개발제한구역')만을 추출하여 빈도를 파악할 수 있다.In another embodiment, the classification for each character string can be grasped by referring to the classification table 440 only for the top few strings having a large frequency by using the frequency of the character string extracted from the text. In this case, if the string is extracted in units of spaces, 'development restricted area' and 'development restricted area' are different strings according to the investigation. Therefore, it is possible to use nouns other than the investigation (for example, ') Can be extracted and the frequency can be grasped.
(3) 전자문서별 분류를 저장하는 단계(S430)는 각 문자열에 대해 파악된 분류를 취합하여 해당 전자문서의 분류로 저장하는 알고리즘으로 구현될 수 있다. 각 문자열별로 분류가 파악되므로 하나의 전자문서에 대해 복수의 분류가 파악될 수 있다. 실시 예에 따라 파악된 복수의 분류 모두를 전자문서와 맵핑(450)하여 저장 관리하거나, 복수의 분류 중 빈도수에 따라 최대빈도의 하나의 분류만을 전자문서와 맵핑하거나 상위 빈도의 일정 개수의 분류를 전자문서와 맵핑하여 저장할 수 있다. 마스터노드는 각 지역노드(150,152,154)를 통해 분산처리된 문자열 추출의 결과를 취합하여 전자문서와 맵핑하여 별도의 파일로 저장하거나 전자문서의 메타데이터로 분류정보를 추가저장할 수 있다.(3) The step of storing the classification according to the electronic document (S430) may be implemented by an algorithm of collecting the identified classification for each character string and storing it in the classification of the corresponding electronic document. Since the classification is identified for each string, a plurality of classifications can be grasped for one electronic document. It is possible to map all of the plurality of classifications identified according to the embodiment to the
도 5는 본 발명의 실시 예에 따라 대용량 전자문서로부터 문자열을 추출하여 저장하는 방법의 일 예를 도시한 도면이다.FIG. 5 is a diagram illustrating an example of a method of extracting and storing a character string from a large-capacity electronic document according to an embodiment of the present invention.
도 1 및 도 5를 함께 참조하면, 대용량의 전자문서(500,502,504)가 분산파일시스템에 저장되어 있다. 마스터노드(140)는 복수의 전자문서(500,502,504)를 하나로 통합한 작업파일(510)을 생성하여 분산파일시스템에 저장한다. 예를 들어, 전자문서(500,502,504) 파일이 2만 개 존재한다면, 마스터노드(140)는 2만 개의 전자문서(500,502,504)에 포함된 텍스트를 읽어 하나의 작업파일(510)에 저장한다. 작업파일(510)은 분산파일시스템에 저장된다.1 and 5 together, a large amount of
하나의 작업파일 내에 저장되는 텍스트가 어느 전자문서에 속하는 것인지 구분하기 위하여 각 전자문서의 파일경로를 텍스트와 함께 작업파일(510) 내에 포함시킬 수 있다. 예를 들어, 제1 전자문서로부터 읽은 텍스트를 작업파일 내 하나의 라인으로 저장하고 해당 라인의 앞에 제1 전자문서의 파일경로1을 삽입한다. 그리고 텍스트의 마지막에 서로 다른 전자문서를 구분하기 위한 표시자(예를 들어, 줄바꿈표시)를 삽입할 수 있다. 복수의 전자문서의 텍스트를 하나로 통합한 하나의 작업파일은 도 2와 같이 복수의 블록으로 분할되어 복수의 지역노드에 분산 저장된다. The file path of each electronic document can be included in the
마스터노드(140)는 키워드파일 생성을 위한 프로그램코드를 문서수집장치(110)로부터 수신하여 각 지역노드(150,152,154)에 전달한다. 키워드파일 생성을 위한 프로그램코드를 전달받은 각 지역노드(150,152,154)는 각자 저장하고 있는 작업파일의 일부분에 대해 프로그램코드를 수행한다. The
키워드파일 생성을 위한 프로그램코드는 문자열을 추출한 후 문자열이 속한 파일경로와 문자열의 맵핑관계를 파악한 후 그 맵핑관계를 문자열을 기준으로 정렬하는 알고리즘으로 구현될 수 있다. 키워드파일 생성을 위한 프로그램코드의 구현 예에 대해서는 도 6에서 다시 설명한다. 마스터노드(140)는 각 지역노드(150,152,154)에서 수행하여 얻은 문자열과 파일경로의 맵핑관계의 정보를 취합하여 중복성을 제거하고 문자열을 기준으로 정렬한 키워드파일(520)을 분산파일시스템에 저장한다. The program code for keyword file generation can be implemented by an algorithm that extracts a character string, determines the mapping relationship between the file path and the character string to which the character string belongs, and then sorts the mapping relation based on the character string. An implementation example of the program code for keyword file generation will be described again with reference to FIG. The
도 6은 본 발명의 실시 예에 따라 대용량 전자문서에 대한 키워드파일 생성 방법의 예를 도시한 도면이다.6 is a diagram illustrating an example of a keyword file generation method for a large-capacity electronic document according to an embodiment of the present invention.
도 6을 참조하면, 키워드파일 생성을 위한 프로그램코드는 크게 (1) 문자열을 추출하는 단계, (2) 문자열의 중복성을 제거하는 단계, (3) 문자열을 기준으로 정렬하는 단계의 알고리즘으로 구성될 수 있다.Referring to FIG. 6, the program code for generating a keyword file is composed of (1) a step of extracting a character string, (2) a step of removing redundancy of a character string, and (3) .
(1) 문자열을 추출하는 단계는, 작업문서(600)에 포함된 텍스트의 형태소 분석을 통해 명사만으로 이루어진 문자열을 추출하거나, 띄어쓰기 단위로 문자열을 추출하는 알고리즘으로 구현될 수 있다. 본 실시 예의 문자열을 추출하는 단계는 복수의 전자문서가 통합된 작업문서(600)에 대해 이루어진다는 점을 제외하면 앞서 살핀 문자열 추출방법과 동일한 방법이 적용될 수 있다. (1) The step of extracting a character string may be implemented by extracting a character string consisting of only nouns or extracting a character string on a space-by-segment basis through morphological analysis of text included in the working
(2) 문자열의 중복성을 제거하는 단계는, 동일한 파일경로를 가지는 문자열 사이의 중복성을 제거하는 단계와 서로 다른 파일경로를 가지는 문자열 사이의 중복성을 제거하는 단계를 포함할 수 있다. 예를 들어, 각 파일경로별로 추출한 문자열 리스트(610)에서, 제1 파일경로에 속한 텍스트로부터 '문자열a'가 중복추출되는 경우에 하나의 '문자열a'만 남기고 나머지는 제거한다. 동일 파일 경로에 속한 문자열의 중복성이 제거된 후 각 문자열과 파일경로의 관계를 맵핑(620)한다. 그리고 서로 다른 파일경로(제1 파일경로 및 제2 파일경로)에 존재하는 동일한 '문자열b'의 중복성을 제거하여 하나로 통합한다. 즉 '문자열b'와 제1 파일경로 및 제2 파일경로를 맵핑한다. (2) Removing redundancy of a string may include removing redundancy between strings having the same file path, and removing redundancy between strings having different file paths. For example, in the
(3) 문자열을 기준으로 정렬하는 단계는, 문자열과 파일경로의 맵핑관계를 문자열을 기준으로 오름차순 또는 내림차순으로 정렬(630)하여 키워드파일에 저장한다. 키워드파일은 분산파일시스템에 저장된다. (3) In the step of sorting based on the string, the mapping relationship between the character string and the file path is sorted in ascending or descending order based on the string (630) and stored in the keyword file. Keyword files are stored in a distributed file system.
도 7은 본 발명의 실시 예에 따른 키워드파일을 갱신하는 방법의 일 예를 도시한 도면이다.7 is a diagram illustrating an example of a method for updating a keyword file according to an embodiment of the present invention.
도 5 및 도 6은 복수의 전자문서를 하나로 통합한 작업파일을 이용하여 문자열을 추출하여 키워드 파일을 생성하고 저장하는 경우에 관한 것이다. 키워드파일이 생성된 후 새로운 전자문서가 분산파일시스템에 저장되는 경우에 다시 전체 전자문서를 통합하여 문자열을 추출하는 것보다 새롭게 저장된 전자문서만을 분석하여 키워드파일에 문자열을 추가하는 것이 바람직하다. 도 7은 새롭게 분산파일시스템에 저장되는 전자문서의 문자열을 키워드파일에 반영하는 경우에 관한 것이다.5 and 6 relate to a case where a character string is extracted using a work file in which a plurality of electronic documents are integrated to generate and store a keyword file. When a new electronic document is stored in the distributed file system after the keyword file is generated, it is preferable to analyze only the newly stored electronic document and add the character string to the keyword file, rather than integrating the entire electronic document again to extract the character string. Fig. 7 relates to a case where a character string of an electronic document newly stored in a distributed file system is reflected in a keyword file.
도 7을 참조하면, 전자문서(700)가 분산파일시스템에 파일경로k에 저장되어 있다고 가정한다. 마스터노드(140)는 키워드파일 생성을 위한 프로그램코드를 전자문서가 저장된 각 지역노드(150,152,154)에 전달하고, 각 지역노드(150,152,154)는 각 저장공간에 저장된 전자문서의 일부분에 대해 프로그램코드를 실행하여 문자열과 파일경로의 맵핑관계를 파악하고, 마스터노드(140)는 각 지역노드를 통해 분산처리된 문자열-파일경로의 최종 맵핑관계(710)를 생성한다.7, it is assumed that the
마스터노드(140)는 전자문서(700)로부터 추출한 문자열-파일경로의 맵핑관계를 이미 존재하는 키워드파일에 추가한다. 예를 들어, 전자문서로부터 문자열b가 추출되고, 키워드파일(720)에 문자열b가 이미 존재하는 경우에, 마스터노드(140)는 키워드파일(720)의 문자열b와 맵핑하여 파일경로k를 추가한다. 전자문서로부터 추출된 문자열e가 키워드파일에 존재하지 않는 경우에, 마스터노드(140)는 문자열e-파일경로k의 맵핑관계를 키워드파일에 추가한다. The
도 8은 본 발명의 실시 예에 따른 키워드파일을 색인화하는 예를 도시한 도면이다.8 is a diagram showing an example of indexing a keyword file according to an embodiment of the present invention.
도 8을 참조하면, 키워드파일의 검색이 용이하도록 키워드파일의 문자열을 키로 하는 인덱스로 만들 수 있다. 수만 건의 전자문서의 문자열을 각 파일경로와 맵핑하여 저장하는 키워드파일의 크기 또한 매우 클 수 있다. 따라서 키워드파일을 순차적으로 모두 검색하는데 많은 시간이 소요될 수 있다. 따라서 본 실시 예와 같이 키워드파일을 그대로 이용하지 않고 키워드파일의 문자열을 키로 하는 인덱스 파일을 이용할 수 있다. Referring to FIG. 8, it is possible to make an index using a character string of a keyword file as a key so that a keyword file can be easily retrieved. The size of a keyword file storing and storing tens of thousands of electronic document strings with each file path can also be very large. Therefore, it may take a lot of time to search all the keyword files sequentially. Therefore, as in the present embodiment, an index file in which a string of a keyword file is used as a key can be used without directly using the keyword file.
예를 들어, 마스터노드(140)는 키워드파일의 각 문자열과 파일경로의 위치를 나타내는 인덱스를 맵핑한 인덱스테이블(810)과, 인덱스별로 파일경로를 저장하는 파일경로테이블(820)을 생성하여 분산파일시스템에 저장한다. For example, the
문자열b에 대한 검색요청을 수신하면, 마스터노드(140)는 인덱스테이블(810)을 참조하여 문자열b에 대한 인덱스 2를 파악하고, 인덱스 2를 기초로 파일경로테이블(820)을 검색하여 문자열b와 맵핑되는 파일경로1 및 파일경로2를 파악할 수 있다. 마스터노드(140)는 파일경로1 및 파일경로2에 해당하는 전자문서를 각 지역노드의 저장공간으로부터 읽어 문서수집장치(110)를 통해 사용자단말(120)로 제공할 수 있다. Upon receiving the search request for the string b, the
도 9는 본 발명의 실시 예에 따른 전자문서의 분류방법을 도시한 흐름도이다.9 is a flowchart illustrating an electronic document classification method according to an embodiment of the present invention.
도 9을 참조하면, 문서관리장치(130)는 전자문서의 텍스트로부터 문자열을 추출한다(S900). 예를 들어, 문서관리장치(130)는 pdf 파일, ms-word 파일, ppt 파일 등 다양한 양식으로 작성된 문서 내 포함된 숫자, 문자, 기호 등의 텍스트를 인식하고, 텍스트의 형태소 분석 또는 띄어쓰기 단위를 기반으로 문자열을 추출한다. 텍스트가 이미지로 저장된 전자문서인 경우에는 종래 다양한 종류의 글자인식프로그램을 이용하여 이미지로 된 텍스트를 인식할 수 있다. 이 외에도 다양한 종류의 전자문서로부터 문자, 숫자 등의 텍스트를 인식할 수 있다. Referring to FIG. 9, the
문서관리장치(130)는 분류별 단어목록을 포함하는 분류테이블(도 4의 440)을 참조하여 전자문서에 부여할 적어도 하나 이상의 분류를 파악한다(S910). 전자문서의 텍스트로부터 띄어쓰기 단위로 문자열을 추출한 경우에, 추출한 문자열과 단어목록의 단어가 완전히 일치하지 않을 수 있다. 이 경우 추출한 문자열 내에 단어목록의 단어가 포함되면 그 단어가 속한 분류를 전자문서의 분류로 파악한다. 다른 예로, 문서관리장치는 형태소 분석 등을 통해 명사만을 추출한 후 그 명사와 일치하는 분류테이블의 단어목록을 검색하여 분류를 파악할 수 있다. 또 다른 예로, 문서관리장치(130)는 전자문서로부터 추출한 문자열의 빈도를 기준으로 상위 일정 개수의 문자열을 추출하고, 그 추출한 문자열과 일치하는 분류테이블의 단어목록을 검색하여 분류를 파악할 수 있다.The
문서관리장치(130)는 전자문서로부터 추출한 문자열과 분류테이블을 비교하여 파악한 적어도 하나 이상의 분류정보를 전자문서와 맵핑하여 저장한다(S920). 문서관리장치(130)는 별도의 파일로 전자문서와 분류정보의 맵핑관계를 저장하거나, 전자문서의 메타정보에 분류정보를 추가하는 것과 같이 전자문서 내에 분류정보를 추가하여 저장할 수 있다.The
도 10은 본 발명의 실시 예에 따른 키워드파일의 생성 방법을 도시한 흐름도이다. 10 is a flowchart illustrating a method of generating a keyword file according to an embodiment of the present invention.
도 10을 참조하면, 문서관리장치(130)는 복수의 전자문서의 텍스트를 읽어 하나로 통합한 작업파일을 생성하고 분산파일시스템에 저장한다(S1000). 문서관리장치(130)는 분산파일시스템에 저장된 작업파일의 텍스트로부터 문자열을 추출한다(S1010). 앞서 살폈듯이 작업파일은 여러 지역노드에 분산 저장되고, 문자열의 추출은 여러 지역노드에 의해 분산처리된다. 텍스트로부터 문자열을 추출하는 방법은 앞서 설명한 다양한 방법으로 구현 가능하다. Referring to FIG. 10, the
문서관리장치(130)는 추출한 문자열의 중복성을 제거하고 문자열과 문자열이 속한 전자문서의 파일경로의 맵핑관계를 파악한 후 문자열과 파일경로를 키와 값으로 포함하는 키워드파일을 생성하고 저장한다(S1020).The
도 11은 본 발명의 실시 예에 따른 키워드기반 전자문서 검색 방법을 도시한 흐름도이다. 11 is a flowchart illustrating a keyword-based electronic document retrieval method according to an embodiment of the present invention.
도 11을 참조하면, 문서관리장치(130)는 검색키워드 및 검색분류를 포함하는 검색요청을 수신하면(S1100), 키워드파일을 참조하여 검색키워드에 해당하는 문자열의 파일경로를 파악한다(S1110). 11, when receiving a search request including a search keyword and a search classification (S1100), the
키워드파일의 문자열이 띄어쓰기 단위로 추출된 문자열을 포함하는 경우 '주요소는'과 같이 조사 등이 함께 포함될 수 있다. 검색키워드는 일반적으로 '주요소' 등과 같은 명사이므로 검색키워드와 키워드파일의 문자열이 완전히 일치하지 않을 수 있다. 따라서 문서관리장치(130)는 검색키워드와 문자열이 완전히 일치하는지 파악하기보다는 문자열 내에 검색키워드와 일치하는 문자열이 존재하는지 파악할 수 있다. 예를 들어, 검색키워드가 '주요소'이고, 키워드파일에 '주요소는', '주요소가', '주요소를' 등의 문자열이 존재하면, 이들 문자열은 모두 '주요소'를 포함하고 있으므로, 문서관리장치는 검색키워드 '주요소'에 해당하는 문자열로 '주요소는', '주요소가', '주요소를'를 모두 파악하고, 파악된 이들 문자열과 맵핑되어 있는 전자문서의 파일경로를 파악한다. If the string of the keyword file includes a character string extracted in a space unit, the search may be included together with the 'major part'. Search keywords are usually nouns such as "principal", so the search keyword and the string in the keyword file may not match exactly. Therefore, the
파일경로가 파악되면, 문서관리장치(130)는 해당 파일경로의 전자문서 중 검색요청의 검색분류에 해당하는 분류를 가진 전자문서를 파악하여 제공한다(S1120). 예를 들어, 검색키워드 '주요소'에 해당하는 문자열의 파일경로로 '주요소는'의 파일경로1과 파일경로2, '주요소가'의 파일경로3이 파악되었다고 하자. 이때 검색분류가 '교통'이고, 파일경로1 및 파일경로2의 각 전자문서에 '환경'과 '교통'의 분류정보가 부여되고 있고, 파일경로3의 전자문서에 '환경'의 분류정보가 부여되어 있다면, 문서관리장치(130)는 '교통'의 분류정보가 부여된 파일경로2의 전자문서를 추출하여 제공한다.If the file path is identified, the
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can also be embodied as computer-readable codes on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like. The computer-readable recording medium may also be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다. The present invention has been described with reference to the preferred embodiments. It will be understood by those skilled 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. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.
Claims (10)
적어도 하나 이상의 전자문서를 저장하는 단계;
물리적으로 분리된 복수의 지역노드의 저장공간을 하나의 파일시스템으로 구현한 분산파일시스템에, 복수의 전자문서의 텍스트를 하나로 모은 작업파일을 저장하는 단계;
상기 작업파일의 텍스트로부터 문자열을 추출하는 과정을 상기 복수의 지역노드를 통해 분산처리하는 단계; 및
문자열이 속한 전자문서의 파일경로와 문자열의 맵핑관계를 포함하는 키워드파일을 저장하는 단계;를 포함하고,
상기 키워드파일을 저장하는 단계는,
상기 작업파일에 저장된 복수의 전자문서의 텍스트로부터 문자열을 추출하고 추출한 문자열의 중복성을 제거한 후 문자열이 속한 전자문서의 파일경로를 파악하는 단계; 및
문자열과 파일경로를 키와 값의 관계로 맵핑하고 문자열을 기준으로 정렬한 키워드파일을 저장하는 단계;를 포함하는 것을 특징으로 하는 대용량 문서의 관리 방법.A method for managing a large capacity document by a document management apparatus including a master node and a plurality of local nodes,
Storing at least one electronic document;
Storing a work file in which texts of a plurality of electronic documents are collected as one unit in a distributed file system in which a storage space of a plurality of local nodes physically separated is implemented as one file system;
Distributing a process of extracting a character string from the text of the work file through the plurality of local nodes; And
Storing a keyword file including a mapping relationship between a file path and a character string of an electronic document to which a character string belongs;
Wherein the step of storing the keyword file comprises:
Extracting a character string from texts of a plurality of electronic documents stored in the job file, removing redundancy of the extracted character string, and determining a file path of the electronic document to which the character string belongs; And
Mapping a string and a file path to each other in a key-value relationship, and storing a keyword file sorted based on a character string.
전자문서의 텍스트로부터 문자열을 추출하는 단계;
분류별로 적어도 하나 이상의 단어가 맵핑된 분류테이블을 참조하여, 상기 문자열이 속한 분류를 파악하는 단계; 및
전자문서의 분류정보를 저장하는 단계;를 포함하는 것을 특징으로 하는 대용량 문서의 관리 방법.The method of claim 1, wherein storing the electronic document comprises:
Extracting a character string from the text of the electronic document;
Recognizing a classification to which the character string belongs by referring to a classification table to which at least one word is mapped according to the classification; And
And storing classification information of the electronic document.
사용자 단말로부터 검색키워드 및 검색분류를 수신하는 단계;
상기 키워드파일을 참조하여 상기 검색키워드에 해당하는 문자열을 파악하고, 파악한 문자열과 맵핑된 적어도 하나 이상의 파일경로를 파악하는 단계; 및
파악된 파일경로에 저장된 전자문서 중 상기 검색분류를 만족하는 전자문서를 검색하여 제공하는 단계;를 포함하는 것을 특징으로 하는 대용량 문서의 관리 방법.3. The method of claim 2,
Receiving a search keyword and a search classification from a user terminal;
Identifying a character string corresponding to the search keyword by referring to the keyword file, and determining at least one or more file paths mapped to the character string; And
And searching and providing an electronic document satisfying the search classification among the electronic documents stored in the identified file path.
상기 작업파일의 텍스트에 대한 형태소 분석 또는 띄어쓰기 단위를 기초로 문자열을 추출하는 단계;를 포함하는 것을 특징으로 하는 대용량 문서의 관리 방법.The method as claimed in claim 1,
And extracting a character string based on morpheme analysis or spacing unit for the text of the work file.
상기 복수의 지역노드의 저장공간을 하나의 파일시스템으로 관리하고 데이터를 블록단위로 분할하여 상기 파일시스템에 저장하는 마스터노드;를 포함하고,
상기 마스터노드는 복수의 전자문서의 텍스트를 하나로 모은 작업파일 및 문자열과 파일경로의 맵핑관계를 포함하는 키워드파일을 상기 파일시스템에 저장하고,
상기 복수의 지역노드는 각자의 저장공간에 저장된 상기 작업파일의 일부로부터 문자열을 추출하는 과정을 수행하고, 추출한 문자열이 속한 전자문서의 파일경로를 상기 키워드파일에 저장하고,
상기 복수의 지역노드는, 상기 작업파일로부터 문자열을 추출하고 추출한 문자열의 중복성을 제거한 후 문자열이 속한 전자문서의 파일경로를 파악하고, 문자열과 파일경로를 키와 값의 관계로 맵핑하고 문자열을 기준으로 정렬하여 상기 키워드파일에 저장하는 것을 특징으로 하는 대용량 문서의 관리 장치.A plurality of local nodes having physically separated self storage spaces; And
And a master node managing the storage spaces of the plurality of local nodes as one file system and dividing data into blocks and storing the divided data in the file system,
Wherein the master node stores a work file in which texts of a plurality of electronic documents are combined and a keyword file including a mapping relationship between a character string and a file path in the file system,
Wherein the plurality of local nodes extract a character string from a part of the job file stored in a storage space of the local node, store the file path of the electronic document to which the extracted character string belongs in the keyword file,
The plurality of local nodes extract a character string from the job file, remove the redundancy of the extracted character string, determine the file path of the electronic document to which the character string belongs, map the character string and the file path in relation to the key and value, And stores the keyword in the keyword file.
상기 복수의 지역노드는, 각자의 저장공간에 저장된 전자문서의 일부로부터 문자열을 추출하고,
상기 마스터노드는, 분류별로 적어도 하나 이상의 단어가 맵핑된 분류테이블을 참조하여 전자문서로부터 추출한 문자열이 속한 분류를 파악하고, 전자문서별 분류 정보를 저장하는 것을 특징으로 하는 대용량 문서의 관리 장치.The method according to claim 6,
The plurality of local nodes extract a character string from a part of the electronic document stored in the respective storage spaces,
Wherein the master node refers to a classification table in which at least one word is mapped according to classification, identifies a classification to which a character string extracted from the electronic document belongs, and stores classification information for each electronic document.
상기 마스터노드는, 사용자 단말로부터 검색키워드 및 검색분류를 수신하면 상기 키워드파일을 참조하여 상기 검색키워드에 해당하는 문자열의 적어도 하나 이상의 파일경로를 파악하고, 파악된 파일경로에 저장된 전자문서 중 상기 검색분류를 만족하는 전자문서를 상기 파일시스템에서 읽어 제공하는 것을 특징으로 하는 대용량 문서의 관리 장치.8. The method of claim 7,
The master node, when receiving a search keyword and a search classification from a user terminal, refers to the keyword file to identify at least one file path of a string corresponding to the search keyword, And the electronic document satisfying the classification is read and provided in the file system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170099080A KR101846347B1 (en) | 2017-08-04 | 2017-08-04 | Method and apparatus for managing massive documents |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170099080A KR101846347B1 (en) | 2017-08-04 | 2017-08-04 | Method and apparatus for managing massive documents |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101846347B1 true KR101846347B1 (en) | 2018-04-06 |
Family
ID=61973871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170099080A KR101846347B1 (en) | 2017-08-04 | 2017-08-04 | Method and apparatus for managing massive documents |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101846347B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200013298A (en) * | 2018-07-30 | 2020-02-07 | 주식회사 한글과컴퓨터 | Apparatus for managing document utilizing of morphological analysis and operating method thereof |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4557071B2 (en) | 2008-09-19 | 2010-10-06 | コニカミノルタビジネステクノロジーズ株式会社 | Image processing system and image data transfer method |
-
2017
- 2017-08-04 KR KR1020170099080A patent/KR101846347B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4557071B2 (en) | 2008-09-19 | 2010-10-06 | コニカミノルタビジネステクノロジーズ株式会社 | Image processing system and image data transfer method |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200013298A (en) * | 2018-07-30 | 2020-02-07 | 주식회사 한글과컴퓨터 | Apparatus for managing document utilizing of morphological analysis and operating method thereof |
KR102076548B1 (en) * | 2018-07-30 | 2020-02-12 | 주식회사 한글과컴퓨터 | Apparatus for managing document utilizing of morphological analysis and operating method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10783168B2 (en) | Systems and methods for probabilistic data classification | |
CN113190687B (en) | Knowledge graph determining method and device, computer equipment and storage medium | |
KR20130049111A (en) | Forensic index method and apparatus by distributed processing | |
KR102046692B1 (en) | Method and System for Entity summarization based on multilingual projected entity space | |
JP7103496B2 (en) | Related score calculation system, method and program | |
CN101529418A (en) | Systems and methods for acquiring analyzing mining data and information | |
CN115563313A (en) | Knowledge graph-based document book semantic retrieval system | |
CN107085568A (en) | A kind of text similarity method of discrimination and device | |
US20120239657A1 (en) | Category classification processing device and method | |
KR101846347B1 (en) | Method and apparatus for managing massive documents | |
CN111045994A (en) | KV database-based file classification retrieval method and system | |
CN113495945A (en) | Text search method, text search device and storage medium | |
KR101567861B1 (en) | Index-based data process system | |
CN108292307A (en) | With the quick operating prefix Burrow-Wheeler transformation to compressed data | |
KR100659370B1 (en) | Method for constructing a document database and method for searching information by matching thesaurus | |
KR100809751B1 (en) | System and method for making analysis of document | |
JP5374881B2 (en) | Information search system, information search method and program | |
Canalle et al. | A strategy for selecting relevant attributes for entity resolution in data integration systems | |
CN112214615A (en) | Policy document processing method and device based on knowledge graph and storage medium | |
JP2016062522A (en) | Database management system, database system, database management method, and database management program | |
KR20080061501A (en) | Web history archive system and method for web pages management | |
JP3855423B2 (en) | Data management apparatus and recording medium | |
Ajitha et al. | EFFECTIVE FEATURE EXTRACTION FOR DOCUMENT CLUSTERING TO ENHANCE SEARCH ENGINE USING XML. | |
KR101792332B1 (en) | Method and Device for Providing Multi Path Relation Information between Entities | |
CN109446397A (en) | A kind of data digging method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |