JP5084895B2 - テキストデータ読出装置、方法及びプログラム - Google Patents
テキストデータ読出装置、方法及びプログラム Download PDFInfo
- Publication number
- JP5084895B2 JP5084895B2 JP2010257985A JP2010257985A JP5084895B2 JP 5084895 B2 JP5084895 B2 JP 5084895B2 JP 2010257985 A JP2010257985 A JP 2010257985A JP 2010257985 A JP2010257985 A JP 2010257985A JP 5084895 B2 JP5084895 B2 JP 5084895B2
- Authority
- JP
- Japan
- Prior art keywords
- field
- identification information
- reading
- read
- target
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 24
- 238000012545 processing Methods 0.000 description 26
- 230000000694 effects Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
図7(1)を参照して、従来のレコード解析処理の1の方法は、対象フィールドが設定されると、レコード50の先頭からデータを読み出し、対象フィールドであるフィールド55までデータの読み出しを終えると、レコード解析処理を終了する。
また、図7(2)を参照して、従来のレコード解析処理の他の方法は、(A)初めに、フィールド51〜57の全てのフィールドの識別情報のみをその位置情報とともにキャッシュしておき、(B)その後、字句解析対象のフィールド55をキャッシュした位置情報に基づいて特定し、このフィールド55からテキストデータを読み出し、字句解析する。
このように、本発明のテキストデータ読出装置は、レコードに含まれるフィールドのうち、対象フィールドのフィールド識別情報までを読み出し、対象フィールド以降のフィールドのフィールド識別情報の読み出しを行わない。すなわち、フィールドの内容読み出し時まで当該フィールド以前のフィールドのフィールド識別情報を遅延評価する。これにより、レコードからのテキストデータの読み出しを最適化することができる。
初めに、図1を参照して、本発明のテキストデータ読出装置1を含むテキストデータ読出システム100の構成を説明することで、本発明のテキストデータ読出装置1の構成について説明する。
テキストデータ読出システム100は、1又は複数のサーバにより構成され、本発明のテキストデータ読出装置1(サーバ)と、集計データDB101と、対象フィールド設定手段102と、読出結果DB103と、を含む。ここで、集計データDB101と、対象フィールド設定手段102と、読出結果DB103とは、テキストデータ読出装置1が備えることとしてもよく、テキストデータ読出装置1と通信可能な他のサーバが備えることとしてもよい。
ここで、集計データDB101に記憶される多数のレコードについて、図2に示すレコード30を例にとり説明する。レコードは、フィールドを識別するフィールド識別情報及び当該フィールドの内容を順次配列して構成される。具体的には、レコード30は、フィールド31,32,33,34・・・を区切り文字「:」で区切り順次配列して構成される。そして、これらフィールドは、それぞれ識別情報及び内容が区切り文字で区切られ規定されている。具体的には、フィールド31は、識別情報「ABC」及び内容「100」が区切り文字「,」で区切られ規定されている。なお、集計データDB101は、データベース構造である必要はなく、ファイル形式など適宜好適なフォーマットで実現することができる。
テキストデータ読出システム100では、このようなレコードのうちの任意の位置のフィールドの内容を読み出し、適宜加工することで、インターネット事業に役立つ様々な情報を取得する。
対象フィールド設定手段102は、対象フィールドを決定すると、この対象フィールドの識別情報(以下、「対象フィールド識別情報」)をテキストデータ読出装置1に送信する。
続いて、本発明のテキストデータ読出装置1は、対象フィールド受付手段11と、キャッシュ判定手段12と、識別情報解析手段13と、内容読出手段14と、フィールド位置キャッシュ15と、を含んで構成される。
キャッシュ判定手段12は、後述するフィールド位置キャッシュ15に対象フィールド識別情報がキャッシュされているか否かを判定する。
位置キャッシュ手段132は、識別情報読出手段131が読み出したフィールド識別情報により特定されるフィールドのレコード内における位置を示す情報をフィールド位置キャッシュ15に記憶する。
ここで、フィールド位置キャッシュ15は、図3に示すようにフィールド識別情報とフィールドの位置情報とを関連付けて記憶する。なお、フィールドの位置は、任意の方法で特定することができ、本実施形態では、先頭からのバイト数でフィールドの位置を特定することとしている。
読出終了手段134は、読出判定手段133により対象フィールド識別情報であると判定されることを条件に、識別情報読出手段131によるフィールド識別情報の読み出しを終了する。
以上説明したテキストデータ読出システム100を構成する各サーバ(テキストデータ読出装置1を含む)のハードウェアは、一般的なコンピュータによって構成することができる。一般的なコンピュータは、例えば、制御部として、中央処理装置(CPU)を備える他、記憶部として、メモリ(RAM、ROM)、ハードディスク(HDD)及び光ディスク(CD、DVDなど)を、ネットワーク通信装置として、各種有線及び無線LAN装置を、表示装置として、例えば、液晶ディスプレイ、プラズマディスプレイなどの各種ディスプレイを、入力装置として、例えば、キーボード及びポインティング・デバイス(マウス、トラッキングボールなど)を適宜備え、これらは、バスラインにより接続されている。このような一般的なコンピュータにおいて、CPUは、テキストデータ読出システム100を構成する各サーバを統括的に制御し、各種プログラムを適宜読み出して実行することにより、上述したハードウェアと協働し、本発明に係る各種機能を実現している。
続いて、図4を参照して、テキストデータ読出装置1の動作について説明する。
キャッシュ判定手段12の判定がNOとなると、識別情報解析手段13は、区切り文字により特定されたレコード50のフィールド識別情報のみを前方から対象フィールド識別情報まで順次読み出す。具体的には、識別情報読出手段131がレコード50に含まれるフィールド51のフィールド識別情報を読み出すと、位置キャッシュ手段132がフィールド51の識別情報と位置情報とを対応付けてフィールド位置キャッシュ15に記憶する。続いて、読出判定手段133が読み出したフィールド51が対象フィールドであるか否かを判定する。このとき、フィールド51は対象フィールドではないため、続いて、識別情報読出手段131がフィールド51のフィールド識別情報を読み出す。このように、フィールド識別情報の読み出しとその位置情報のキャッシュとを繰り返し、識別情報読出手段131が読み出したフィールド55の位置情報がキャッシュされると、読出判定手段133は、キャッシュされたフィールド55が対象フィールドであると判定する。すると、読出終了手段134は、識別情報読出手段131によるフィールド識別情報の読み出しを終了する。
読出終了手段134によりフィールド識別情報の読み出しが終了されると、内容読出手段14は、フィールド位置キャッシュ15に記憶された位置情報に基づいて特定される対象フィールド55の内容を読み出し、読出結果DB103に記憶する。
キャッシュ判定手段12の判定がYESとなると、識別情報解析手段13によるフィールド識別情報の読み出しを行わず、内容読出手段14は、フィールド位置キャッシュ15に記憶された位置情報に基づいて特定される対象フィールド53の内容を読み出し、読出結果DB103に記憶する。
続いて、識別情報解析手段13によるフィールド識別情報の読み出しが行われるが、図4(3)では、既にフィールド55のフィールド識別情報の読み出しまでが終了している。そのため、図4(3)では、読み出しが終了したフィールド55の続きのフィールド56からフィールド識別情報の読み出しが開始される。そして、フィールド57のフィールド識別情報の読み出しが行われると、読出終了手段134によりフィールド識別情報の読み出しが終了される。
読出終了手段134によりフィールド識別情報の読み出しが終了されると、内容読出手段14は、フィールド位置キャッシュ15に記憶された位置情報に基づいて特定される対象フィールド57の内容を読み出し、読出結果DB103に記憶する。
また、受け付けた対象フィールドが既に読み出され、その位置情報がキャッシュされている場合には、フィールド識別情報の読み出しを行わず、キャッシュされた位置情報に基づいて内容の読み出しを行う。
続いて、図5を参照して、本発明のテキストデータ読出装置1の処理について説明する。
初めに、対象フィールド受付手段11は、対象フィールド設定手段102から対象フィールドを受け付ける(S1)。続いて、キャッシュ判定手段12は、対象フィールドのフィールド識別情報が既にフィールド位置キャッシュ15にキャッシュされているか否かを判定する(S2)。このとき、対象フィールドのフィールド識別情報が既にキャッシュされている場合には、内容読出手段14は、対象フィールドの内容を読み出し、読出結果DB103に記憶し(S7)、処理を終了する。
テキストデータ読出システム100では、1日当たりgzip形式で圧縮された数テラバイトのレコードの読み出しを行う必要があるため、レコードの読み出しを多数のサーバにより分散して行う分散処理システムとしてテキストデータ読出システム100を構成することが好適である。大規模分散処理に適した分散処理システムとして、MapReduceを実装したオープンソースソフトウェアによるフレームワークとしてHadoopが知られており、テキストデータ読出システム100をHadoopにより構築し、Hadoop上でのデータの操作を、Hadoop上で動作するデータウエアハウス向けのプロダクトであるHiveを用いて行うと好適である。
図6(2)を参照して、マスタサーバMは、対象フィールドの設定を行い、Mapタスクを実行するワーカーサーバWを割り当ててそれぞれについてMapタスクを実行するように要求する。
Mapタスクを実行するワーカーサーバWは、マスタサーバMからの要求を受け、Mapタスク定義に従って対象フィールドの内容を読み出し、処理の完了をマスタサーバMに通知する。
マスタサーバMは、Reduceタスクを実行するワーカーサーバWを割り当ててそれぞれについてReduceタスクを実行するように要求する。
Reduceタスクを実行するワーカーサーバWは、マスターサーバMからの要求を受け、Reduceタスク定義に従ってMapタスクにより生成されたデータセットを適宜加工し、その処理結果であるデータを取得する。
この場合において、内容の読み出しは、複数の対象フィールドの全ての位置情報をキャッシュした後に行っても良く、複数の対象フィールドのうち1の位置情報を読み出すたびに、読み出した対象フィールドの内容を読み出すこととしてもよい。
図4のレコード50を参照して、対象フィールド受付手段11が対象フィールドとしてフィールド52,53,55を受け付けた場合を例にして、具体的に説明する。
フィールド52,53,55の位置情報がフィールド位置キャッシュ15にキャッシュされていないため、識別情報解析手段13は、区切り文字により特定されたレコード50のフィールド識別情報のみを前方から順次読み出す。すなわち、識別情報読出手段131は、フィールド51の識別情報を読み出した後、フィールド52の識別情報を読み出す。ここで、フィールド52は対象フィールドであるが、フィールド52の読み出し時において、複数の対象フィールドの全ての位置情報はキャッシュされていない。そのため、読出判定手段133は、複数の対象フィールド識別情報の全てが読み出されていないと判定し、識別情報読出手段131の読み出しが継続される。その後、識別情報読出手段131により、フィールド53,54,55の識別情報が読み出されると、読出判定手段133は、複数の対象フィールド識別情報の全てが読み出されたと判定し、読出終了手段134は、識別情報読出手段131によるフィールド識別情報の読み出しを終了する。そして、読出終了手段134による読み出し終了に基づいて、内容読出手段14は、フィールド位置キャッシュ15にキャッシュされた位置情報に基づいて複数の対象フィールドを特定し、これら対象フィールドの内容を読み出す。
同様に、識別情報読出手段131は、フィールド51の識別情報を読み出した後、フィールド52の識別情報を読み出す。このとき、フィールド52は複数の対象フィールドのうちの1つであるため、読出判定手段133は、対象フィールド識別情報が読み出されたと判定し、読出終了手段134は、識別情報の読み出しを終了する。そして、読出終了手段134による読み出し終了に基づいて、内容読出手段14は、フィールド位置キャッシュ15にキャッシュされた位置情報に基づいてフィールド52を特定し、フィールド52の内容を読み出す。
内容読出手段14による内容の読出しが終了すると、識別情報読出手段131は、フィールド52以降のフィールドの識別情報、すなわち、フィールド53の識別情報を読み出す。フィールド53も対象フィールドの1つであるため、読出終了手段134は、識別情報の読み出しを終了し、内容読出手段14は、フィールド53の内容を読み出す。
続いて、識別情報読出手段131は、フィールド53以降のフィールドの識別情報、すなわち、フィールド54,55の識別情報を読み出す。フィールド55は、対象フィールドの1つであるため、読出終了手段134は、識別情報の読み出しを終了し、内容読出手段14は、フィールド55の内容を読み出す。
11 対象フィールド受付手段
12 キャッシュ判定手段
13 識別情報解析手段
131 識別情報読出手段
132 位置キャッシュ手段
133 読出判定手段
134 読出終了手段
14 内容読出手段
100 テキストデータ読出システム
101 対象フィールド設定手段
102 集計データDB
103 読出結果DB
Claims (5)
- フィールドを識別するフィールド識別情報及び当該フィールドの内容を順次配列して構成するレコードから対象のフィールドの内容を読み出すテキストデータ読出装置であって、
読み出しの対象となるフィールドのフィールド識別情報である対象フィールド識別情報を受け付ける対象フィールド受付手段と、
前記レコードをフィールド毎に順次字句解析し、前記レコードに含まれるフィールドのフィールド識別情報を読み出す識別情報読出手段と、
読み出した前記フィールド識別情報を当該フィールドの位置を示す情報と関連付けてキャッシュ記憶手段に記憶する位置キャッシュ手段と、
読み出した前記フィールド識別情報が前記対象フィールド識別情報である場合に、前記識別情報読出手段によるフィールド識別情報の読み出しを終了する読出終了手段と、
前記読出終了手段により読み出しが終了されると、前記対象フィールド識別情報に対応するフィールドの内容を読み出す内容読出手段と、
を備えるテキストデータ読出装置。 - 前記対象フィールド受付手段により受け付けられた対象フィールド識別情報が前記キャッシュ記憶手段に記憶されているか否かを判定するキャッシュ判定手段を備え、
前記内容読出手段は、前記キャッシュ判定手段により前記キャッシュ記憶手段に記憶されていると判定されることを条件に、前記キャッシュ記憶手段に記憶された位置を示す情報に基づいて、前記対象フィールド識別情報に対応する内容を読み出す、
請求項1に記載のテキストデータ読出装置。 - 前記読出終了手段は、前記対象フィールド受付手段により受け付けられた対象フィールド識別情報が複数存在する場合には、複数の前記対象フィールド識別情報の全てが前記識別情報読出手段により読み出されることを条件に、前記識別情報読出手段によるフィールド識別情報の読み出しを終了し、
前記内容読出手段は、前記キャッシュ記憶手段に記憶された位置を示す情報に基づいて、複数の前記対象フィールド識別情報に対応する内容を読み出す、
請求項1に記載のテキストデータ読出装置。 - フィールドを識別するフィールド識別情報及び当該フィールドの内容を順次配列して構成するレコードから対象のフィールドの内容を読み出すテキストデータ読出装置が行う、
読み出しの対象となるフィールドのフィールド識別情報である対象フィールド識別情報を受け付けるステップと、
前記レコードをフィールド毎に順次字句解析し、前記レコードに含まれるフィールドのフィールド識別情報を読み出すステップと、
読み出した前記フィールド識別情報を当該フィールドの位置を示す情報と関連付けてキャッシュ記憶手段に記憶するステップと、
読み出した前記フィールド識別情報が前記対象フィールド識別情報である場合に、フィールド識別情報の読み出しを終了するステップと、
前記ステップにより読み出しが終了されると、前記対象フィールド識別情報に対応するフィールドの内容を読み出すステップと、
を含む方法。 - テキストデータ読出装置に、フィールドを識別するフィールド識別情報及び当該フィールドの内容を順次配列して構成するレコードから対象のフィールドの内容を読み出す制御を行わせるプログラムであって、前記テキストデータ読出装置に、
読み出しの対象となるフィールドのフィールド識別情報である対象フィールド識別情報を受け付けるステップと、
前記レコードをフィールド毎に順次字句解析し、前記レコードに含まれるフィールドのフィールド識別情報を読み出すステップと、
読み出した前記フィールド識別情報を当該フィールドの位置を示す情報と関連付けてキャッシュ記憶手段に記憶するステップと、
読み出した前記フィールド識別情報が前記対象フィールド識別情報である場合に、フィールド識別情報の読み出しを終了するステップと、
前記ステップにより読み出しが終了されると、前記対象フィールド識別情報に対応するフィールドの内容を読み出すステップと、
を実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010257985A JP5084895B2 (ja) | 2010-11-18 | 2010-11-18 | テキストデータ読出装置、方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010257985A JP5084895B2 (ja) | 2010-11-18 | 2010-11-18 | テキストデータ読出装置、方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012108782A JP2012108782A (ja) | 2012-06-07 |
JP5084895B2 true JP5084895B2 (ja) | 2012-11-28 |
Family
ID=46494327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010257985A Expired - Fee Related JP5084895B2 (ja) | 2010-11-18 | 2010-11-18 | テキストデータ読出装置、方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5084895B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114285719B (zh) * | 2021-12-23 | 2024-05-14 | 天翼视讯传媒有限公司 | 多idc环境中集中识别不同类网络设备的策略方法和系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4860416B2 (ja) * | 2006-09-29 | 2012-01-25 | 株式会社ジャストシステム | 文書検索装置、文書検索方法および文書検索プログラム |
US9454597B2 (en) * | 2007-11-15 | 2016-09-27 | Nec Corporation | Document management and retrieval system and document management and retrieval method |
JP5225021B2 (ja) * | 2008-10-29 | 2013-07-03 | 日本電信電話株式会社 | 全文検索方法及び装置及びプログラム |
-
2010
- 2010-11-18 JP JP2010257985A patent/JP5084895B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012108782A (ja) | 2012-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10372723B2 (en) | Efficient query processing using histograms in a columnar database | |
Wang et al. | Performance prediction for apache spark platform | |
US9612807B2 (en) | Code placement using a dynamic call graph | |
US9984130B2 (en) | Batch-optimized render and fetch architecture utilizing a virtual clock | |
US9864749B2 (en) | Methods for provisioning workloads in a storage system using machine learning and devices thereof | |
US10015253B2 (en) | System and method for preemptive request processing | |
TW201329890A (zh) | 店鋪訪問資料處理方法及系統 | |
US10657099B1 (en) | Systems and methods for transformation and analysis of logfile data | |
WO2016115957A1 (zh) | 一种面向用户与应用的计算机与智能设备加速方法和装置 | |
KR20200029387A (ko) | 캐시 최적화 및 효율적인 프로세싱을 위한 데이터 집성 방법 | |
CN105468737A (zh) | 一种网络服务大数据分析方法、云计算平台及挖掘系统 | |
EP2901302B1 (en) | Session-server affinity for clients that lack session identifiers | |
US20170212959A1 (en) | Codeless information service for abstract retrieval of disparate data | |
US20220035794A1 (en) | Data retrieval via incremental updates to graph data structures | |
Suguna et al. | Big data analysis in e-commerce system using HadoopMapReduce | |
WO2014141355A1 (ja) | 計算機システム、データ管理方法及びプログラムを格納する記録媒体 | |
US20170017574A1 (en) | Efficient cache warm up based on user requests | |
US11714573B1 (en) | Storage optimization in a distributed object store | |
JP2017191387A (ja) | データ処理プログラム、データ処理方法およびデータ処理装置 | |
JP5084895B2 (ja) | テキストデータ読出装置、方法及びプログラム | |
CN106910082A (zh) | 一种调取广告进行推送的方法和装置 | |
JP5655764B2 (ja) | サンプリング装置、サンプリングプログラム、およびその方法 | |
US10769110B2 (en) | Facilitating queries for interaction data with visitor-indexed data objects | |
CN111078975A (zh) | 一种多节点增量式数据采集系统及采集方法 | |
CN106910081A (zh) | 一种信息处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20120312 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120807 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120904 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5084895 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150914 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees | ||
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |