JP5867208B2 - データモデル変換プログラム、データモデル変換方法およびデータモデル変換装置 - Google Patents
データモデル変換プログラム、データモデル変換方法およびデータモデル変換装置 Download PDFInfo
- Publication number
- JP5867208B2 JP5867208B2 JP2012061193A JP2012061193A JP5867208B2 JP 5867208 B2 JP5867208 B2 JP 5867208B2 JP 2012061193 A JP2012061193 A JP 2012061193A JP 2012061193 A JP2012061193 A JP 2012061193A JP 5867208 B2 JP5867208 B2 JP 5867208B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- array
- information
- item
- processing unit
- 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
- 238000013499 data model Methods 0.000 title claims description 101
- 238000006243 chemical reaction Methods 0.000 title claims description 68
- 238000000034 method Methods 0.000 title claims description 54
- 238000012217 deletion Methods 0.000 claims description 19
- 230000037430 deletion Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 description 208
- 238000010586 diagram Methods 0.000 description 18
- 238000004458 analytical method Methods 0.000 description 10
- 238000011161 development Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
- G06F16/212—Schema design and management with details for data modelling support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
図1は、実施例1に係るシステムの全体構成例を示す図である。図1に示すように、このシステムは、アプリサーバ10、アプリサーバ20、データベースサーバ40、データベースサーバ50の各々が、ネットワークスイッチ30を介して相互に接続されている。なお、図1に示した各サーバやネットワークスイッチの数はあくまで例示であり、これに限定されるものではない。
次に、図1に示したアプリサーバについて説明する。図1に示したアプリサーバ10とアプリサーバ20とは同様の構成を有するので、ここでは、アプリサーバ10を例にして説明する。また、図1に示した各データベースサーバは、一般的なデータベースサーバと同様の構成を有するので、詳細な説明は省略する。
次に、アプリサーバ10が実行するエンコード処理とデコード処理の各々について説明する。
図3は、エンコード処理の流れを示すフローチャートである。図3に示すように、エンコード処理部14は、エンコード処理を開始すると、初期化処理として接頭語を空文字と決定する(S101)。
図4は、デコード処理の流れを示すフローチャートである。図4に示すように、デコード処理部15は、デコード処理を開始すると、次の要素を読み込む(S201)。なお、処理開始時には、デコード処理部15によってデコード対象の先頭データが読み込まれる。例えば、デコード処理部15の判別部15aは、「“_0.id”:0」などのように、1レコードを読み込む。
次に、図5と図6とを用いて、図3で説明したエンコード処理と図4で説明したデコード処理の各々について、具体例を説明する。図5は、アプリサーバ側が処理対象とするデータ構成例を示す図である。図6は、データベースに格納されるデータ構成例を示す図である。
図5から図6を生成する具体例を説明する。まず、判別部14aは、図5に示したデータベースから先頭の“[”を読み込む。続いて、判別部14aは、読み込んだ“[”を配列の始まりと判定する。すると、配列処理部14bは、当該“[”が初めの配列であることから、「接頭語+記号+連番」として「_0」などを生成する。
ここでは、図6から図5を生成する具体例を説明する。まず、判別部15aは、図6に示したデータベースから先頭の「{ ”_0.id“:0」を読み込む。続いて、キー解析部15bは、要素「“_0.id”:0」の先頭に位置する「」を削除して、「」に続く「“_0.id”:0」を読み込む。
このように、実施例1に係る変換部13は、アプリケーションが処理対象とする階層構造のデータをデータベースサーバが処理対象とするKVSに格納する際に、データが配列かオブジェクトか値かによって変換ルールを変更してデータ変換することができる。
ここでは、図5に示したデータ構造の最後尾にデータを追加して図7に示したデータ構造を生成する例について説明する。図7は、図5の状態から本文にデータを追加した場合のデータ構成例を示す図である。図8は、本文が追加された後のデータベースに格納されるデータ構成例を示す図である。つまり、ここでは、アプリケーション側では図7に示したデータ構造になるようにデータを追加することで、データベースサーバ側では図6に示した状態からデータを追加して図8に示したデータ構造を生成する例について説明する。
“id” : 1,
“title” : “タイトル2”,
“body” : “本文2”,
“author” : “ユーザ2”,
}
次に、アプリサーバ10で実行されるアプリケーションが、データベースサーバ40に記憶されるデータを参照する例を説明する。例えば、アプリケーション11は、変換部13に対して、APIとして「getlist();」を実行する。
“id” : 1,
“title” : “タイトル2”,
“body” : “本文2”,
“author” : “ユーザ2”,
}
ここでは、図7に示したデータ構造の途中にデータを追加して図9に示したデータ構造を生成する例について説明する。図9は、図7の状態からコメントを追加した場合のデータ構成例を示す図である。図10は、コメントが追加された後のデータベースに格納されるデータ構成例を示す図である。つまり、ここでは、アプリケーション側では図9に示したデータ構造になるようにデータを追加し、データベースサーバ側では図8に示した状態からデータを追加して図10に示したデータ構造を生成する例について説明する。
“id” : 102,
“author” : “ユーザ2”,
“text” : “コメント3”,
}
ここでは、図10に示したデータ構造からデータを削除する例について説明する。一例として、2件目のブログ記事を削除する例について説明する。つまり、アプリケーション側がデータベースサーバのデータモデルを意識することなく、アプリケーションの操作によってデータベースサーバからデータを削除する例について説明する。
“_1.id” : 1,
“_1.title” : “タイトル2”,
“_1.body” : “本文2”,
“_1.author” : “ユーザ2”,
}
上記実施例で説明したデータ構造はあくまで一例であり、実施例で説明したデータ構造に限定されない。例えば、実施例では、1階層を例にしたが、2階層以上でも同様に処理することができる。また、実施例では、JSON形式でデータの受け渡しを実行する例について説明したが、これに限定されるものではなく、XML(Extensible Markup Language)など他の形式であってもよい。
上記実施例では、アプリサーバが変換部を有する例について説明したが、これに限定されるものではなく、例えば、データベースサーバが変換部を有していてもよく。また、アプリサーバやデータベースサーバとは別の筐体で、データモデル変換処理を実行する変換部を有するサーバ装置を実現してもよい。
上記実施例では、配列については「_」、オブジェクトについては「.」を用いて、データを結合する例を説明したが、これに限定されるものではなく、「#」や「$」など他の記号を用いてもよい。また、順番情報として0からインクリメントしていく例を説明したが、これに限定されるものではなく、例えば100からデクリメントしてもよく、順番を特定できる手法であれば、任意の手法を用いることができる。
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。
11 アプリケーション
12 データベース接続部
13 変換部
14 エンコード処理部
14a 判別部
14b 配列処理部
14c オブジェクト処理部
14d 値処理部
14e 出力部
15 デコード処理部
15a 判別部
15b キー解析部
15c 配列処理部
15d オブジェクト処理部
15e 出力部
Claims (6)
- コンピュータを、
第1のデータモデルで定義されるデータを構成するデータ項目に設定される情報が配列であることを示す第1の記号と一致する場合に、当該データ項目の種別を前記配列と判定し、前記配列であることを示す配列情報と前記配列の順番を示す順番情報とを結合した情報を、第2のデータモデルで項目名と値とを用いて定義されるデータの前記項目名に追加する第1の追加手段と、
前記データ項目に設定される情報がオブジェクトであることを示す、前記第1の記号とは異なる第2の記号を含む場合に、当該データ項目の種別を前記オブジェクトと判定し、前記オブジェクトであることを示すオブジェクト情報と前記データ項目に設定される情報である要素とを結合した情報を、前記項目名に追加する第2の追加手段と、
前記データ項目に設定される情報が値であることを示す、前記第1の記号および前記第2の記号とは異なる第3の記号を含む場合に、当該データ項目の種別を前記値と判定し、前記値を前記項目名に対応付けて、前記第2のデータモデルで定義されるデータを生成する第1の生成手段と
して機能させるためのデータモデル変換プログラム。 - 前記コンピュータを
前記第2のデータモデルで定義されるデータベースに追加対象のデータが、新たな配列である場合には、前記配列情報と、前記データベースにおける末尾のデータであることを特定する順番情報とを結合して前記項目名を生成する第2の生成手段と、
前記オブジェクト情報と、前記追加対象のデータにおいてオブジェクトである要素とを結合した情報を前記項目名に追加する第3の追加手段と、
前記追加対象のデータにおける値と、前記項目名とを対応付けたデータを、前記第2のデータモデルで定義されるデータベースに、前記新たな配列として追加する第4の追加手段としてさらに機能させることを特徴とする請求項1に記載のデータモデル変換プログラム。 - 前記コンピュータを
前記第2のデータモデルで定義されるデータベースに追加対象のデータが、既存の配列の新たな要素である場合には、前記配列情報と、前記既存の配列における末尾の要素であることを特定する順番情報とを結合した情報を、前記既存の配列を特定する項目名に追加する第5の追加手段と、
前記オブジェクト情報と、前記追加対象のデータにおいてオブジェクトである要素とを結合した情報を前記項目名に追加する第6の追加手段と、
前記追加対象のデータにおける値と、前記項目名とを対応付けたデータを、前記第2のデータモデルで定義されるデータベースに、前記既存の配列の新たな要素として追加する第7の追加手段としてさらに機能させることを特徴とする請求項1に記載のデータモデル変換プログラム。 - 前記コンピュータを
前記第2のデータモデルで定義されるデータベースから削除対象のデータが、配列である場合に、当該配列を特定する前記配列情報と前記順番情報との組み合わせを、前記項目名として有するデータを前記データベースから特定する特定手段と、
特定した前記配列情報と前記順番情報との組み合わせを有する前記データを、前記データベースから削除する削除手段としてさらに機能させることを特徴とする請求項1に記載のデータモデル変換プログラム。 - 第1の追加手段が、第1のデータモデルで定義されるデータを構成するデータ項目に設定される情報が配列であることを示す第1の記号と一致する場合に、当該データ項目の種別を前記配列と判定し、前記配列であることを示す配列情報と配列の順番を示す順番情報とを結合した情報を、第2のデータモデルで項目名と値とを用いて定義されるデータの前記項目名に追加し、
第2の追加手段が、前記データ項目に設定される情報がオブジェクトであることを示す、前記第1の記号とは異なる第2の記号を含む場合に、当該データ項目の種別を前記オブジェクトと判定し、前記オブジェクトであることを示すオブジェクト情報と前記データ項目に設定される情報である要素とを結合した情報を、前記項目名に追加し、
生成手段が、前記データ項目に設定される情報が値であることを示す、前記第1の記号および前記第2の記号とは異なる第3の記号を含む場合に、当該データ項目の種別を前記値と判定し、前記値を前記項目名に対応付けて、前記第2のデータモデルで定義されるデータを生成する
ことを特徴とするデータモデル変換方法。 - 第1のデータモデルで定義されるデータを構成するデータ項目に設定される情報が配列であることを示す第1の記号と一致する場合に、当該データ項目の種別を前記配列と判定し、前記配列であることを示す配列情報と前記配列の順番を示す順番情報とを結合した情報を、第2のデータモデルで項目名と値とを用いて定義されるデータの前記項目名に追加する第1追加部と、
前記データ項目に設定される情報がオブジェクトであることを示す、前記第1の記号とは異なる第2の記号を含む場合に、当該データ項目の種別を前記オブジェクトと判定し、前記オブジェクトであることを示すオブジェクト情報と前記データ項目に設定される情報である要素とを結合した情報を、前記項目名に追加する第2追加部と、
前記データ項目に設定される情報が値であることを示す、前記第1の記号および前記第2の記号とは異なる第3の記号を含む場合に、当該データ項目の種別を前記値と判定し、前記値を前記項目名に対応付けて、前記第2のデータモデルで定義されるデータを生成する生成部と
を有することを特徴とするデータモデル変換装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012061193A JP5867208B2 (ja) | 2012-03-16 | 2012-03-16 | データモデル変換プログラム、データモデル変換方法およびデータモデル変換装置 |
US13/751,342 US20130246479A1 (en) | 2012-03-16 | 2013-01-28 | Computer-readable recording medium, data model conversion method, and data model conversion apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012061193A JP5867208B2 (ja) | 2012-03-16 | 2012-03-16 | データモデル変換プログラム、データモデル変換方法およびデータモデル変換装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013196205A JP2013196205A (ja) | 2013-09-30 |
JP5867208B2 true JP5867208B2 (ja) | 2016-02-24 |
Family
ID=49158679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012061193A Expired - Fee Related JP5867208B2 (ja) | 2012-03-16 | 2012-03-16 | データモデル変換プログラム、データモデル変換方法およびデータモデル変換装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130246479A1 (ja) |
JP (1) | JP5867208B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103392320B (zh) * | 2010-12-29 | 2016-08-31 | 思杰系统有限公司 | 对加密项目进行多层标记以提供额外的安全和有效的加密项目确定的系统和方法 |
JP7449190B2 (ja) * | 2020-07-28 | 2024-03-13 | 株式会社日立製作所 | データ移行システムおよびデータ移行方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5379419A (en) * | 1990-12-07 | 1995-01-03 | Digital Equipment Corporation | Methods and apparatus for accesssing non-relational data files using relational queries |
US6360223B1 (en) * | 1997-12-22 | 2002-03-19 | Sun Microsystems, Inc. | Rule-based approach to object-relational mapping strategies |
JP4526156B2 (ja) * | 2000-05-22 | 2010-08-18 | サンデン株式会社 | コイン処理装置 |
JP2003285304A (ja) * | 2002-01-28 | 2003-10-07 | Matsushita Electric Works Ltd | 繊維板、その繊維板の製造方法及びその繊維板を用いた構造用壁下地材 |
US7490093B2 (en) * | 2003-08-25 | 2009-02-10 | Oracle International Corporation | Generating a schema-specific load structure to load data into a relational database based on determining whether the schema-specific load structure already exists |
US10032130B2 (en) * | 2005-03-07 | 2018-07-24 | Ca, Inc. | System and method for providing data manipulation using web services |
US20080201234A1 (en) * | 2007-02-16 | 2008-08-21 | Microsoft Corporation | Live entities internet store service |
JP2009169789A (ja) * | 2008-01-18 | 2009-07-30 | Kota Ogawa | 文字入力システム |
US7952500B2 (en) * | 2009-01-27 | 2011-05-31 | Tatu Ylonen Oy | Serialization of shared and cyclic data structures using compressed object encodings |
JP4385387B1 (ja) * | 2009-07-02 | 2009-12-16 | 修平 西山 | 属性付きキー・バリュー・ストアによるデータベース・システム |
US8578246B2 (en) * | 2010-05-31 | 2013-11-05 | International Business Machines Corporation | Data encoding in solid-state storage devices |
US9460189B2 (en) * | 2010-09-23 | 2016-10-04 | Microsoft Technology Licensing, Llc | Data model dualization |
US8838653B2 (en) * | 2010-11-01 | 2014-09-16 | Cisco Technology, Inc. | Translating an object-oriented data model to a YANG data model |
US20120158655A1 (en) * | 2010-12-20 | 2012-06-21 | Microsoft Corporation | Non-relational function-based data publication for relational data |
-
2012
- 2012-03-16 JP JP2012061193A patent/JP5867208B2/ja not_active Expired - Fee Related
-
2013
- 2013-01-28 US US13/751,342 patent/US20130246479A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20130246479A1 (en) | 2013-09-19 |
JP2013196205A (ja) | 2013-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6285943B2 (ja) | 文字列変換の帰納的合成のための順位付け | |
Kyrola | Drunkardmob: billions of random walks on just a pc | |
JP6550448B2 (ja) | データ管理装置、データ管理方法、およびプログラム | |
JP2007317189A (ja) | 3要素モデルに基づく検索情報加工方法 | |
JP6331756B2 (ja) | テストケース生成プログラム、テストケース生成方法、及びテストケース生成装置 | |
RU2634223C2 (ru) | Способ (варианты) и система (варианты) управления данными, связанными с иерархической структурой | |
JP5867208B2 (ja) | データモデル変換プログラム、データモデル変換方法およびデータモデル変換装置 | |
CN105843809B (zh) | 数据处理方法和装置 | |
JP2017126185A (ja) | 符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置 | |
US20140324878A1 (en) | System and method for search indexing | |
CN108121807B (zh) | Hadoop环境下多维索引结构OBF-Index的实现方法 | |
JP7381290B2 (ja) | 計算機システム及びデータの管理方法 | |
US11550777B2 (en) | Determining metadata of a dataset | |
JP2015115652A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP6402637B2 (ja) | 分析プログラム、分析方法及び分析装置 | |
JP6123372B2 (ja) | 情報処理システム、名寄せ判定方法及びプログラム | |
JP6753190B2 (ja) | 文書検索装置及びプログラム | |
JP2016170453A (ja) | データ格納制御装置、データ格納制御システム、データ格納制御方法、及び、データ格納制御プログラム | |
Kaushal et al. | Big data application in medical domain | |
JP5441791B2 (ja) | 検索機能付きファイルストレージ装置及びプログラム | |
JP5411954B2 (ja) | ツリー抽出装置、ツリー抽出システム、ツリー抽出方法、及びツリー抽出プログラム | |
JP7105717B2 (ja) | 情報処理装置、抽出方法、およびプログラム | |
JP6480495B2 (ja) | データ管理装置、データ管理方法、およびプログラム | |
US10942969B2 (en) | Non-transitory computer-readable storage medium, search control method, and search control apparatus | |
JP2008198053A (ja) | 仮想フォルダ構築装置及び仮想フォルダ構築方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141112 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150708 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150804 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151005 |
|
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: 20151208 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151221 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5867208 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |