KR100838046B1 - System and Method for Searching Local Terminal for Removing Response Delay - Google Patents
System and Method for Searching Local Terminal for Removing Response Delay Download PDFInfo
- Publication number
- KR100838046B1 KR100838046B1 KR1020070057636A KR20070057636A KR100838046B1 KR 100838046 B1 KR100838046 B1 KR 100838046B1 KR 1020070057636 A KR1020070057636 A KR 1020070057636A KR 20070057636 A KR20070057636 A KR 20070057636A KR 100838046 B1 KR100838046 B1 KR 100838046B1
- Authority
- KR
- South Korea
- Prior art keywords
- file
- information
- preprocessing
- search
- local terminal
- Prior art date
Links
Images
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Human Computer Interaction (AREA)
Abstract
본 발명은 응답 지연 제거를 위한 로컬 단말기 검색 시스템 및 방법에 관한 것으로서, 본 발명의 시스템은 로컬 단말기에 저장된 파일들의 정보를 수집하고, 상기 수집된 파일 정보에 상응하는 파일이 복합구조 파일인지 여부를 판단하여, 복합구조 파일이 아닐 경우, 해당 파일을 필터링하는 필터부; 및 상기 필터부에서 수집한 상기 파일 정보에 상응하는 파일이 복합구조 파일일 경우, 해당 파일의 필터링에 필요한 정보를 추출 또는 생성하여 전처리 정보 세그먼트들을 생성하는 복합구조 파일 전처리부를 포함하되, 상기 필터부는 상기 전처리 정보 세그먼트들이 조합된 전처리 파일을 필터링하는 것을 특징으로 한다.
필터링, 검색, 지연
The present invention relates to a local terminal search system and method for removing a response delay. The system of the present invention collects information of files stored in a local terminal, and determines whether a file corresponding to the collected file information is a complex structure file. A filter unit for determining and filtering the file if the file is not a complex structure file; And a complex file preprocessing unit for generating preprocessing information segments by extracting or generating information necessary for filtering the file, when the file corresponding to the file information collected by the filter unit is a complex file. And filtering the preprocessing file in which the preprocessing information segments are combined.
Filter, search, delay
Description
도 1은 종래의 로컬 단말기 검색 시스템의 일례를 도시한 도면.1 is a diagram showing an example of a conventional local terminal search system.
도 2는 본 발명의 바람직한 일 실시예에 따른 응답 지연 제거를 위한 사용자의 로컬 단말기 검색 시스템의 구성을 도시한 도면.2 is a diagram illustrating a configuration of a user's local terminal search system for removing a response delay according to an exemplary embodiment of the present invention.
도 3은 본 발명의 바람직한 일 실시예에 따른 필터부의 구성을 도시한 블록도.Figure 3 is a block diagram showing the configuration of a filter unit according to an embodiment of the present invention.
도 4는 본 발명의 바람직한 일 실시예에 따른 복합구조 파일 전처리부의 구성을 도시한 블록도.Figure 4 is a block diagram showing the configuration of a composite file pre-processing unit according to an embodiment of the present invention.
도 5는 본 발명의 바람직한 일 실시예에 따른 스냅샷 데이터베이스에 저장되는 전처리 파일의 필드 구성을 도시한 도면.5 is a diagram illustrating a field configuration of a preprocessing file stored in a snapshot database according to an embodiment of the present invention.
도 6은 본 발명의 바람직한 일 실시예에 따른 응답 지연 제거를 위한 로컬 단말기 검색 방법의 전체적인 흐름을 도시한 도면.6 is a flowchart illustrating an overall flow of a method for searching a local terminal for removing a response delay according to an exemplary embodiment of the present invention.
도 7은 본 발명의 바람직한 일 실시예에 따른 복합구조 파일에 대한 전처리 과정을 도시한 순서도.Figure 7 is a flow chart illustrating a preprocessing process for a composite file according to an embodiment of the present invention.
도 8은 본 발명의 바람직한 일 실시예에 따른 스냅샷 데이터베이스에 저장된 전처리 파일을 필터부에서 처리하는 과정에 대한 순서도.8 is a flowchart illustrating a process of processing a preprocessing file stored in a snapshot database in a filter unit according to an exemplary embodiment of the present invention.
도 9는 본 발명의 바람직한 일 실시예에 따른 검색 요청 시 검색 결과가 제공되는 과정에 대한 순서도.9 is a flowchart illustrating a process of providing a search result when a search request is performed according to an exemplary embodiment of the present invention.
본 발명은 응답 지연 제거를 위한 로컬 단말기 검색 방법 및 시스템에 관한 것으로서, 더욱 상세하게는 로컬 단말기에 대한 검색 요청 시 필터링 및 색인 작업으로 인한 검색 응답 지연을 제거하기 위한 방법 및 시스템에 관한 것이다.The present invention relates to a local terminal search method and system for removing a response delay, and more particularly, to a method and system for removing a search response delay due to filtering and indexing operations in a search request for a local terminal.
인터넷을 이용한 검색 서비스는 주요한 정보 획득 수단이 되어가고 있다. 종래에 있어서, 검색 서비스는 사용자가 입력한 키워드에 매칭되는 웹문서를 검색하여 제공하는 방식으로 이루어졌다. 사용자의 로컬 단말기의 저장 공간이 증대되고 처리 능력이 향상됨에 따라 사용자의 로컬 단말기에 저장된 자료에 대해서도 검색이 필요성이 제기되었다.Search service using the Internet has become a major means of obtaining information. In the related art, a search service is performed by searching and providing a web document matching a keyword input by a user. As the storage space of the user's local terminal is increased and the processing power is improved, the search is also required for the data stored in the user's local terminal.
저장 공간이 증대되면서, 로컬 단말기에는 많은 수의 문서, 이미지 파일, 메일, 동영상 등이 저장되며, 사용자가 수많은 자료의 파일명 및 그 파일이 저장되어 있는 디렉토리를 기억하는 것은 사실상 불가능하다.As the storage space is increased, a large number of documents, image files, mails, videos, and the like are stored in a local terminal, and it is virtually impossible for a user to remember file names of a large number of materials and directories in which the files are stored.
현재, 운영 체재에서 제공하는 파일 찾기 기능 등을 이용하여 원하는 파일을 찾을 수도 있으나, 이러한 파일 찾기 기능은 파일명의 일부를 알고 있어야 하는 문제점이 있다. 예를 들어, 사용자가 '특허 검색 보고서'에 대한 문서 파일을 로컬 단말기에서 찾으려고 하는 경우, 사용자가 '특허', '검색', '보고서'와 같은 키워 드를 입력하더라도 파일명에 '특허', '검색', '보고서'가 포함되어 있지 않을 경우, 해당 파일을 찾을 수 없는 문제점이 있었다.Currently, a desired file may be found by using a file search function provided by an operating system, but such a file search function has a problem of knowing a part of a file name. For example, if a user tries to find a document file for a 'patent search report' on a local terminal, even if the user enters a keyword such as' patent ',' search ', or' report ', the' patent ',' There was a problem that the file could not be found if 'search' and 'report' were not included.
로컬 단말기의 저장된 파일을 보다 효율적으로 검색하기 위해, 데스크탑 검색 서비스가 소개되었다. 데스크탑 검색 서비스는 사용자가 데스크바, 툴바 또는 웹브라우저 창을 통하여 키워드를 입력하면 입력된 키워드와 관련된 로컬 단말기 내의 정보를 검색해주는 서비스이며, 로컬 단말기의 검색을 위해 로컬 단말기에 저장된 정보에 대한 필터링 및 색인 작업을 수행하여 인덱스 데이터베이스를 구축한다.In order to search the stored files of the local terminal more efficiently, a desktop search service has been introduced. Desktop search service is a service that searches the information in the local terminal related to the entered keyword when the user enters the keyword through the deskbar, toolbar, or web browser window. Perform indexing to build an index database.
도 1은 종래의 로컬 단말기 검색 시스템의 일례를 도시한 도면이다.1 is a diagram illustrating an example of a conventional local terminal search system.
도 1을 참조하면, 종래의 로컬 단말기 검색 시스템은 검색 인터페이스 프로그램(100), 검색 요청 처리부(102), 파일 수집부(104), 마스터 필터부(106), 검색/색인부(108), 슬레이브 필터부(110) 및 인덱스 데이터베이스(112)를 포함한다.Referring to FIG. 1, a conventional local terminal search system includes a
검색 인터페이스 프로그램(100)은 사용자의 검색 요청을 수신하고 검색 결과를 사용자에게 제공하는 기능을 한다.The
검색 요청 처리부(102)는 사용자가 입력한 키워드 정보를 포함하는 검색 요청 정보를 검색/색인부(108)에 전달한다. 또한, 검색 요청 처리부(102)는 검색/색인부(108)에서 생성하는 검색 결과를 미리 설정된 문서 형식으로 변환하여 검색 인터페이스 프로그램(100)에 제공한다.The
검색/색인부(108)는 검색 요청 처리부(102)로부터 검색 요청 정보를 수신하고, 검색 요청 정보에 포함된 검색 키워드 및 검색 카테고리 정보를 이용하여 로컬 단말기의 정보를 검색한다. 검색/색인부(108)는 인덱스 데이터베이스(112)에 저장 된 색인 정보를 이용하여 검색을 수행하고 검색 결과 정보를 출력하여 검색 요청 처리부(102)에 제공한다.The search /
파일 수집부(104)는 로컬 단말기에 저장된 파일 정보를 수집하는 기능을 하며, 파일 수집부(104)에 의해 수집된 파일은 마스터 필터부(106)에 제공된다. 마스터 필터부(104)는 수집된 파일의 경로명을 슬레이브 필터부(110)에게 제공하며, 필터링은 슬레이브 필터부(110)에 의해 수행된다.The
슬레이브 필터부(110)에서 필터링을 수행하고 이를 인덱스 데이터베이스(112)에 저장할 때까지 이미지 파일의 경우 1-2초, 오디오 파일의 경우 2-3초, 동영상 파일의 경우 5-8초 정도의 시간이 소요된다.1-2 seconds for an image file, 2-3 seconds for an audio file, 5-8 seconds for a video file until filtering is performed by the
파일의 필터링 및 이를 인덱스 데이터베이스(112)에 저장하는 작업은 한 세션이 완료될 때까지 원자적인 연산(atomic operation)으로 간주되기 때문에 사용자로부터 검색 요청이 들어오더라도 필터링 및 색인 작업이 완료될 때까지 쓰레드 잠금이 풀리지 않는다.Filtering files and storing them in the
따라서, 종래의 로컬 단말기에서의 검색 방법에 의하면, 최악의 경우 8초 이상 사용자가 대기하여야 하는 문제점이 있었으며, 슬레이브 필터부의 대기를 마스터 필터부의 주 프로세스의 주 쓰레드에서 수행하기 때문에 초기의 색인 작업 시 파일 수집이 늦어지거나 파일의 동적인 변경에 덜 기민해지는 문제점 역시 존재하였다.Therefore, according to the conventional local terminal search method, there is a problem that the user has to wait for 8 seconds or more in the worst case, and the initial indexing operation is performed because the standby of the slave filter unit is performed by the main thread of the main process of the master filter unit. There was also the problem of slow file collection or less agility in dynamic file changes.
상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 본 발명에서는 필터 링 및 색인 작업 도중에 사용자의 검색 요청이 있더라도 검색에 대한 응답 지연을 최소화할 수 있는 로컬 단말기 검색 시스템 및 방법을 제안하고자 한다.In order to solve the problems of the prior art as described above, the present invention proposes a local terminal search system and method that can minimize the response delay to the search even if the user's search request during the filtering and indexing operation.
본 발명의 다른 목적은 필터링 및 색인 과정에 오랜 시간이 소요되는 파일과 그렇지 않은 파일을 구분하여 필터링을 수행하는 로컬 단말기 검색 시스템 및 방법을 제안하는 것이다.Another object of the present invention is to propose a local terminal search system and method for performing filtering by dividing a file that takes a long time for filtering and indexing and a file that is not.
본 발명의 또 다른 목적은 필터링 및 색인 과정에 오랜 시간이 소요되는 파일에 대한 전처리 절차를 수행함으로써 필터링 시간을 최소화할 수 있는 사용자 단말기 검색 시스템 및 방법을 제안하는 것이다.It is still another object of the present invention to propose a user terminal search system and method capable of minimizing filtering time by performing a preprocessing procedure on a file that takes a long time for filtering and indexing.
상기한 바와 같은 목적을 달성하기 위하여 본 발명의 일 측면에 따르면, 로컬 단말기에 저장된 파일들의 정보를 수집하고, 상기 수집된 파일 정보에 상응하는 파일이 복합구조 파일인지 여부를 판단하여, 복합구조 파일이 아닐 경우, 해당 파일을 필터링하는 필터부; 및 상기 필터부에서 수집한 상기 파일 정보에 상응하는 파일이 복합구조 파일일 경우, 해당 파일의 필터링에 필요한 정보를 추출 또는 생성하여 전처리 정보 세그먼트들을 생성하는 복합구조 파일 전처리부를 포함하되, 상기 필터부는 상기 전처리 정보 세그먼트들이 조합된 전처리 파일을 필터링하는 것을 특징으로 하는 응답 지연 제거를 위한 로컬 단말기 검색 시스템이 제공된다. 상기 복합구조 파일은 동영상 파일 또는 오디오 파일을 포함할 수 있으며, 상기 필터부는 파일의 확장자 정보를 이용하여 복합구조 파일인지 여부를 판단한다.According to an aspect of the present invention to achieve the object as described above, by collecting the information of the files stored in the local terminal, and determines whether the file corresponding to the collected file information is a composite structure file, If not, the filter unit for filtering the file; And a complex file preprocessing unit for generating preprocessing information segments by extracting or generating information necessary for filtering the file, when the file corresponding to the file information collected by the filter unit is a complex file. There is provided a local terminal search system for response delay elimination, characterized in that the preprocessing file is combined with the preprocessing information segments. The complex structure file may include a video file or an audio file, and the filter unit determines whether the complex structure file is a file using extension information of the file.
상기 전처리 정보 세그먼트는 파일명 정보 세그먼트, 확장자 정보 세그먼트, 경로 정보 세그먼트, 용량 정보 세그먼트, 메타 정보 세그먼트 및 캡쳐 이미지 정보 세그먼트로 이루어진 그룹으로부터 선택된 하나 또는 이들의 조합을 포함할 수 있다.The preprocessing information segment may include one or a combination thereof selected from the group consisting of a file name information segment, an extension information segment, a path information segment, a capacity information segment, a meta information segment, and a captured image information segment.
상기 전처리 파일은 각 세그먼트 정보를 저장하는 필드를 구비하고, 각 필드는 가변 길이로 설정되며, 상기 전처리 필드의 헤더에는 각 필드의 시작 오프셋 정보가 저장된다.The preprocessing file includes fields for storing each segment information, each field is set to a variable length, and start offset information of each field is stored in a header of the preprocessing field.
상기 복합구조 파일 전처리부는, 상기 필터부로부터 제공되는 복합구조 파일 정보를 저장하는 큐; 상기 큐로부터 전처리를 수행할 복합구조 파일 정보를 추출하는 파일 추출 쓰레드; 및 상기 파일 추출 쓰레드로부터 제공받은 파일을 분석하여 필터링에 필요한 정보를 추출 또는 생성하고, 추출 또는 생성된 정보를 이용하여 전처리 정보 세그먼트를 생성하는 전처리 정보 세그먼트 생성부를 포함할 수 있다.The composite file preprocessing unit may include: a queue for storing composite structure file information provided from the filter unit; A file extraction thread for extracting complex structure file information to be preprocessed from the queue; And a preprocessing information segment generator configured to extract or generate information necessary for filtering by analyzing a file provided from the file extraction thread, and generate a preprocessing information segment using the extracted or generated information.
상기 전처리 정보 세그먼트 생성부는 미리 설정된 타임아웃 시간동안 전처리 정보 세그먼트를 생성하며, 미리 설정된 타임아웃 시간이 도과될 경우 전처리 프로세스를 종료한다.
상기 로컬 단말기 검색 시스템은, 검색 요청 정보가 수신되는 경우 상기 검색 요청 정보에 포함된 검색 키워드로 검색을 수행하여 상기 검색 결과 정보를 생성하고, 상기 로컬 단말기에 저장된 파일 정보에 대한 색인 작업을 수행하는 검색/색인부를 더 포함하거나, 검색 요청 정보를 수신하고, 상기 검색 요청 정보에 상응하는 검색 결과 정보를 검색 인터페이스 프로그램으로 제공하는 검색요청 처리부를 더 포함할 수 있다.
이때, 상기 검색/색인부는 상기 필터부에 의한 필터링 작업 또는 상기 검색/색인부에 의한 색인 작업이 진행 중인 경우, 필터링 작업 또는 색인 작업이 종료되면 검색을 수행하는 것을 특징으로 한다.
일 실시예에 있어서, 상기 필터부는, 상기 로컬 단말기에 저장된 파일에 대한 정보를 수집하고, 수집된 파일 정보에 상응하는 파일 중 복합구조 파일을 상기 복합구조 파일 전처리부에 제공하며, 수집된 파일 정보에 상응하는 파일 중 복합구조 파일이 아닌 파일과 상기 복합구조 파일에 대한 전처리 파일을 필터에 제공하는 파일 수집부; 및 상기 파일 수집부로부터 제공되는 상기 전처리 파일 및 상기 복합구조 파일이 아닌 파일을 필터링하는 필터를 포함한다.
상기 필터부는 상기 로컬 단말기가 유휴 시간 상태에 있는지 여부를 판단하는 유휴 시간 모니터링부를 더 포함하고, 상기 파일 수집부는 상기 로컬 단말기가 유휴 시간 상태인 경우 상기 로컬 단말기에 저장된 파일에 대한 정보를 수집하며, 상기 필터는 상기 로컬 단말기가 유휴 시간 상태인 경우 필터링 작업을 수행할 수 있다.
이때, 상기 유휴 시간 모니터링부는 상기 전처리 파일의 생성 여부를 판단하고, 상기 파일 수집부는 상기 유휴 시간 모니터링부에 의해 새로운 전처리 파일이 생성된 것으로 판단되는 경우, 상기 전처리 파일을 상기 필터로 제공하는 것을 특징으로 한다.
일 실시예에 있어서, 상기 복합구조 파일 전처리부는 미리 설정된 시간 동안 상기 전처리 정보 세그먼트 생성이 완료되지 않는 경우 상기 전처리 정보 세그먼트 생성을 종료하는 것을 특징으로 한다.
한편, 상기 필터부는 상기 복합구조 파일 전처리부에 의해 생성된 상기 전처리 정보 세그먼트를 조합하여 전처리 파일을 생성하고, 상기 전처리 파일을 스냅샷 데이터베이스에 저장할 수 있다.The preprocessing information segment generation unit generates a preprocessing information segment for a preset timeout time, and terminates the preprocessing process when the preset timeout time has elapsed.
When the search request information is received, the local terminal search system generates a search result information by performing a search using a search keyword included in the search request information, and performs indexing on file information stored in the local terminal. The apparatus may further include a search / index unit or a search request processor that receives search request information and provides search result information corresponding to the search request information to a search interface program.
In this case, when the filtering operation by the filter unit or the indexing operation by the search / index unit is in progress, the search / index unit performs a search when the filtering operation or indexing operation is completed.
In an embodiment, the filter unit collects information on a file stored in the local terminal, provides a complex structure file among files corresponding to the collected file information to the complex structure file preprocessor, and collects collected file information. A file collecting unit for providing a filter which is a file other than the compound structure file among the corresponding files and a preprocessing file for the compound structure file; And a filter for filtering files other than the preprocessing file and the complex structure file provided from the file collecting unit.
The filter unit may further include an idle time monitoring unit configured to determine whether the local terminal is in an idle time state, and the file collection unit collects information on a file stored in the local terminal when the local terminal is in an idle time state. The filter may perform a filtering operation when the local terminal is in an idle time state.
In this case, the idle time monitoring unit determines whether the preprocessing file is generated, and if it is determined that the new preprocessing file is generated by the idle time monitoring unit, the preprocessing file is provided to the filter. It is done.
The composite file preprocessing unit may end the generation of the preprocessing information segment when the preprocessing information segment generation is not completed for a preset time.
The filter unit may generate a preprocessing file by combining the preprocessing information segments generated by the complex file preprocessing unit, and store the preprocessing file in a snapshot database.
본 발명의 다른 측면에 따르면, 로컬 단말기 검색 요청 시 응답 지연 제거를 위한 필터링 프로그램이 유형적으로 구현되어 있으며, 전자 정보 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록 매체에 있어서, 로컬 단말기에 저장된 파일들의 정보를 수집하며, 수집된 파일 정보에 상응하는 파일이 복합구조 파일인지 여부를 판단하는 파일 수집 모듈-상기 복합구조 파일은 파일의 필터링에 미리 설정된 임계 시간 이상이 소요되는 파일임-; 상기 파일 수집 모듈에서 수집한 파일 정 보에 상응하는 파일이 복합구조 파일이 아닐 경우, 해당 파일에 대한 필터링을 수행하는 필터링 모듈; 상기 파일 수집 모듈에서 수집한 파일 정보에 상응하는 파일이 복합구조 파일일 경우, 해당 파일의 필터링에 필요한 정보를 추출하거나 생성하여 전처리 정보 세그먼트들을 생성하는 복합구조 파일 전처리 모듈을 포함하되, 상기 전처리 정보 세그먼트가 조합된 전처리 파일은 스냅샷 데이터베이스에 저장되며, 상기 필터링 모듈은 상기 스냅샷 데이터베이스에 저장된 전처리 파일에 대한 필터링을 수행하는 프로그램을 기록한 기록 매체가 제공된다.According to another aspect of the present invention, a filtering program for removing a response delay when a local terminal is requested to search is tangibly implemented, and in a recording medium recording a program that can be read by an electronic information processing apparatus, a file stored in a local terminal A file collection module for collecting information of the plurality of files, and determining whether a file corresponding to the collected file information is a complex structure file, wherein the complex structure file is a file that takes a predetermined time or more for filtering a file; A filtering module for performing filtering on the file if the file corresponding to the file information collected by the file collecting module is not a complex structure file; If the file corresponding to the file information collected by the file collection module is a complex structure file, the complex structure file preprocessing module for generating preprocessing information segments by extracting or generating information necessary for filtering the file, the preprocessing information The preprocessing file in which the segments are combined is stored in a snapshot database, and the filtering module is provided with a recording medium recording a program for performing filtering on the preprocessing file stored in the snapshot database.
본 발명의 또 다른 측면에 따르면, 로컬 단말기 검색 시의 응답 지연 제거를 위한 필터링 방법으로서, 상기 로컬 단말기에 저장된 파일 정보를 수집하는 단계(a); 상기 수집된 파일 정보에 상응하는 파일이 복합구조 파일인지 여부를 판단하는 단계(b) -상기 복합구조 파일은 파일의 필터링에 미리 설정된 임계 시간 이상이 소요되는 파일임-; 상기 수집된 파일 정보에 상응하는 파일이 복합구조 파일이 아닐 경우, 해당 파일에 대한 필터링을 수행하는 단계(c); 상기 수집된 파일 정보에 상응하는 파일이 복합구조 파일일 경우, 필터링에 필요한 정보를 추출하거나 생성하여 전처리 정보 세그먼트를 생성하는 단계(d); 상기 생성된 전처리 정보 세그먼트를 조합하여 전처리 파일을 생성하는 단계(e); 및 상기 생성된 전처리 파일을 스냅샷 데이터베이스에 저장하는 단계(f)를 포함하는 로컬 단말기 검색 시의 응답 지연 제거를 위한 필터링 방법이 제공된다.
본 발명의 여전히 다른 측면에 따른 응답 지연 제거를 위한 로컬 단말기 검색 방법은 로컬 단말기에서 수집된 파일 정보에 상응하는 파일이 복합구조 파일인지 여부를 판단하는 단계; 상기 파일이 복합구조 파일인 것으로 판단되는 경우, 상기 파일로부터 필터링에 필요한 정보를 추출 또는 생성하여 전처리 정보 세그먼트를 생성하는 단계; 상기 전처리 정보 세그먼트들을 조합하여 전처리 파일을 생성하는 단계; 및 상기 전처리 파일 또는 상기 복합구조 파일이 아닌 파일을 필터링하는 단계를 포함한다.
일 실시예에 있어서, 응답 지연 제거를 위한 로컬 단말기 검색 방법은, 상기 로컬 단말기에 저장된 파일 정보에 대한 색인 작업을 수행하는 단계; 및 검색 요청 정보가 수신되는 경우 상기 색인을 참조하여 상기 검색 요청 정보에 포함된 검색 키워드로 검색을 수행함으로써 검색 결과 정보를 생성하는 단계를 더 포함할 수 있다. 이때, 상기 필터링 단계 또는 상기 색인 작업 수행 단계가 진행 중인 경우, 상기 필터링 단계 또는 상기 색인 작업 수행 단계가 종료된 후 상기 검색을 수행하는 것을 특징으로 한다.According to another aspect of the present invention, a filtering method for removing a response delay when searching for a local terminal, the method comprising: collecting file information stored in the local terminal; (B) determining whether a file corresponding to the collected file information is a complex structure file, wherein the complex structure file is a file that takes a predetermined time or more for filtering a file; (C) performing filtering on the file if the file corresponding to the collected file information is not a complex structure file; (D) generating a preprocessing information segment by extracting or generating information necessary for filtering when a file corresponding to the collected file information is a complex structure file; (E) generating a preprocessing file by combining the generated preprocessing information segments; And (f) storing the generated preprocessing file in a snapshot database.
According to still another aspect of the present invention, there is provided a method for retrieving a local terminal for response delay elimination. If it is determined that the file is a complex structure file, extracting or generating information necessary for filtering from the file to generate a preprocessing information segment; Generating a preprocessing file by combining the preprocessing information segments; And filtering files other than the preprocessing file or the composite file.
In one embodiment, a method for searching a local terminal for removing a response delay may include: indexing file information stored in the local terminal; And when the search request information is received, generating search result information by performing a search with a search keyword included in the search request information with reference to the index. In this case, when the filtering step or the indexing step is in progress, the search is performed after the filtering step or the indexing step is completed.
이하에서는 첨부된 도면을 참조하여 본 발명에 의한 응답 지연 제거를 위한 사용자 단말기 검색 시스템 및 방법의 바람직한 실시예를 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the user terminal search system and method for removing the response delay according to the present invention.
도 2는 본 발명의 일 실시예에 따른 응답 지연 제거를 위한 로컬 단말기 검색 시스템의 구성을 도시한 도면이다.2 is a diagram illustrating a configuration of a local terminal search system for removing a response delay according to an embodiment of the present invention.
도 2를 참조하면, 본 발명의 일 실시예에 따른 응답 지연 제거를 위한 로컬 단말기 검색 시스템은 검색 요청 처리부(200), 필터부(202), 복합구조 파일 전처리부(204), 검색/색인부(206), 스냅샷 데이터베이스(208), 인덱스 데이터베이스(210)를 포함할 수 있으며, 로컬 단말기 검색 시스템은 검색 인터페이스 프로그램(212)과 연동한다.Referring to FIG. 2, a local terminal search system for removing a response delay according to an embodiment of the present invention includes a
검색 인터페이스 프로그램(212)은 사용자의 검색 요청을 수신하고 검색 결과를 사용자에게 제공하는 기능을 한다. 검색 인터페이스 프로그램은 로컬 단말기에서의 검색을 수행하기 위해 별도로 만들어진 전용 프로그램일 수도 있으며, 웹브라우저와 같이 로컬 단말기에 이미 설치된 프로그램을 검색 인터페이스 프로그램으로 이용할 수도 있다.The
검색 인터페이스 프로그램(212)은 사용자가 검색 키워드를 입력할 수 있는 입력 인터페이스를 제공하며, 검색 결과를 미리 설정된 문서 형식으로 사용자에게 제공한다.The
검색 인터페이스 프로그램(212)으로 웹브라우저가 사용될 경우, 웹브라우저는 사용자가 키워드를 입력할 수 있는 인터페이스를 웹브라우저상에 디스플레이하며, 검색 키워드에 상응하는 검색 결과를 HTML(Hyper Text Markup Language) 문서 형태로 출력하여 사용자에게 제공한다.When a web browser is used as the
검색 인터페이스 프로그램(212)은 입력된 키워드 정보를 포함하는 검색 요청 정보를 생성하여 검색 요청 처리부(200)에 제공한다. 사용자는 문서, 이미지, 웹문서, 동영상과 같은 검색 카테고리를 검색 키워드와 같이 지정할 수 있으며, 이 경우 검색 요청 정보에는 검색 카테고리 정보가 더 포함될 수 있다.The
검색 요청 처리부(200)는 사용자가 입력한 키워드 정보를 포함하는 검색 요청 정보를 검색/색인부(206)에 전달한다. 검색 요청 처리부(200)는 상기 검색 요청 정보를 미리 설정된 형식으로 변환할 수 있다. 예를 들어, 검색 요청 처리부(200)는 상기 검색 요청 정보를 검색/색인부(206)가 인덱스 데이터베이스(210)에서 검색 결과를 추출하기 위한 쿼리 형태로 변환하는 작업을 수행할 수 있다.The search
또한, 검색 요청 처리부(200)는 검색/색인부(206)에서 생성하는 검색 결과를 미리 설정된 문서 형식으로 변환하여 검색 인터페이스 프로그램(212)에 제공한다.In addition, the search
일 실시예에 있어서, 검색 인터페이스 프로그램(212)이 웹브라우저일 경우, 검색 요청 처리부(200)는 로컬 단말기에 설치되는 웹서버 모듈일 수 있다. 검색 인터페이스 프로그램(212)이 웹브라우저인 경우, 로컬 단말기에 설치된 웹서버 모듈은 HTTP 프로토콜을 통해 웹브라우저로부터 검색 요청 정보를 수신하고, 검색 결과를 웹브라우저에 제공한다. 또한, 이 경우, 로컬 단말기에 설치된 웹서버 모듈은 검색/색인부(206)로부터 제공되는 검색 결과 정보를 HTML 형식의 웹문서로 변환하여 검색 인터페이스 프로그램(212)에 제공한다.In one embodiment, when the
검색/색인부(206)는 검색 요청 처리부(200)로부터 검색 요청 정보를 수신하고, 검색 요청 정보에 포함된 검색 키워드 및 검색 카테고리 정보를 이용하여 로컬 단말기의 정보를 검색한다. 검색/색인부(206)는 인덱스 데이터베이스(210)에 저장된 색인 정보를 이용하여 검색을 수행하고 검색 결과 정보를 출력하여 검색 요청 처리부(200)에 제공한다.The search /
또한, 검색/색인부(150)는 필터부(202)에서 제공하는 정보를 이용하여 로컬 단말기에 저장된 정보에 대한 색인 작업을 수행하고 색인 정보를 인덱스 데이터베이스(210)에 저장한다.In addition, the search / index unit 150 indexes the information stored in the local terminal using the information provided by the
필터부(202)는 로컬 단말기에 저장된 파일들을 검색하고 로컬 단말기에 저장된 파일들의 색인을 위한 필터링 작업을 수행한다. 필터링 작업은 로컬 단말기에 저장된 파일들로부터 색인 정보로 활용될 정보들을 추출하는 작업을 의미한다. 필터부(202)는 파일의 종류에 따라 미리 설정된 필터링 작업을 수행하며, 파일의 확장자 정보를 이용하여 파일의 종류를 구분한다.The
예를 들어, 필터링되는 파일이 문서 파일일 경우, 필터부(202)는 문서 파일의 파일명, 확장자, 경로, 용량, 날짜 등의 정보와 문서 내용의 일부 또는 전부를 추출하는 작업을 수행한다.For example, when the file to be filtered is a document file, the
다른 예로, 필터링되는 파일이 이미지 파일일 경우, 필터부(202)는 이미지 파일의 파일명, 확장자, 경로, 용량, 날짜 및 태그 등의 정보를 추출하고 이미지의 썸네일(thumbnail) 정보를 생성한다.As another example, when the file to be filtered is an image file, the
또 다른 예로, 필터링되는 파일이 동영상 파일일 경우, 필터부(202)는 동영상 파일의 파일명, 확장자, 경로, 용량, 날짜 및 태그 등의 정보를 추출하고 동영상 파일의 캡쳐 이미지를 생성하는 기능을 수행한다.As another example, when the file to be filtered is a video file, the
본 발명의 일 실시예에 따른 필터부(202)는 필터링 작업이 수행되는 동안 수 신되는 검색 요청의 처리에 대해 발생되는 지연 시간을 최소화하기 위해 파일의 종류에 따라 미리 설정된 필터링 작업을 수행할 수 있다. 즉, 동영상 파일과 같이 필터링에 많은 시간이 소요되는 파일의 경우 미리 처리하기 쉬운 형태로 변환한 후, 변환된 파일에 대해서 필터부(202)가 필터링을 수행함으로써 필터링에 소요되는 시간을 감소시키는 것이다. 이때 파일이 종류는 파일의 확장자 정보를 이용하여 구분할 수 있다.The
구체적으로, 필터부(202)는 필터링 대상이 되는 파일이 문서 파일과 같이 필터링 시간이 짧게 소요되는 파일인지 또는 동영상 파일과 같이 필터링 시간이 길게 소요되는 파일(이하, '복합구조 파일'이라 함)인지 여부를 판단하고, 복합구조 파일일 경우 복합구조 파일 전처리부(204)에 복합구조 파일을 제공하여 해당 파일에 대한 전처리 작업을 수행하도록 한다. 이때, 필터부(202)와 복합구조 파일 전처리부(204)는 별개의 쓰레드(Thread)로 동작한다.In detail, the
이후, 필터부(202)에 의해 필터링된 정보는 검색/색인부(206)로 제공되며, 검색/색인부(206)는 필터링된 정보에 대한 색인 작업을 수행하여 인덱스 데이터베이스(210)에 저장한다.Thereafter, the information filtered by the
복합구조 파일 전처리부(204)는 동영상 파일과 같은 복합구조 파일이 필터부(202)에서 짧은 시간 안에 필터링될 수 있도록 복합구조 파일에 대한 전처리 작업을 수행하며, 이는 필터링에 필요한 정보를 미리 추출 또는 생성하는 것을 의미한다.The
예를 들어, 확장자가 avi인 동영상 파일이 필터부(202)로부터 제공될 경우, 복합구조 파일 전처리부(204)는 avi 파일의 파일명, 확장자, 경로, 용량, 날짜 및 태그 등의 정보를 추출한다. 또한, 복합구조 파일 전처리부(204)는 avi 파일을 미리 설정된 동영상 플레이어(예를 들어, 윈도우 미디어 플레이어)를 통해 오픈하여 avi 파일의 캡쳐 이미지를 생성한다.For example, when a video file having an extension of avi is provided from the
복합구조 파일 전처리부(204)에 의해 추출 또는 생성된 정보는 필터부(202)에 제공되고 필터부(202)는 이를 스냅샷 데이터베이스(208)에 저장한다. 본 발명의 다른 실시예에 따르면, 복합구조 파일 전처리부(204)가 전처리 작업을 통해 추출 또는 생성한 정보를 스냅샷 데이터베이스(208)에 직접 저장할 수도 있을 것이다.The information extracted or generated by the
이후 필터부(202)는 로컬 단말기의 프로세서가 여유가 있는 시간에 스냅샷 데이터베이스(208)에 저장된 정보를 이용하여 복합구조 파일의 최종적인 필터링을 수행한다. 스냅샷 데이터베이스(208)에는 복합구조 파일의 필터링 시 많은 시간이 소요되는 정보가 이미 처리되어 저장되어 있으므로 필터부(202)는 저장된 정보를 이용하여 빠른 시간 내에 필터링을 수행할 수 있다.Thereafter, the
따라서, 상술한 본 발명의 바람직한 실시예에 따르면, 필터부(202)는 항상 필터링 처리에 시간이 짧게 소요되는 파일만을 처리하게 되며, 필터링 시 사용자로부터 검색 요청이 수신되더라도 종래와 같이 필터링으로 인해 검색 요청에 대한 응답이 지연될 염려가 없다.Therefore, according to the above-described preferred embodiment of the present invention, the
도 3은 본 발명의 바람직한 일 실시예에 따른 필터부의 구성을 도시한 블록도이다.3 is a block diagram illustrating a configuration of a filter unit according to an exemplary embodiment of the present invention.
도 3을 참조하면, 본 발명의 일 실시예에 따른 필터부는 파일 수집부(300), 유휴 시간 모니터링부(302), 필터(304)를 포함할 수 있다.Referring to FIG. 3, the filter unit according to an embodiment of the present invention may include a
유휴 시간 모니터링부(302)는 로컬 단말기의 유휴 시간을 모니터링한다. 로컬 단말기에서 색인을 위한 필터링은 로컬 단말기가 필터링 처리에 부담이 가지 않는 시간대에 수행되는 것이 바람직하며, 유휴 시간 모니터링부(302)는 로컬 단말기가 필터링 처리에 부담이 가지 않는 시간인지 여부를 모니터링하는 기능을 한다.Idle
본 발명의 일 실시예에 따르면, 유휴 시간은 로컬 단말기의 CPU의 사용률이 미리 설정된 레벨 이하인 시간일 수 있다. CPU 사용률뿐만 아니라 메모리 사용률, 입력 장치 및 드라이브 사용률도 유휴 시간인지 여부를 판단하는데 필요한 파라미터로 활용될 수도 있을 것이다.According to an embodiment of the present invention, the idle time may be a time when the utilization rate of the CPU of the local terminal is less than or equal to a preset level. In addition to CPU utilization, memory utilization, input device and drive utilization may also be used as parameters for determining whether it is idle.
유휴 시간 모니터링부(302)는 로컬 단말기의 CPU 사용률, 메모리 사용률 등을 모니터링하여 유휴 시간인지 여부를 판단하고 유휴 시간이 미리 설정된 임계치 이상 지속될 경우 파일 수집부(300)에 필터링 개시 제어 정보를 제공할 수 있다. 예를 들어, 유휴 시간이 15초 이상 지속되는 경우, 유휴 시간 모니터링부(302)는 파일 수집부(300)에 필터링 개시 제어 정보를 제공할 수 있다.The idle
파일 수집부(300)는 로컬 단말기에 저장된 파일들 중 필터링을 수행할 파일들을 수집하는 기능을 한다. 또한, 파일 수집부는 파일 수집을 위해 로컬 단말기에 저장되는 파일에 변화가 발생할 경우(예를 들어, 새로운 파일의 저장 및 파일의 삭제), 파일 변화 이벤트를 감지하는 기능 역시 수행할 수 있다. 예를 들어, 파일 수집부(300)는 새로운 동영상 파일이 저장될 경우, 새로운 동영상 파일이 저장되었다는 이벤트를 감지한다.The
파일 수집부(300)에 의해 수집되는 파일은 문서 파일, 이미지 파일, 동영상 파일, 메일, 메신저 대화 텍스트 파일 및 스냅샷 데이터베이스에 저장된 정보를 포함할 수 있다.The file collected by the
본 발명의 일 실시예에 따르면, 파일 수집부(300)는 각 파일의 확장자 정보를 이용하여 필터링을 위해 수집할 파일을 판단할 수 있다. 예를 들어, 확장자가 doc인 파일은 문서 파일로서 수집 대상 파일이라고 판단하고, 확장자가 tmp인 파일은 수집 대상 파일이 아니라고 판단한다.According to an embodiment of the present invention, the
파일 수집부(300)는 수집된 파일이 복합구조 파일인지 여부를 판단하고, 복합구조 파일일 경우 복합구조 파일 정보를 복합구조 파일 전처리부(204)에 제공하고, 복합구조 파일이 아닌 경우 수집된 파일 정보를 필터(304)에 제공한다. 여기서 파일 정보는 파일의 경로 정보일 수 있다. 또한, 파일 수집부(300)는 스냅샷 데이터베이스에 저장된 정보 역시 수집하며, 스냅샷 데이터베이스에 저장된 정보는 필터(304)에 제공한다.The
로컬 단말기 검색을 위한 프로그램이 설치된 직후에는 필터링 및 색인된 파일 정보가 인덱스 데이터베이스(210)에 저장되지 않기 때문에, 파일 수집부(300)는 유휴 시간마다 로컬 단말기의 파일들을 검색하여 색인을 위한 파일 정보를 필터(304) 또는 복합구조 파일 전처리부(204)에 제공한다.Since the filtered and indexed file information is not stored in the
필터(304)는 파일 수집부(300)로부터 제공되는 파일 정보에 상응하는 파일에 대한 필터링을 수행한다. 전술한 바와 같이, 파일의 필터링은 파일의 종류(문서 파일, 이미지 파일 등)에 따라 다른 방식으로 수행된다. 종래와 달리, 필터(304)로는 복합구조 파일이 아닌 필터링에 소요되는 시간이 적은 파일(예를 들어, 문서 파일, 스냅샷 데이터베이스에 저장된 정보)만이 제공되며, 따라서, 필터(304)는 파일의 필터링에 긴 시간을 소요하지 않는다. 필터(304)에 의해 필터링된 데이터는 검색/색인부(206)에 제공된다.The
본 발명의 일 실시예에 따르면, 필터(304)는 복합구조 파일 전처리부(204)에 의해 처리된 데이터를 스냅샷 데이터베이스 저장하는 기능을 수행할 수도 있으며, 전술한 바와 같이 이와 같은 동작은 복합구조 파일 전처리부(204)에 의해 수행될 수도 있다.According to an embodiment of the present invention, the
도 4는 본 발명의 바람직한 일 실시예에 따른 복합구조 파일 전처리부의 구성을 도시한 블록도이다.4 is a block diagram illustrating a configuration of a composite file preprocessing unit according to an exemplary embodiment of the present invention.
도 4를 참조하면, 복합구조 파일 전처리부(204)는 큐(400), 파일 추출 쓰레드(402), 전처리 정보 세그먼트(Segment) 생성부(404)를 포함할 수 있다.Referring to FIG. 4, the
큐(400)에는 필터부(202)의 파일 수집부(300)로부터 제공되는 파일 정보가 저장된다. 전술한 바와 같이, 파일 정보는 파일의 경로 정보를 포함하며, 필요에 따라 파일 타입, 용량 등의 정보가 추가적으로 저장될 수 있다.The
일반적인 큐와 마찬가지로, 파일 전처리부의 큐(400)는 필터부(202)의 파일 수집부(300)로부터 제공되는 정보를 FIFO(First Input First Output) 방식으로 저장 및 출력한다.Like the general queue, the
파일 추출 쓰레드(402)는 큐(400)에 저장된 파일 정보를 추출하여 파일 정보에 상응하는 파일에 대한 전처리를 수행하도록 전처리 정보 세그먼트 생성부(404) 에 요청하는 기능을 한다. 파일 추출 쓰레드(402)는 필터부(202)의 필터링 쓰레드와는 별개의 쓰레드이며, 파일 정보의 추출 및 이에 대한 전처리 작업은 별개로 이루어진다.The file extraction thread 402 functions to extract the file information stored in the
전처리 정보 세그먼트(Segment) 생성부(404)는 필터링 전처리 작업을 수행하며, 구체적으로, 파일 추출 쓰레드(402)로부터 제공되는 파일 정보에 상응하는 파일에 대해 필터링에 앞서 필터링에 필요한 정보 세그먼트들을 생성하는 기능을 수행한다.The preprocessing information segment generation unit 404 performs a filtering preprocessing operation. Specifically, the preprocessing information segment generation unit 404 generates information segments necessary for filtering before filtering the file corresponding to the file information provided from the file extraction thread 402. Perform the function.
예를 들어, 전처리를 수행할 파일이 동영상 파일일 경우, 전처리 정보 세그먼트 생성부(404)는 동영상 파일의 파일명 정보 세그먼트, 확장자 정보 세그먼트, 경로 정보 세그먼트, 용량 정보 세그먼트, 메타 정보 세그먼트 및 캡쳐 이미지 정보 세그먼트를 생성한다.For example, when the file to be preprocessed is a video file, the preprocessing information segment generator 404 may include the file name information segment, the extension information segment, the path information segment, the capacity information segment, the meta information segment, and the captured image information of the video file. Create a segment.
파일명 정보 세그먼트, 확장자 정보 세그먼트, 경로 정보 세그먼트 및 용량 정보 세그먼트는 해당 동영상 파일의 파일 정보를 참조하여 생성할 수 있을 것이다.The file name information segment, extension information segment, path information segment, and capacity information segment may be generated by referring to file information of the corresponding video file.
메타 정보 세그먼트는 해당 동영상 파일의 태그 정보를 분석하여 생성할 수 있을 것이며, 캡쳐 이미지 정보 세그먼트는 해당 동영상 파일을 미리 설정된 동영상 플레이어(예를 들어, 윈도우 미디어 플레이어)를 실행하여 오픈한 후 재생되는 동영상 중 일부를 캡쳐하여 생성될 수 있을 것이다.The meta information segment may be generated by analyzing tag information of the corresponding video file, and the captured image information segment may be played after the corresponding video file is opened by opening a preset video player (for example, a Windows media player). It can be generated by capturing some of them.
전처리 정보 세그먼트 생성부(404)에 의해 생성되는 각각의 정보 세그먼트들은 조합되어 스냅샷 데이터베이스(208)에 저장된다. 전술한 바와 같이, 필터부의 필터(300)가 전처리 정보 세그먼트들을 조합하여 스냅샷 데이터베이스(208)에 저장할 수도 있으며, 복합구조 파일 전처리부의 전처리 정보 세그먼트 생성부(404)가 직접 전처리 정보 세그먼트들을 조합한 후 스냅샷 데이터베이스에 저장할 수도 있다. 스냅샷 데이터베이스(208)에 저장된 정보 세그먼트들의 조합은 필터부(202)의 파일 수집부(300)에 의해 수집되어 필터(304)에 제공되며, 필터가 최종적인 필터링을 수행한다.Each information segment generated by the preprocessing information segment generator 404 is combined and stored in the
본 발명의 바람직한 실시예에 따르면, 손상된 파일에 대한 계속적인 처리를 수행하는 오류를 방지하기 위해, 전처리 정보 세그먼트 생성부(404)는 미리 설정된 타임아웃 시간동안만 파일에 대한 전처리 절차를 수행한다. 예를 들어, 동영상 파일에 대한 타임아웃 시간을 12초로 설정하고, 12초동안 처리가 되지 않을 경우에는 손상된 파일로 간주하고 전처리 절차를 수행하지 않는다.According to a preferred embodiment of the present invention, the preprocessing information segment generation unit 404 performs a preprocessing procedure on the file only for a preset timeout time, in order to prevent an error in performing the continuous processing on the damaged file. For example, if the timeout time is set to 12 seconds for a video file, and it is not processed for 12 seconds, it is regarded as a damaged file and the preprocessing procedure is not performed.
도 5는 도 4에 도시된 복합구조 파일 전처리부에 의해 전처리된 후 스냅샷 데이터베이스에 저장된 전처리 파일의 필드 구성을 도시한 도면이다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 전처리 파일은 헤더(500), 파일 경로(502), 파일명(504), 날짜(506), 메타 정보(508), 텍스트(510) 및 썸네일(512)을 포함할 수 있다.FIG. 5 is a diagram illustrating a field configuration of a preprocessing file stored in a snapshot database after being preprocessed by the composite file preprocessor shown in FIG. 4. As shown, the preprocessing file according to an embodiment of the present invention includes a
일 실시예에 있어서, 스냅샷 데이터베이스(208)에 저장된 전처리 파일의 필드 구성 중, 파일 경로(502), 파일명(504), 날짜(506), 메타 정보(508), 텍스트(510) 및 썸네일(512)은 가변 길이로 설정된다. 각 필드가 가변 길이로 설정되므로, 헤더(600)에는 전처리 파일임을 식별하기 위한 정보뿐만 아니라 각 필드의 시 작 주소를 알리는 오프셋 정보가 함께 저장된다.In one embodiment, the
도 6은 본 발명의 바람직한 일 실시예에 따른 응답 지연 제거를 위한 로컬 단말기 검색 방법의 전체적인 흐름을 도시한 도면이다.6 is a view showing the overall flow of the local terminal search method for removing the response delay according to an embodiment of the present invention.
도 6을 참조하면, 필터부(202)의 파일 수집부(300)는 로컬 단말기에서 필터링 대상이 되는 파일 정보를 수집한다(단계 S600). 로컬 단말기에 로컬 단말기 검색을 위한 프로그램이 설치된 직후인 경우에는 필터링 및 색인된 파일 정보가 인덱스 데이터베이스(210)에 저장되지 않기 때문에, 파일 수집부(300)는 유휴 시간마다 로컬 단말기의 파일들을 검색하여 색인을 위한 파일 정보를 수집한다. 로컬 단말기의 파일들에 대한 색인 작업이 일정 수준 이루어진 경우에는 파일 수집부(300)는 새롭게 저장, 변경되는 파일을 모니터링하여 해당 파일 정보를 수집한다.Referring to FIG. 6, the
파일 정보가 수집된 후, 필터부(202)의 파일 수집부(300)는 수집된 파일 정보에 상응하는 파일이 필터링에 오랜 시간이 소요되는 복합구조 파일인지 여부를 판단한다(단계 S602). 전술한 바와 같이, 파일 수집부(300)는 파일의 확장자 정보를 이용하여 복합구조 파일인지 여부를 판단할 수 있을 것이다.After the file information is collected, the
복합구조 파일이 아닐 경우, 파일 수집부(300)는 수집된 파일 정보를 필터부의 필터(304)에 제공하고, 필터(304)는 파일 정보에 상응하는 파일에 대한 필터링 작업을 수행한다(단계 S604).If the file is not a complex structure file, the
복합구조 파일일 경우, 파일 수집부(300)는 수집된 파일 정보를 복합구조 파일 전처리부(204)에 제공하며, 복합구조 파일 전처리부(204)는 파일 정보에 상응하는 파일에 대한 전처리 정보 세그먼트를 생성하는 전처리 작업을 수행한다(단계 S606).In the case of a composite file, the
복합구조 파일 전처리부에 의해 생성된 전처리 정보 세그먼트들은 스냅샷 데이터베이스(208)에 저장된다(단계 S608).The preprocessing information segments generated by the composite file preprocessor are stored in the snapshot database 208 (step S608).
상술한 필터링 과정과는 독립적으로 검색 인터페이스 프로그램(212)은 사용자로부터 검색 요청 정보를 수신한다(단계 S610). 검색 요청 정보가 수신된 경우, 검색/색인부(206)는 필터부(202)의 필터링 및 검색/색인부(206)의 색인 과정이 수행되고 있는 상황인지 여부를 판단하고 필터링 또는 색인 과정이 수행되는 도중인 경우에는 필터링 또는 색인 과정이 종료될 때까지 대기한 후 검색을 수행한다(단계 S612).Independently of the above-described filtering process, the
필터부(202)의 필터링은 처리에 오랜 시간이 소요되지 않는 파일 또는 복합구조 파일 전처리부에 의해 전처리된 파일에 대해서만 필터링을 수행하므로 필터링 및 색인을 위한 처리 시간은 1-2초 내이며, 종래와 같이 오랜 시간을 대기한 후 검색 요청을 처리할 필요가 없다.Since the filtering of the
도 7은 본 발명의 바람직한 일 실시예에 따른 복합구조 파일에 대한 전처리 과정을 도시한 순서도이다. 도시된 바와 같이 먼저, 필터링 대상 파일이 복합구조 파일인지 여부를 판단하여(단계 S700), 복합구조 파일이 아닌 경우, 해당 파일의 파일 정보(경로 정보를 포함함)가 필터부(202)의 필터(304)에 제공되어, 필터(304)가 필터링을 수행하게 된다(단계 S702).7 is a flowchart illustrating a preprocessing process for a composite file according to an embodiment of the present invention. As shown, first, it is determined whether the file to be filtered is a composite structure file (step S700), and if it is not a composite structure file, the file information (including path information) of the file is filtered by the
복합구조 파일인 경우, 해당 파일의 파일 정보(경로 정보를 포함함)를 복합구조 파일 전처리부(204)에 제공하여 복합구조 파일 전처리부(204)의 큐(400)에 저 장한다(단계 S704).In the case of a composite file, the file information (including path information) of the file is provided to the
이후 복합구조 파일 전처리부(204)의 파일 추출 쓰레드(402)가 큐(400)에 저장된 파일 정보를 추출한 후 전처리 정보 세그먼트 생성부(404)에 제공하여 큐(400)에 저장된 파일 정보에 상응하는 파일의 전처리를 요청하면, 복합구조 파일 전처리부(204)의 전처리 정보 세그먼트 생성부(404)는 파일의 전처리 절차를 수행하여 전처리 정보 세그먼트들을 생성한다(단계S706). 전술한 바와 같이, 전처리된 정보 세그먼트는 파일명 정보 세그먼트, 확장자 정보 세그먼트, 경로 정보 세그먼트, 용량 정보 세그먼트, 메타 정보 세그먼트 및 스냅샷 정보 세그먼트(이미지 파일의 경우, 썸네일 정보 세그먼트)를 포함할 수 있다.Thereafter, the file extraction thread 402 of the complex
손상된 파일에 대한 전처리가 계속적으로 수행되는 것을 방지하기 위해, 파일의 전처리는 미리 설정된 시간 동안만 수행되도록 할 수 있다. 즉, 파일의 전처리 작업이 미리 설정된 타임 아웃시간 내에 수행되었는지 여부를 판단하여(단계 S708), 미리 설정된 타임아웃 시간 동안 파일의 전처리가 완료되지 않을 경우, 파일 전처리 프로세스는 종료한다(단계 S710). 전처리 타임아웃 시간은 파일의 종류에 따라 다르게 설정될 수 있을 것이다.In order to prevent the preprocessing for the damaged file from being performed continuously, the preprocessing of the file may be performed only for a preset time. That is, it is determined whether the file preprocessing operation is performed within the preset timeout time (step S708), and if the file preprocessing is not completed for the preset timeout time, the file preprocessing process ends (step S710). The preprocessing timeout time may be set differently according to the type of file.
미리 설정된 타임아웃 시간 내에 파일의 전처리가 완료될 경우, 생성되는 전처리 정보 세그먼트들은 필터부(202)의 필터(304)에 제공되며, 필터(304)는 제공된 전처리 정보 세그먼트들을 조합하여 전처리 파일을 생성한다(단계 S712). 이후, 필터(304)에 의해 생성된 전처리 파일을 스냅샷 데이터베이스(208)에 저장한다(단계 S714).When the preprocessing of the file is completed within a preset timeout time, the generated preprocessing information segments are provided to the
상술한 실시예에 있어서는 전처리 정보 세그먼트들의 조합 및 조합된 전처리 정보 세그먼트의 저장 과정이 필터(304)에 의해 수행되는 것으로 기재하였으나, 복합구조 파일 전처리부(204)에 의해 수행될 수도 있다는 점은 위에서 이미 설명한 바 있다.In the above-described embodiment, the combination of the preprocessing information segments and the storing of the combined preprocessing information segments are described as being performed by the
도 8은 본 발명의 바람직한 일 실시예에 따른 스냅샷 데이터베이스에 저장된 전처리 파일을 필터부에서 처리하는 과정에 대한 순서도이다.8 is a flowchart illustrating a process of processing, by a filter unit, a preprocessing file stored in a snapshot database according to an exemplary embodiment of the present invention.
유휴 시간 모니터링부(302)는 사용자 단말기의 CPU 메모리 사용률 등을 모니터링하여 유휴 시간인지 여부를 판단한다(단계 S800). 유휴 시간에 해당될 경우, 유휴 시간 모니터링부(302)는 스냅샷 데이터베이스(208)에 새로운 전처리 파일이 저장되어 있는지 여부를 판단한다(단계 S802).The idle
스냅샷 데이터베이스(208)에 새로운 전처리 파일이 저장되어 있을 경우, 유휴 시간 모니터링부(302)는 파일 수집부(300)에 새로운 전처리 파일에 대한 필터링을 요청하며, 파일 수집부(300)는 스냅샷 데이터베이스(208)에 저장되어 있는 전처리 파일을 추출하여 필터(304)에 제공한다(단계 S804). 이와 달리, 유휴시간 모니터링부(302)가 직접 스냅샷 데이터베이스(208)에 저장된 전처리 파일을 필터(304)에 제공할 수도 있을 것이다.When a new preprocessing file is stored in the
필터(304)는 제공된 전처리 파일에 대해 필터링 절차를 수행한다(단계 S806). 전처리 절차에 의해 썸네일 정보 등이 이미 생성되었으므로 필터(304)는 전처리 파일의 오프셋 정보를 이용한 필터링만을 수행하면 되므로 필터링에 오랜 시간이 소요되지 않는다.The
필터링이 완료되면, 검색/색인부(206)는 필터링된 데이터에 대한 색인 작업을 수행하며(단계 S808), 색인 결과는 인덱스 데이터베이스(210)에 저장된다(단계 S810)When the filtering is completed, the search /
도 9는 본 발명의 바람직한 일 실시예에 따른 검색 요청 시 검색 결과가 제공되는 과정에 대한 순서도이다.9 is a flowchart illustrating a process of providing a search result when a search request is performed according to an exemplary embodiment of the present invention.
도 9를 참조하면, 검색 인터페이스 프로그램(212)은 사용자로부터 검색 키워드를 입력 받는다(단계 S900). 사용자는 검색 키워드와 함께 검색 카테고리를 설정할 수도 있다.9, the
검색 인터페이스 프로그램(212)은 사용자가 입력한 키워드 및 설정된 카테고리 정보를 이용하여 검색 요청 정보를 생성하고, 생성된 검색 요청 정보를 검색 요청 처리부(200)에 제공한다(단계 S902).The
검색 요청 처리부(200)는 검색 요청 정보를 미리 설정된 형태로 변환하고 검색/색인부(206)에 제공하며, 검색/색인부(206)는 필터링 또는 색인 작업이 진행 중인지 여부를 판단한다(단계 S904).The search
필터링 또는 색인 작업이 진행 중인 경우, 필터링 또는 색인 작업이 종료될 때까지 대기한다(단계 S906).If the filtering or indexing operation is in progress, it waits until the filtering or indexing operation is finished (step S906).
필터링 또는 색인 작업이 종료되거나 필터링 또는 색인 작업이 진행중이 아닌 경우, 검색/색인부(206)는 인덱스 데이터베이스(210)에 저장된 정보를 이용하여 검색을 수행한다(단계 S908).If the filtering or indexing operation is terminated or the filtering or indexing operation is not in progress, the search /
검색/색인부(206)는 검색 결과 정보를 검색 요청 처리부(200)에 제공하며(단 계 S910), 검색 요청 처리부(200)는 검색 결과를 검색 인터페이스 프로그램(212)이 디스플레이하기 위한 미리 설정된 문서 형식으로 변환한다(단계 S912). 예컨대, 검색 인터페이스 프로그램(212)이 웹브라우저인 경우, 검색 요청 처리부(200)는 검색 결과를 HTML 형태의 웹문서로 변환할 수 있다.The search /
검색 요청 처리부(200)는 변환된 검색 결과 문서를 검색 인터페이스 프로그램(212)에 제공하며(단계 S914), 검색 인터페이스 프로그램(212)은 검색 결과를 표시한다. 전술한 바와 같이, 검색 인터페이스 프로그램(212)이 웹브라우저인 경우, HTTP 프로토콜의 형태로 검색 결과 웹문서를 검색 인터페이스 프로그램(212)에 제공할 수 있을 것이다.The search
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to a preferred embodiment of the present invention, those skilled in the art to which the present invention pertains without departing from the spirit and scope of the present invention as set forth in the claims below It will be appreciated that modifications and variations can be made.
이상에서 설명한 바와 같이, 본 발명에 의한 응답 지연 제거를 위한 로컬 단말기 검색 시스템 및 방법에 의하면, 필터링 및 색인 작업 도중에 사용자의 검색 요청이 있더라도 검색에 대한 응답 지연을 최소화할 수 있는 장점이 있으며, 필터링 및 색인 과정에 오랜 시간이 소요되는 파일에 대한 전처리 절차를 수행함으로써 필터링 시간을 최소화할 수 있는 장점이 있다.As described above, according to the local terminal search system and method for removing the response delay according to the present invention, there is an advantage that the response delay for the search can be minimized even if the user's search request during the filtering and indexing operation, filtering And by performing a preprocessing process for a file that takes a long time in the indexing process has the advantage that the filtering time can be minimized.
Claims (24)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070057636A KR100838046B1 (en) | 2007-06-13 | 2007-06-13 | System and Method for Searching Local Terminal for Removing Response Delay |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070057636A KR100838046B1 (en) | 2007-06-13 | 2007-06-13 | System and Method for Searching Local Terminal for Removing Response Delay |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060018877A Division KR100804671B1 (en) | 2006-02-27 | 2006-02-27 | System and Method for Searching Local Terminal for Removing Response Delay |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070089103A KR20070089103A (en) | 2007-08-30 |
KR100838046B1 true KR100838046B1 (en) | 2008-06-12 |
Family
ID=38614260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070057636A KR100838046B1 (en) | 2007-06-13 | 2007-06-13 | System and Method for Searching Local Terminal for Removing Response Delay |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100838046B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5649205A (en) | 1989-07-07 | 1997-07-15 | Martins; Augusto Baronio | File retrieval system |
US6330567B1 (en) | 1998-08-13 | 2001-12-11 | Tornado Technologies Co., Ltd | Searching system for searching files stored in a hard disk of a personal computer |
KR20040106949A (en) | 2003-06-05 | 2004-12-20 | 주식회사 소프텔레웨어 | System And Method For Remote Management Of Personal Contents |
KR100705411B1 (en) | 2005-08-12 | 2007-04-11 | 엔에이치엔(주) | Local computer search system and method using the same |
-
2007
- 2007-06-13 KR KR1020070057636A patent/KR100838046B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5649205A (en) | 1989-07-07 | 1997-07-15 | Martins; Augusto Baronio | File retrieval system |
US6330567B1 (en) | 1998-08-13 | 2001-12-11 | Tornado Technologies Co., Ltd | Searching system for searching files stored in a hard disk of a personal computer |
KR20040106949A (en) | 2003-06-05 | 2004-12-20 | 주식회사 소프텔레웨어 | System And Method For Remote Management Of Personal Contents |
KR100705411B1 (en) | 2005-08-12 | 2007-04-11 | 엔에이치엔(주) | Local computer search system and method using the same |
Also Published As
Publication number | Publication date |
---|---|
KR20070089103A (en) | 2007-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100804671B1 (en) | System and Method for Searching Local Terminal for Removing Response Delay | |
JP5801395B2 (en) | Automatic media sharing via shutter click | |
CN110569214B (en) | Index construction method and device for log file and electronic equipment | |
EP3251031B1 (en) | Techniques for compact data storage of network traffic and efficient search thereof | |
US7292961B2 (en) | Capturing session activity as in-memory snapshots using a time-based sampling technique within a database for performance tuning and problem diagnosis | |
US7827191B2 (en) | Discovering web-based multimedia using search toolbar data | |
US20150058998A1 (en) | Online video tracking and identifying method and system | |
JP2005522785A (en) | Media object management method | |
JP5708107B2 (en) | Duplicate file detection device | |
JP5035068B2 (en) | Service processing status analysis program, service processing status analysis device, and service processing status analysis method | |
JP5627332B2 (en) | Data retrieval apparatus, control method therefor, and computer program | |
KR100838046B1 (en) | System and Method for Searching Local Terminal for Removing Response Delay | |
US8131773B2 (en) | Search information managing for moving image contents | |
JP2007012013A (en) | Video data management device and method, and program | |
TW201435627A (en) | System and method for optimizing search results | |
US9977836B2 (en) | Storing method and apparatus for data acquisition | |
KR101005871B1 (en) | B-Tree Index Vector Based Web-Log Restoration Method For Huge Web Log Mining And Web Attack Detection | |
CN111817867A (en) | Method and system for multi-log collaborative analysis in distributed environment | |
CN113377771A (en) | Data exploration method, system, equipment and storage medium | |
KR101112568B1 (en) | Indexing Method of Log | |
CN115242500B (en) | Method and device for detecting target website, nonvolatile storage medium and processor | |
JP2010072751A (en) | Information processor, computer program, and information retrieval system | |
JP2010224752A (en) | Information processor, data storage method and program, and information processing system | |
CN118839322A (en) | User identification method, device, electronic equipment, chip and storage medium | |
RU2549102C2 (en) | Method of determining real-time broadcast media streams and system therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20110414 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20130329 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20160329 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20170328 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20190401 Year of fee payment: 12 |