JP2003157263A - Method and device for collecting information, and storage program for retrieval object character information - Google Patents
Method and device for collecting information, and storage program for retrieval object character informationInfo
- Publication number
- JP2003157263A JP2003157263A JP2001355642A JP2001355642A JP2003157263A JP 2003157263 A JP2003157263 A JP 2003157263A JP 2001355642 A JP2001355642 A JP 2001355642A JP 2001355642 A JP2001355642 A JP 2001355642A JP 2003157263 A JP2003157263 A JP 2003157263A
- Authority
- JP
- Japan
- Prior art keywords
- character
- information
- file
- program
- display
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は計算機の記憶装置内
に蓄積された情報、および、ネットワーク接続された計
算機から入手可能な情報の中から必要とする情報を検索
する情報検索に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to information retrieval for retrieving necessary information from information stored in a storage device of a computer and information available from a computer connected to a network.
【0002】[0002]
【従来の技術】従来の情報収集検索方式には、記憶装置
に記憶された多数の電子ファイルを検索対象として、検
索対象となる電子ファイル(ワープロ文書、表計算文書
など)がどのようなキーワードを含んでいるかをあらか
じめ分析しておき、検索者が入力したキーワードを含む
電子ファイルの一覧をすばやく表示する方式が知られて
いる。2. Description of the Related Art In the conventional information collecting and searching method, a large number of electronic files stored in a storage device are searched, and the keywords of the electronic files to be searched (word processing documents, spreadsheet documents, etc.) There is known a method in which whether or not the keyword is included is analyzed in advance and a list of electronic files including the keyword input by the searcher is displayed quickly.
【0003】検索対象となる電子ファイルには様々な形
式があり、そのほとんどには文字列以外の制御コードや
図形情報、内容とは無関係の注釈、属性情報などが混在
している。また、同じキーワードを含んでいる電子ファ
イルでも、ファイル中で利用されるコード体系が異なる
場合、同じキーワードが異なるバイト列として電子ファ
イル中に記憶される。There are various formats for electronic files to be searched, and most of them include control codes other than character strings, graphic information, annotations unrelated to the contents, attribute information, and the like. Further, even in an electronic file including the same keyword, if the code systems used in the file are different, the same keyword is stored in the electronic file as a different byte string.
【0004】これらに対応するために、従来の方法では
電子ファイルから検索対象となる文字列を抽出するフィ
ルタと呼ばれるプログラムが必要であった。フィルタプ
ログラムは絵や図形などを含むファイルから文字情報だ
けを抽出するものである。また、フィルタプログラムは
電子ファイルの種別ごとに作成され、備えられる。In order to deal with these problems, the conventional method requires a program called a filter for extracting a character string to be searched from an electronic file. The filter program extracts only character information from a file including pictures and figures. Further, the filter program is created and provided for each type of electronic file.
【0005】すなわち、特定のファイル形式に対応した
フィルタプログラムが、当該ファイル形式の電子ファイ
ルから検索対象となる文字列を抽出し、この抽出結果か
らキーワードや文字の有無を分析した結果を元のファイ
ルの分析結果として記憶しておくのである。That is, a filter program corresponding to a particular file format extracts a character string to be searched from an electronic file of the file format, and the result of analyzing the presence or absence of a keyword or character from the extraction result is used as the original file. It is stored as the analysis result of.
【0006】[0006]
【発明が解決しようとする課題】しかし、上記従来技術
では、新たなファイル形式が出現するたびに、または、
アプリケーションプログラムのバグ修正やバージョンア
ップによって既存のファイル形式が変更されるたびに、
それらに対応するフィルタプログラムを追加、または、
修正する必要が生じるという問題があった。However, in the above conventional technique, every time a new file format appears, or
Every time the existing file format is changed due to bug fixes or version upgrades of the application program,
Add a filter program corresponding to them, or
There was a problem that it would have to be corrected.
【0007】本発明の目的は、新たなファイル形式が出
現したり、既存のファイル形式が変更されたりした場合
でも、機能追加および修正が必要とならない情報収集/
検索を可能とすることにある。The object of the present invention is to collect information that does not require addition or modification of functions even when a new file format appears or an existing file format is changed.
It is to be able to search.
【0008】[0008]
【課題を解決するための手段】上記目的を達成するため
に、本発明ではアプリケーションプログラムから文字表
示のためのオペレーティングシステム(以下OS)のア
プリケーションプログラミングインターフェイス(以下
API)へ渡される文字情報を収集し、これをデータベ
ース(以下DB)に蓄積した結果を検索対象とする。In order to achieve the above object, the present invention collects character information passed from an application program to an application programming interface (hereinafter API) of an operating system (hereinafter OS) for character display. , The result of accumulating this in a database (DB below) is the search target.
【0009】[0009]
【発明の実施の形態】以下、本発明の第1の実施例を図
を用いて説明する。どこかで見たことがある。しかし、
そのファイル形式やファイル名は記憶していない。この
ような状態で情報を検索したい場合がある。従来はファ
イルの形式毎にフィルタプログラムを用意し、これによ
って、キーワード毎に多数のファイルのそれぞれがその
キーワードを含んでいるかどうかの情報を作成して検索
に供していた。しかしながら、このようなフィルタプロ
グラムを用意することは上述のように大変なことである
ので、本実施例ではフィルタプログラムを使わずに検索
対象となるデータを作成する。BEST MODE FOR CARRYING OUT THE INVENTION A first embodiment of the present invention will be described below with reference to the drawings. I have seen it somewhere. But,
It does not remember its file format or file name. You may want to search for information in this state. Conventionally, a filter program is prepared for each file format, and by this, information on whether or not each of a large number of files contains the keyword is created and provided for the search. However, since it is difficult to prepare such a filter program as described above, in the present embodiment, the data to be searched is created without using the filter program.
【0010】本実施例においては単一の計算機(携帯情
報端末を含む)の記憶装置に蓄積された情報から、また
は、図1に示したような複数の計算機101、102、
104がネットワーク103(有線または無線)により
接続され、相互に情報のやり取りを行う環境に分散して
蓄積された情報から、利用者が必要とする情報を検索す
る。In this embodiment, information stored in the storage device of a single computer (including a portable information terminal) or a plurality of computers 101, 102 as shown in FIG.
104 is connected by the network 103 (wired or wireless), and the information required by the user is searched from the information accumulated in a distributed environment in which information is mutually exchanged.
【0011】ほとんど全ての近代的な計算機は図2のよ
うなソフトウェア構造を持っている。ハードウェア層2
01の上にこれらを直接制御するOS層202があり、
その上にアプリケーションプログラムが共通に利用する
機能を集めたミドルウェア層203とアプリケーション
層204がある。Almost all modern computers have a software structure as shown in FIG. Hardware layer 2
01 has an OS layer 202 that directly controls these,
On top of that, there are a middleware layer 203 and an application layer 204 that collect functions commonly used by application programs.
【0012】より上の層のソフトウェアは、より下の層
のソフトウェアの機能を利用する。より下の層のソフト
ウェアが、より上の層のソフトウェアのために、自身の
機能の利用方法を規定したのがAPIである。例えば、
表計算アプリケーションはOSが提供するファイルアク
セス機能を利用するためにファイルアクセス用APIを
利用する。The upper layer software utilizes the functionality of the lower layer software. It is the API that defines how the lower layer software uses its own functions for the upper layer software. For example,
The spreadsheet application uses the file access API to use the file access function provided by the OS.
【0013】通常、アプリケーションプログラムはそれ
ぞれ固有のファイル形式でデータを記録する。例えば、
ワープロアプリケーションで作成したファイルと、表計
算アプリケーションで作成したファイルの形式は異な
る。しかし、同じOS上で動作するアプリケーションは
ファイルの内容を画面に表示するために、ファイルの形
式に係わらず共通の文字表示APIを利用する。Generally, each application program records data in a unique file format. For example,
The format of the file created by the word processing application and the file created by the spreadsheet application are different. However, applications operating on the same OS use a common character display API regardless of the file format to display the contents of the file on the screen.
【0014】図3にその様子を示す。計算機の記憶装置
内にはテキストファイル301、HTMLファイル30
2、ワープロ文書ファイル303、PDFファイル30
4など様々な形式のファイルが存在し、それぞれのファ
イル形式毎にその内容を閲覧/編集するためのアプリケ
ーションプログラム(テキストエディタ305、Web
ブラウザ306、ワープロアプリケーション307、P
DFファイルビューワ308など)が存在する。それぞ
れのアプリケーションプログラムはファイルを開いて画
面に表示すべき情報を抽出し、OSの画面描画APIを
利用して画面表示を行う。例えば、表示内容が文字の場
合、文字表示API(310)を利用して画面への表示
を行う。文字表示APIはOSによってひとつから数個
程度存在する。FIG. 3 shows the situation. A text file 301 and an HTML file 30 are stored in the storage device of the computer.
2. Word processing document file 303, PDF file 30
There are files of various formats such as 4, and there are application programs (text editor 305, Web, etc.) for browsing / editing the contents of each file format.
Browser 306, word processing application 307, P
DF file viewer 308) exists. Each application program opens a file, extracts information to be displayed on the screen, and displays the screen by using the screen drawing API of the OS. For example, when the display contents are characters, the characters are displayed on the screen by using the character display API (310). There are one to several character display APIs depending on the OS.
【0015】また、近代的なOSは自身が提供するAP
Iの呼び出しがあるたびに、あらかじめ登録された別の
プログラム(フックプログラム)にそのことを知らせる仕
組み(APIフック)を具備しているか、または、機能
拡張により実現可能としている。The modern OS is an AP provided by itself.
It is provided with a mechanism (API hook) for notifying another program (hook program) registered in advance each time I is called, or can be realized by expanding the function.
【0016】本実施例ではこのAPIフックの仕組みを
利用して、画面に表示される文字情報の収集を行い、収
集結果に対して検索を行うことで、新たなファイル形式
が出現したり、既存のファイル形式が変更されたりした
場合でも、機能追加および修正が必要とならない情報収
集と検索を実現する。In this embodiment, the mechanism of this API hook is used to collect the character information displayed on the screen and perform a search on the collection result, whereby a new file format appears or an existing file format is created. Even if the file format of is changed, it realizes information collection and search that does not require addition or modification of functions.
【0017】APIフックの仕組みを利用するために
は、あらかじめOSにフックプログラムを登録しておく
(フックプログラムを記憶装置に格納し、その格納場所
をOSに記憶させておく)必要がある。フックプログラ
ムの登録は、OSの起動処理中、または、利用者のログ
イン処理中、または、利用者の指示があった時などに行
われる。フックプログラムの登録後、解除されるまで、
利用者の操作に応じて画面表示される全ての文字が蓄積
対象となる。In order to use the mechanism of the API hook, it is necessary to register the hook program in the OS in advance (store the hook program in the storage device and store the storage location in the OS). The hook program is registered during the OS booting process, the user login process, or when the user gives an instruction. After registering the hook program, until it is released,
All characters displayed on the screen according to the user's operation are to be stored.
【0018】また、本発明では情報収集を行うフックプ
ログラムと、検索を行う検索プログラムはそれぞれ別の
プログラムとして動作することができる。すなわち、情
報収集の方法を変更することなく、検索方法だけをより
効率的なものに変更することができる。本発明の本質は
情報収集方法にあるため、本実施例では検索方法につい
ては既知の単純なものを利用するが、検索対象が含むキ
ーワードや文字をあらかじめ分析してインデックスと呼
ばれる情報を作成し、高速に検索を行う方法など、より
複雑なものを利用することもできる。Further, in the present invention, the hook program for collecting information and the search program for searching can operate as different programs. That is, only the search method can be changed to a more efficient method without changing the information collection method. Since the essence of the present invention lies in the information collecting method, in this embodiment, a known simple one is used as the search method, but a keyword or character included in the search target is analyzed in advance to create information called an index, It is possible to use more complicated ones such as a method for performing a high speed search.
【0019】以下では、アプリケーションプログラムが
ファイルを開いてその内容を表示するまでの手順(図
4)に従って、APIフックの仕組みを利用した情報収
集方法を説明する。図4の破線は動作するソフトウェア
の区分分けを表しており、左側がアプリケーションプロ
グラムの動作を、中央がOSまたはフック処理プログラ
ム(APIの呼び出しがあったときAPIに対応するフ
ックプログラムが登録されているかを判定し、登録され
ていればフックプログラムに処理を移す機能を持つプロ
グラム)の動作を、右側がフックプログラムの動作を、
それぞれ表す。An information collecting method using the mechanism of the API hook will be described below according to the procedure (FIG. 4) until the application program opens the file and displays the contents. The broken line in FIG. 4 indicates the division of the operating software. The left side shows the operation of the application program, and the center shows the OS or hook processing program (whether the hook program corresponding to the API is registered when the API is called). The operation of the program that has the function of transferring the processing to the hook program if it is registered, and the right side is the operation of the hook program.
Represent each.
【0020】はじめに、アプリケーションプログラムは
記憶装置からファイルを読み込み(ステップ401)、
ファイルから文字情報や図形情報など画面への表示内容
を抽出する(ステップ402)。次に、表示内容(画
像、文字、図形など)に適した画面出力APIを呼び出
す(ステップ403)(ここでは文字表示APIを呼び
出した例を記載した)。First, the application program reads a file from the storage device (step 401),
The contents displayed on the screen such as character information and graphic information are extracted from the file (step 402). Next, a screen output API suitable for display contents (image, character, figure, etc.) is called (step 403) (here, an example of calling the character display API is described).
【0021】これにより、制御がOSに移り、OSの当
該APIに対応するフック処理(フックプログラムの格
納場所を見てフックプログラムを起動する)が行われる
(ステップ411)。当該APIに対応するフックプロ
グラムが登録されていると、OSは当該APIの本来の
処理(ステップ412)を行う前に、登録されたフック
プログラムに制御を移す。As a result, the control is transferred to the OS, and the hook process corresponding to the API of the OS (the hook program is started by checking the storage location of the hook program) is performed (step 411). When the hook program corresponding to the API is registered, the OS transfers control to the registered hook program before performing the original processing of the API (step 412).
【0022】フックプログラムは文字表示APIに渡さ
れた文字情報を抽出し、文字情報記録用DBに記録する
(ステップ421)。この文字情報はファイル形式には
関係しない共通の形式となっている。具体的にはテキス
ト形式である。また、この文字情報記録用DBはフック
プログラムが動作する計算機内に存在しても、ネットワ
ーク経由でアクセス可能な別の計算機内に存在しても構
わない。これによって、フィルタプログラムの介在なし
にファイルの文字情報だけが抽出され、しかも、それが
元のファイルの形式に関係なく共通の形式で蓄積され
る。このように、フックの仕組みを利用して文字情報を
蓄積して検索に供する。The hook program extracts the character information passed to the character display API and records it in the character information recording DB (step 421). This character information has a common format regardless of the file format. Specifically, it is in text format. Further, this character information recording DB may be present in the computer in which the hook program operates or in another computer accessible via the network. By this, only the character information of the file is extracted without the intervention of the filter program, and moreover, it is stored in the common format regardless of the format of the original file. In this way, the character information is accumulated using the mechanism of the hook and provided for the search.
【0023】フックプログラムの処理が終了すると制御
がOSに戻り、OSは本来の処理である文字表示(ステ
ップ412)を行い、API呼び出し元のアプリケーシ
ョンに制御を戻す。アプリケーションプログラムは全て
の画面表示処理が終了したかどうか調べ(ステップ40
4)、未終了ならステップ402へ戻り、終了まで上記
処理を繰り返す。When the processing of the hook program is completed, the control returns to the OS, and the OS displays the character which is the original processing (step 412) and returns the control to the API calling application. The application program checks whether all screen display processing has been completed (step 40).
4) If not completed, the process returns to step 402 and the above process is repeated until completed.
【0024】ステップ421で記録される情報の例(D
Bの構造)を図5に示す。情報取得日501、文字表示
APIを呼び出したアプリケーションプログラム名50
2、アプリケーションプログラムが表示していたファイ
ル名503、ファイルの存在する場所504、プロセス
の識別子505、スレッドの識別子506、表示文字列
507などが記録される。OSによっては全ての情報を
取得できない場合がある(例えば、スレッドを持たない
OSの場合や、ファイルではなくDB内のデータを閲覧
している場合など)。したがって、全ての情報が必ずし
も必要というわけではない。なお、ここで図5のデータ
テーブルの各行を一つのレコードという。An example of information recorded in step 421 (D
The structure of B) is shown in FIG. Information acquisition date 501, application program name 50 that called the character display API
2. The file name 503 displayed by the application program, the location 504 of the file, the process identifier 505, the thread identifier 506, the display character string 507, etc. are recorded. Depending on the OS, it may not be possible to acquire all the information (for example, when the OS does not have threads or when browsing data in the DB instead of files). Therefore, not all information is necessary. In addition, each row of the data table of FIG. 5 is called one record here.
【0025】フックプログラムでの記録処理の詳細を図
6に示す。はじめに、文字表示APIに渡された文字を
抽出し(ステップ601)、文字表示API呼び出し元
アプリケーションに関する情報を取得する(ステップ6
02)。これはアプリケーションプログラム名、プロセ
スID、スレッドIDなど前記DBに記録すべき情報で
ある。The details of the recording process by the hook program are shown in FIG. First, the character passed to the character display API is extracted (step 601), and information regarding the application that called the character display API is acquired (step 6).
02). This is information such as an application program name, a process ID, and a thread ID that should be recorded in the DB.
【0026】次に、既にDBに登録されているレコード
の項目と比較して、文字情報の連続性を判定する(ステ
ップ603)。この処理により、文字表示APIの複数
回に渡る呼び出しで1画面の表示が完結する場合、各A
PI呼び出し間のつながりを認識することができる。Next, the continuity of the character information is judged by comparing with the item of the record already registered in the DB (step 603). By this process, if one screen display is completed by calling the character display API multiple times, each A
The connection between PI calls can be recognized.
【0027】具体的には、ステップ603で日付(50
1)、アプリケーションプログラム名(502)、ファ
イル名(503)、ファイル場所(504)、プロセス
ID(505)、スレッドID(506)の全てが
(「不明」の場合を含めて)一致する項目が見つかった
場合、当該項目の表示文字列(507)にステップ60
1で抽出した文字を追加する(ステップ604)。見つ
からなかった場合、DBに新規項目を作成して、その表
示文字列欄(507)にステップ601で抽出した文字
を新規登録する(ステップ605)。Specifically, in step 603, the date (50
1), the application program name (502), the file name (503), the file location (504), the process ID (505), and the thread ID (506) all match (including the case of "unknown") If found, step 60 is added to the display character string (507) of the item.
The character extracted in 1 is added (step 604). If not found, a new item is created in the DB and the character extracted in step 601 is newly registered in the display character string column (507) (step 605).
【0028】次に、検索プログラムの処理手順を図7に
示す。はじめに、利用者が検索したいキーワードを入力
する(ステップ701)。次に、フックプログラムが生
成したDBの先頭レコードを読み取り(ステップ70
2)、当該レコードの表示文字列欄の文字列情報に対し
て文字列検索を行い(ステップ703)、キーワードの
有無により処理を振り分ける(ステップ704)。当該
レコードにキーワードが含まれない場合、前記DB内の
次のレコードの取得を試みる(ステップ705)。取得
できた場合、ステップ703へ戻る。取得できなかった
場合、処理を終了する。また、当該レコードにキーワー
ドが含まれる場合、当該レコードの内容を表示して(ス
テップ706)、利用者の入力を待つ(ステップ70
7)。利用者が[次を検索]ボタンを押下したかどうか
を判定し(ステップ708)、押下された場合、ステッ
プ705へ戻り、上記の処理を次のレコードに対して行
う。[次を検索]ボタンが押下されなかった場合、検索
処理を終了する。Next, FIG. 7 shows the processing procedure of the search program. First, the user inputs a keyword to be searched (step 701). Next, the top record of the DB generated by the hook program is read (step 70
2) A character string search is performed on the character string information in the display character string column of the record (step 703), and the process is sorted according to the presence / absence of a keyword (step 704). If the record does not include the keyword, an attempt is made to obtain the next record in the DB (step 705). If it can be acquired, the process returns to step 703. If it cannot be acquired, the process ends. If the record includes a keyword, the content of the record is displayed (step 706) and the input by the user is waited (step 70).
7). It is determined whether or not the user has pressed the "search next" button (step 708). If the user has pressed the button, the process returns to step 705 to perform the above process on the next record. If the [Find Next] button is not pressed, the search process ends.
【0029】検索プログラムの検索結果を表示する画面
例を図8に示す。利用者が入力した検索文字列801、
見つかったレコードの内容805が表示される。レコー
ドは、記録された日付802、当該文字列を表示したア
プリケーション名803、表示文字列804などからな
る。日付802は図5の日付501に、アプリケーショ
ン名803は図5のアプリケーション名502に、表示
文字列805は図5の表示文字列507にそれぞれ対応
する。図5の表示文字列はタブや改行文字も文字の一部
として持っている。従って、表示画面に表示すると、図
8の804のような表示形態となる。(特にレイアウト
機能を持たなくとも良い)前記DB内の他の項目を表示
するようにしても構わない。ボタン821は次のレコー
ドへ検索を進めるため、ボタン822は検索処理を終了
するために、それぞれ用意されている。また、表示文字
列内で発見されたキーワード(811、812)は他の
文字列と区別できるように強調表示される(ここでは下
線付太文字とした)。FIG. 8 shows an example of a screen displaying the search results of the search program. Search string 801, entered by the user,
The content 805 of the found record is displayed. The record includes a recorded date 802, an application name 803 that displays the character string, a display character string 804, and the like. The date 802 corresponds to the date 501 in FIG. 5, the application name 803 corresponds to the application name 502 in FIG. 5, and the display character string 805 corresponds to the display character string 507 in FIG. The display character string in FIG. 5 also has tabs and line feed characters as part of the characters. Therefore, when it is displayed on the display screen, a display form such as 804 in FIG. 8 is obtained. (It may not have a layout function in particular) Other items in the DB may be displayed. The button 821 is provided to advance the search to the next record, and the button 822 is provided to end the search process. Further, the keywords (811, 812) found in the display character string are highlighted so that they can be distinguished from other character strings (here, they are underlined and bolded).
【0030】以上のような本発明の第1の実施例によれ
ばフィルタプログラムが不要で、かつファイルの形式の
違いに係わらず共通な形式の検索対象となるデータベー
スを得ることが出来る。According to the first embodiment of the present invention as described above, a filter program is unnecessary and a database to be searched in a common format can be obtained regardless of the difference in file formats.
【0031】本発明の第2の実施例は、第1の実施例の
図6のステップ604で、抽出した文字列を既存のDB
レコードの表示文字列欄(507)に追加する際に、追
加先文字列の末尾に単純に連結するのではなく、追加先
文字列の末尾と追加文字列の先頭部分が一致する場合、
追加文字列から一致部分を取り除いた残りだけを追加先
文字列の末尾に連結する。また、追加文字列全体が追加
先文字列に既に含まれている場合、文字列を追加しない
ようにする。図8を利用してこれを具体的に説明する。
図4のステップ402では1画面の表示を想定してい
る。始めに、ある画面に画面の表示スペースの制限か
ら、「打ち合わせメモ」という表題と、日時と、場所
と、参加者と、配布資料とが表示されたとする。次の画
面で、スクロールアップにより、配布資料と、内容とが
表示されたとする。このとき、「配布資料」が両画面表
示で一致している。したがって、次画面での文字情報記
録は「配布資料」を含まないようになされる。In the second embodiment of the present invention, in step 604 of FIG. 6 of the first embodiment, the extracted character string is stored in the existing DB.
When adding to the display character string column (507) of a record, instead of simply concatenating to the end of the addition destination character string, if the end of the addition destination character string and the beginning part of the addition character string match,
Concatenate only the rest of the added string after removing the matching part to the end of the added string. If the entire additional character string is already included in the addition destination character string, the character string is not added. This will be specifically described with reference to FIG.
In step 402 in FIG. 4, it is assumed that one screen is displayed. First, it is assumed that the title "meeting memo", the date and time, the place, the participant, and the handout are displayed on a certain screen due to the limitation of the display space of the screen. On the next screen, it is assumed that the handouts and the contents are displayed by scrolling up. At this time, the “distribution materials” are the same on both screens. Therefore, the character information record on the next screen does not include the “distribution material”.
【0032】これにより、文字列情報の連続性を失うこ
となく、検索対象となる文字列内の重複部分を取り除く
ことができる。これは検索対象となるデータ量の削減、
ひいては、検索時間の短縮につながる。With this, it is possible to remove the overlapping portion in the character string to be searched without losing the continuity of the character string information. This reduces the amount of data to be searched,
As a result, the search time can be shortened.
【0033】本発明の第3の実施例は、第1の実施例ま
たは第2の実施例の情報収集部分を置換する情報収集検
索方法である。第1、第2の実施例では利用者が自発的
に開いたファイルが情報収集の対象となっていたが、第
3の実施例では利用者が実際に見たか見ないかは問わず
利用者があらかじめ指定したファイル集合を情報収集の
対象とする。ファイル集合の指定方法はファイル名を列
挙する方法、または、ひとつ以上のディレクトリを指定
して当該ディレクトリに含まれる全てのファイルを情報
収集対象とする方法、または、前記2つの方法を組み合
わせて指定する方法などが考えられる。自装置またはネ
ットワークを通してアクセス可能なファイルは総て対象
となり得る。The third embodiment of the present invention is an information collection / retrieval method for replacing the information collection part of the first embodiment or the second embodiment. In the first and second embodiments, the file voluntarily opened by the user is the target of the information collection, but in the third embodiment, the user does not care whether the file is actually viewed or not. Collects information on a set of files specified in advance by. The method of specifying the file set is to enumerate the file names, to specify one or more directories to target all files contained in the directories for information collection, or to specify a combination of the above two methods. Methods etc. are considered. Any file that can be accessed through its own device or network can be the target.
【0034】以下図9に沿って手順を説明する。はじめ
にフックプログラムを登録する(ステップ901)。複
数の文字表示APIが存在する場合、文字表示APIに
フックプログラムを登録する。登録される文字表示AP
Iは総てであっても良い。これにより以降の文字表示A
PI呼び出しがフックされ、表示文字情報が蓄積され
る。次に、分析対象となるファイル集合の先頭ファイル
を取得し(ステップ902)、図5でその構造を示した
前記DBに当該ファイル用の新規レコードを登録する
(ステップ903)。ここでは、日付(501)、アプ
リケーション名(502)、ファイル名(503)、フ
ァイル場所(504)を確定することができる。The procedure will be described below with reference to FIG. First, the hook program is registered (step 901). When there are a plurality of character display APIs, the hook program is registered in the character display API. Character display AP to be registered
I may be all. By this, the following character display A
The PI call is hooked and the display character information is accumulated. Next, the first file of the file set to be analyzed is acquired (step 902), and a new record for the file is registered in the DB whose structure is shown in FIG. 5 (step 903). Here, the date (501), application name (502), file name (503), and file location (504) can be determined.
【0035】次に、前記ファイル内容を表示できるアプ
リケーションで前記ファイルを開き(ステップ90
4)、このアプリケーションのプロセスIDを取得(ス
テップ905)して、ステップ903で登録したレコー
ドに当該プロセスIDを登録する。ファイルをアプリケ
ーションで開くことで画面表示が行われるのでステップ
901で登録したフックプログラムが実行される。な
お、ファイルを開くということは現実に表示装置に表示
されることを必要とはしないが、文字表示APIが動作
することが必要である。プロセスIDを取得するのは、
プロセスIDが同じなら同じファイルを開いていると考
えて良いので、図6のステップ603と同様に新しいレ
コードを作るか、または同じレコードに文字列を追記す
るかの判定をするためである。Next, the file is opened by an application capable of displaying the contents of the file (step 90).
4) The process ID of this application is acquired (step 905), and the process ID is registered in the record registered in step 903. Since the screen is displayed by opening the file with the application, the hook program registered in step 901 is executed. It should be noted that opening a file does not need to be actually displayed on the display device, but the character display API needs to operate. The process ID is acquired
If the process IDs are the same, it can be considered that the same file is opened, and this is for determining whether to create a new record or add a character string to the same record as in step 603 of FIG.
【0036】第3の実施例ではフックプログラムのステ
ップ603の文字情報の連続性判定方法を「スレッドI
D506を考慮しない」ように変更する。この修正によ
り、ステップ903で登録したレコードの表示文字列欄
507に当該表示文字列が追加される。この場合、スレ
ッドIDは1つしかない場合であって、スレッドIDを
考慮しなくとも同一ファイルか異なるファイルかはプロ
セスIDだけで判る。In the third embodiment, the method for determining continuity of character information in step 603 of the hook program is "thread I".
D506 is not considered. " By this modification, the display character string is added to the display character string column 507 of the record registered in step 903. In this case, there is only one thread ID, and even if the thread ID is not taken into consideration, it can be known only from the process ID whether the files are the same file or different files.
【0037】次に、ステップ905で取得したプロセス
IDをもとに、前記アプリケーションに「次画面表示イ
ベント」を送付する(ステップ906)。これは1つの
ファイルが1画面に一度に表示出来ないことを想定して
いるからである。次画面表示イベントはOSにより異な
るが、ページダウンキー押下イベント、下矢印キー押下
イベント、下スクロールイベントなどがこれにあたる。
次画面イベントを送付することはあたかも操作者が画面
を見て、次画面を表示させる操作をしたかのような制御
情報を自動的に作成しアプリケーションプログラムに送
付することを示す。これは1つのファイルの全部を表示
するためである。Next, the "next screen display event" is sent to the application based on the process ID acquired in step 905 (step 906). This is because it is assumed that one file cannot be displayed on one screen at a time. The next screen display event varies depending on the OS, but the page down key pressing event, the down arrow key pressing event, the down scrolling event, and the like correspond to this.
Sending the next screen event indicates that the control information is automatically created and sent to the application program as if the operator saw the screen and operated to display the next screen. This is to display the entire one file.
【0038】次に、前記ステップ906でファイルの末
尾まで到達したかどうかを判定し(ステップ907)、
未到達の場合はステップ906を繰り返し行う。ファイ
ルの末尾に到達した後に、次画面表示イベントを受け取
っても画面の描画は行われない。すなわちフックプログ
ラムが実行されないことから、「ステップ906でイベ
ントを送付してもフックプログラムの実行が行われなく
なること」でファイルの末尾への到達を認識する(詳細
は図10を使って説明する)。Next, in step 906, it is determined whether the end of the file has been reached (step 907),
If it has not arrived, step 906 is repeated. When the next screen display event is received after the end of the file is reached, the screen is not drawn. That is, since the hook program is not executed, the arrival at the end of the file is recognized by "the hook program is not executed even if the event is sent in step 906" (details will be described using FIG. 10). .
【0039】ファイルの末尾へ到達した場合、前記アプ
リケーションを終了させ(ステップ908)、前記分析
対象ファイル集合の次ファイルの取得を試みる(ステッ
プ909)。次のファイルが存在すれば、ステップ90
3へ戻って、当該ファイルを対象として上記の手順を繰
り返す。存在しなければ処理を終了する。When the end of the file is reached, the application is terminated (step 908) and an attempt is made to obtain the next file of the analysis target file set (step 909). If the following files exist, step 90
Returning to step 3, the above procedure is repeated for the file. If it does not exist, the processing ends.
【0040】ステップ907での「ファイルの末尾への
到達判定」の詳細を図10を使って説明する。概略を説
明すると、フックプログラムの実行時刻を記録してお
き、ファイルの末尾に達すると新しい表示がない、つま
りフックプログラムが動作しない。従って、最終実行時
刻は変化しなくなる。これを検出することでファイルの
末尾を判定出来る。Details of the "judgment to reach the end of file" in step 907 will be described with reference to FIG. In summary, record the execution time of the hook program, and when the end of the file is reached, there is no new display, that is, the hook program does not work. Therefore, the last execution time does not change. The end of the file can be determined by detecting this.
【0041】はじめに、フックプログラムの最終実行時
刻を取得する(ステップ1001)。ステップ1001
を実行可能とするためにフックプログラムはステップ4
21で自身が実行された時に、時刻を記録し、かつ、他
のプログラムからの当該時刻の取得を可能とするものと
する。First, the last execution time of the hook program is acquired (step 1001). Step 1001
Hook program to execute
It shall record the time when it executes itself at 21 and allow it to be obtained from other programs.
【0042】次に、これをステップ907が設定および
参照可能な変数「前回実行時刻」と比較する(ステップ
1002)。等しい場合、「末尾に到達」と判定する
(ステップ1005)。等しくない場合、前記前回実行
時刻に前記最終実行時刻を代入し(ステップ100
3)、「末尾に未到達」と判定する(ステップ100
4)。Next, this is compared with the variable "previous execution time" which can be set and referenced in step 907 (step 1002). If they are equal, it is determined that "the end has been reached" (step 1005). If they are not equal, the last execution time is substituted for the last execution time (step 100).
3), it is determined that "the end has not been reached" (step 100)
4).
【0043】[0043]
【発明の効果】本発明により、新たなファイル形式が出
現したり、既存のファイル形式が変更されたりした場合
でも、機能追加および修正が必要とならない情報収集と
検索を実現できる。According to the present invention, even if a new file format appears or an existing file format is changed, it is possible to realize information collection and search that does not require addition or modification of functions.
【図1】計算機環境を表す図。FIG. 1 is a diagram showing a computer environment.
【図2】計算機内部のソフトウェアの構造を表す図。FIG. 2 is a diagram showing the structure of software inside a computer.
【図3】アプリケーションプログラムがOSのAPIを
呼び出すことを示す図。FIG. 3 is a diagram showing that an application program calls an API of an OS.
【図4】APIをフックして表示文字情報を収集する際
の処理手順図。FIG. 4 is a processing procedure diagram when collecting display character information by hooking an API.
【図5】フックプログラムが記録する情報の例(DB構
造)を示す図。FIG. 5 is a diagram showing an example (DB structure) of information recorded by a hook program.
【図6】文字情報記録処理(ステップ421)の手順
図。FIG. 6 is a procedure diagram of a character information recording process (step 421).
【図7】検索処理手順図。FIG. 7 is a search processing procedure diagram.
【図8】検索結果表示画面例。FIG. 8 is an example of a search result display screen.
【図9】利用者が指定したファイル集合を情報収集の対
象とする情報収集方法の手順図。FIG. 9 is a procedure diagram of an information collection method in which a file set designated by a user is a target of information collection.
【図10】ファイルの末尾への到達判定方法(ステップ
907)の手順図。FIG. 10 is a procedure diagram of a method of determining arrival at the end of a file (step 907).
402.ファイルから画面への表示内容を抽出するステ
ップ
403.画面表示APIを呼び出すステップ
411.フック処理を行うステップ
412.画面に文字を表示するステップ
421.画面表示文字をDBに記録するステップ402. Step 403 for extracting display contents on screen from file. Invoking the screen display API Step 411. Step 412 of performing hook processing. Step 421 for displaying characters on the screen. Step to record screen display characters in DB
Claims (6)
ティングシステムの文字表示のためのアプリケーション
プログラミングインターフェイスを呼び出し、前記文字
表示のためのアプリケーションプログラミングインター
フェイスへ前記アプリケーションプログラムが扱う文字
情報を渡し、前記文字表示のためのアプリケーションプ
ログラミングインターフェイスへ渡された前記文字情報
を収集し、これをデータベースに蓄積することを特徴と
する情報収集方法。1. An application program for character display of an operating system is called from an application program, character information handled by the application program is passed to the application programming interface for character display, and application programming for the character display is performed. An information collecting method, characterized in that the character information passed to an interface is collected and stored in a database.
ティングシステムの文字表示のためのアプリケーション
プログラミングインターフェイスを呼び出し、前記文字
表示のためのアプリケーションプログラミングインター
フェイスへ前記アプリケーションプログラムが扱う文字
情報を渡し、前記文字表示のためのアプリケーションプ
ログラミングインターフェイスが呼び出されるとフック
プログラムを動作させ、フックプログラムにおいて前記
文字表示のためのアプリケーションプログラミングイン
ターフェイスへ渡された前記文字情報を収集し、これを
データベースに蓄積することを特徴とする情報収集方
法。2. An application programming interface for character display of an operating system is called from an application program, the character information handled by the application program is passed to the application programming interface for character display, and application programming for the character display is performed. An information collecting method comprising: operating a hook program when an interface is called, collecting the character information passed to an application programming interface for displaying the character in the hook program, and storing the collected character information in a database.
ログラミングインターフェイスへ渡された前記文字情報
を収集するステップにおいて、既に蓄積された文字列と
の重複部分を除いた文字列を追加して収集することを特
徴とする請求項1または2記載の情報収集方法。3. In the step of collecting the character information passed to the application programming interface for displaying the character, it is possible to add and collect a character string excluding a duplicated portion with the already stored character string. The information collecting method according to claim 1 or 2, which is characterized.
が指定したファイル集合を対象としてファイルを読み出
し、これを表示することを特徴とする請求項1または2
に記載の情報収集方法。4. The application program reads a file for a file set designated by a user and displays the file.
Information collection method described in.
ラムによって呼び出されたオペレーティングシステムの
文字表示のためのアプリケーションプログラミングイン
ターフェイスへ前記アプリケーションプログラムから渡
された文字情報を収集する手段と、これをデータベース
に蓄積する手段として機能させるための検索対象文字情
報蓄積プログラム。5. A function of a computer as means for collecting character information passed from an application program to an application programming interface for displaying characters of an operating system called by the application program, and means for accumulating the character information in a database. A character information storage program for searching.
ティングシステムの文字表示のためのアプリケーション
プログラミングインターフェイスを呼び出す手段と、前
記文字表示のためのアプリケーションプログラミングイ
ンターフェイスへ前記アプリケーションプログラムが扱
う文字情報を渡す手段と、前記文字表示のためのアプリ
ケーションプログラミングインターフェイスへ渡された
前記文字情報を収集し、これをデータベースに蓄積する
手段とを備えたことを特徴とする情報収集装置。6. A means for calling an application programming interface for character display of an operating system from an application program, a means for passing character information handled by the application program to the application programming interface for character display, and a means for displaying the character display. Means for collecting the character information passed to an application programming interface for storing the character information and storing the character information in a database.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001355642A JP2003157263A (en) | 2001-11-21 | 2001-11-21 | Method and device for collecting information, and storage program for retrieval object character information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001355642A JP2003157263A (en) | 2001-11-21 | 2001-11-21 | Method and device for collecting information, and storage program for retrieval object character information |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003157263A true JP2003157263A (en) | 2003-05-30 |
Family
ID=19167320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001355642A Pending JP2003157263A (en) | 2001-11-21 | 2001-11-21 | Method and device for collecting information, and storage program for retrieval object character information |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2003157263A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005116975A1 (en) * | 2004-05-31 | 2005-12-08 | Lenovo (Singapore) Pte Ltd. | Display system switching apparatus, display system switching method, display system switching program, and computer readable storing medium storing that program therein |
JP2007213505A (en) * | 2006-02-13 | 2007-08-23 | Ricoh Co Ltd | Firmware download driver system and external device function expansion application system |
JP2007249764A (en) * | 2006-03-17 | 2007-09-27 | Nec Corp | Automatic handover system and method |
JP2015069473A (en) * | 2013-09-30 | 2015-04-13 | 日本電気株式会社 | Display control device, display control method, and program |
-
2001
- 2001-11-21 JP JP2001355642A patent/JP2003157263A/en active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005116975A1 (en) * | 2004-05-31 | 2005-12-08 | Lenovo (Singapore) Pte Ltd. | Display system switching apparatus, display system switching method, display system switching program, and computer readable storing medium storing that program therein |
JP2005345523A (en) * | 2004-05-31 | 2005-12-15 | Internatl Business Mach Corp <Ibm> | Display system changing over apparatus, display system changing method, display system changing over program and computer readable storage medium with the program stored |
GB2438270A (en) * | 2004-05-31 | 2007-11-21 | Lenovo | Display mode switching device, method, switching program,and computer-readable recording medium with display mode switching program stored therein |
GB2438270B (en) * | 2004-05-31 | 2010-05-26 | Lenovo | Display mode switching device |
JP2007213505A (en) * | 2006-02-13 | 2007-08-23 | Ricoh Co Ltd | Firmware download driver system and external device function expansion application system |
JP2007249764A (en) * | 2006-03-17 | 2007-09-27 | Nec Corp | Automatic handover system and method |
JP2015069473A (en) * | 2013-09-30 | 2015-04-13 | 日本電気株式会社 | Display control device, display control method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20020059215A1 (en) | Data search apparatus and method | |
US20040243552A1 (en) | Method, system, and apparatus for viewing data | |
WO2007004412A1 (en) | Electronic apparatus with a web page browsing function | |
JP2000339312A (en) | System for editing document and method for generating tag information management table | |
JP4042830B2 (en) | Content attribute information normalization method, information collection / service provision system, and program storage recording medium | |
JP2001154893A (en) | File retrieving device and computer readable recording medium | |
JP2003157263A (en) | Method and device for collecting information, and storage program for retrieval object character information | |
JP4253315B2 (en) | Knowledge information collecting system and knowledge information collecting method | |
JP2004145706A (en) | Multimedia data retrieval system | |
US7386794B2 (en) | Apparatus and method for performing the management of operation history | |
WO2021049272A1 (en) | Information processing device, information processing method, and program | |
JPH117452A (en) | Method and device for collecting information through network and recording medium recording program for executing the method | |
JP3725087B2 (en) | Knowledge information collecting system and knowledge information collecting method | |
JP4690232B2 (en) | Information processing apparatus, software registration method, and program | |
JP2002259173A (en) | File management program, computer readable recording medium in which file management program is recorded, file managing device and file managing method | |
JP2002055866A (en) | Information management server, user terminal and recording medium | |
JP3708893B2 (en) | Knowledge information collecting system and knowledge information collecting method | |
JPH10162011A (en) | Information retrieval method, information retrieval system, information retrieval terminal equipment, and information retrieval device | |
JP3725088B2 (en) | Knowledge information collecting system and knowledge information collecting method | |
JP3725835B2 (en) | Knowledge information collecting system and knowledge information collecting method | |
JP3725837B2 (en) | Knowledge information collecting system and knowledge information collecting method | |
JP3198941B2 (en) | Information processing device and recording medium | |
JP3725836B2 (en) | Knowledge information collecting system and knowledge information collecting method | |
JP3193249B2 (en) | Keyword search method | |
JP2003122608A (en) | Data filing system and computer program for data filing |