(57)【特許請求の範囲】
【請求項１】
モバイル端末により実行されるデータ記憶方法であって、
前記モバイル端末は、
基礎となる記憶媒体として、キー値、キー値に基づいてデータを記憶する非リレーショナルデータベースを使用し、
複数のメタデータと、前記キー値の前記非リレーショナルデータベースに記憶されている前記データの対応するキー値との間の対応関係をキャッシュに保存し、
前記データ記憶方法は、
第１のオリジナルデータを、予め設定された形式を有する第１のデータに変換するステップ（１０１）であって、オリジナルデータは、各種のアプリケーションのうちの１つによって必要とされるデータであり、ローカルにキャッシュされるものであり、前記予め設定された形式は、前記各種のアプリケーションのうちの異なるアプリケーションによって必要とされるオリジナルデータとの構造的な違いを排除し、前記第１のデータは第１のキー値を有する、ステップと、
前記第１のデータの第１のメタデータを作成するステップ（１０２）と、
前記対応関係に従って、前記第１のデータが前記非リレーショナルデータベースに記憶されているかどうかを判定するステップ（１０３）であって、前記対応関係が（ｉ）前記第１のキー値と（ｉｉ）前記第１のメタデータと同一の第２のメタデータとの間の関係を含む場合、前記第１のデータは、前記非リレーショナルデータベースに記憶されていると判定するステップ、及び、それ以外の場合、前記第１のデータは、前記非リレーショナルデータベースに記憶されていないと判定するステップを含む、ステップと、
前記第１のデータが前記非リレーショナルデータベースに記憶されていない場合には、前記第１のデータ、前記第１のデータの前記第１のメタデータ、及び前記第１のデータの前記第１のキー値を前記キャッシュに保存し（１０４）、及び、それ以外の場合、前記キャッシュの更新を実行せず、前記オリジナルデータ、前記第１のデータ、及び前記第１のメタデータを削除するステップと、
予め設定されたトリガ条件が満たされた場合には、まだ前記非リレーショナルデータベースに記憶されていない、前記キャッシュ内の前記第１のデータ、前記第１のデータの前記第１のメタデータ、及び前記第１のデータの前記キー値を、前記非リレーショナルデータベースに記憶するステップ（１０５）と
を備える、方法。
【請求項２】
前記モバイル端末の再起動後、前記非リレーショナルデータベース内の、前記第１のメタデータの各ピースと前記対応するキー値との間の前記対応関係を前記キャッシュに保存するステップを更に備える、請求項１に記載の方法。
【請求項３】
前記第１のデータ、前記第１のデータの前記第１のメタデータ、及び前記第１のデータの前記キー値を、前記キャッシュに保存する前記ステップが、前記キャッシュに保存されていて、前記第１のデータの前記キー値に対応する前記第２のメタデータを前記第１のメタデータへ更新し、前記第１のデータを記憶するステップを備える、請求項２に記載の方法。
【請求項４】
前記第２のメタデータが前記第１のメタデータと同一であるかどうかを判定するステップが、前記第２のメタデータのハッシュ値が前記第１のメタデータのハッシュ値と同一であるかどうかを判断し、同一である場合には、前記第２のメタデータが前記第１のメタデータと同一であると判定し、同一でない場合には、前記第２のメタデータが前記第１のメタデータと異なると判定するステップを備える、請求項３に記載の方法。
【請求項５】
前記予め設定されたトリガ条件は、予め設定された時間が経過すること、又は、キャッシュされたデータ量が予め設定された閾値に達することを備える、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
データ読み出し中に、対応する第１のデータが前記キャッシュに保存されているかどうかを判定するために、キー値に従って前記キャッシュを検索するステップと、
前記キー値に対応する前記第１のデータが前記キャッシュに保存されていない場合には、前記キャッシュに保存され、前記キー値に対応するメタデータに従って、前記キー値に対応する前記第１のデータを前記非リレーショナルデータベースから取得するステップと、
前記第１のデータを前記第１のオリジナルデータへ変換し、データ読み出し結果を返すステップと
を更に備える、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記キー値に対応する前記第１のデータが前記キャッシュに保存されている場合には、前記第１のデータをオリジナル形式に変換し、データ読み出し結果を返すステップを更に備える、請求項６に記載の方法。
【請求項８】
前記第１のデータは、前記キャッシュ又は前記非リレーショナルデータベースに記憶される前に暗号化される、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
モバイル端末のためのデータ記憶装置であって、
オリジナルデータを、予め設定された形式を有する第１のデータに変換するように構成された第１の変換部（３０１）であって、オリジナルデータは、各種のアプリケーションのうちの１つによって必要とされるデータであり、ローカルにキャッシュされるものであり、前記予め設定された形式は、前記各種のアプリケーションのうちの異なるアプリケーションによって必要とされるオリジナルデータとの構造的な違いを排除し、前記第１のデータは第１のキー値を有する、第１の変換部と、
前記第１のデータの第１のメタデータを作成するように構成されたメタデータ作成部（３０２）と、
基礎となる記憶媒体として使用される、キー値に基づいてデータを記憶するように構成された非リレーショナルデータベースと、
複数のメタデータと、前記非リレーショナルデータベースに記憶されている前記データの対応するキー値との間の対応関係を保存するように構成されたデータキャッシュ部（３０４）と、
前記データキャッシュ部に保存された前記対応関係に従って、前記第１のデータが前記非リレーショナルデータベースに記憶されているかどうかを判定するように構成された記憶判定部（３０３）であって、前記対応関係が（ｉ）前記第１のキー値と（ｉｉ）前記第１のメタデータと同一の第２のメタデータとの間の関係を含む場合、前記第１のデータは、前記非リレーショナルデータベースに記憶されていると判定すること、及び、それ以外の場合、前記第１のデータは、前記非リレーショナルデータベースに記憶されていないと判定することを含む、前記記憶判定部と
を備え、
前記モバイル端末は、前記第１のデータが前記非リレーショナルデータベースに記憶されていない場合には、前記第１のデータ、前記第１のデータの前記第１のメタデータ、及び前記第１のデータの前記キー値を前記データキャッシュ部（３０４）に保存し、それ以外の場合、前記キャッシュの更新を実行せず、前記オリジナルデータ、前記第１のデータ、及び前記第１のメタデータを削除するように構成され、
前記モバイル端末は、予め設定されたトリガ条件が満たされた場合には、まだ前記非リレーショナルデータベースに記憶されていない、前記データキャッシュ部（３０４）内の前記第１のデータ、前記第１のデータの前記第１のメタデータ、及び前記第１のデータの前記キー値を、データ記憶部（３０５）に記憶するように構成される、
装置。
【請求項１０】
前記データキャッシュ部は、具体的に、前記データキャッシュ部（３０４）に保存されており、前記第１のデータの前記キー値に対応する前記第２のメタデータを、前記第１のメタデータへ更新し、前記第１のデータを記憶するように構成される、請求項９に記載の装置。
【請求項１１】
前記記憶判定部は、具体的に、前記第２のメタデータのハッシュ値が前記第１のメタデータのハッシュ値と同一であるかどうかを判定し、同一である場合には、前記第２のメタデータが前記第１のメタデータと同一であると判定し、同一でない場合には、前記第２のメタデータが前記第１のメタデータと異なると判定するように構成される、請求項１０に記載の装置。
【請求項１２】
前記予め設定されたトリガ条件は、予め設定された時間が経過すること、又は、キャッシュされたデータ量が予め設定された閾値に達することを備える、請求項９〜１１のいずれか一項に記載の装置。
【請求項１３】
データ読み出し中に、対応する第１のデータが前記データキャッシュ部（３０４）に保存されているかどうかを判定するために、キー値に従って前記キャッシュを検索するように構成された第１の読み出し部（３０６）と、
前記キー値に対応する前記第１のデータが前記データキャッシュ部（３０４）に保存されていない場合には、前記データキャッシュ部（３０４）に保存され、前記キー値に対応する前記メタデータに従って、前記キー値に対応する前記第１のデータを前記非リレーショナルデータベースから取得するように構成された第２の読み出し部（３０７）と、
前記第１のデータを前記オリジナルデータへ変換し、読み出し結果を返すように構成された第２の変換部（３０８）と
を更に備える、請求項９〜１２のいずれか一項に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、記憶技術の分野に関し、詳細には、モバイル端末のためのデータ記憶方法及び装置に関する。
【背景技術】
【０００２】
科学技術の発達とともに、スマートフォンやタブレットコンピュータのようなモバイル端末が増加し、ますます人々の生活に入り込んできている。ユーザはモバイル端末に様々なアプリケーションをインストールできるので、モバイル端末へローカルに記憶せねばならないデータ量は増えることになる。データは多様な形式（フォーマット）、及び頻繁に変わる構造を持つため、モバイル端末の読み出し及び書き込み性能に大きな影響を及ぼし、同時に、アプリケーションの開発、操作、メンテナンスの効率も低下させる。
【発明の概要】
【０００３】
上記に鑑み、本願はデータ記憶方法及び装置を提供する。具体的には、本願は以下の技術的解決策を用いて実施される。
モバイル端末のためのデータ記憶方法は、オリジナルデータに形式変換を実行して予め設定された形式の第１のデータを得るステップと、前記第１のデータの第１のメタデータを作成するステップと、キャッシュ（キャッシュメモリ）に保存された、キー値とメタデータとの間の対応関係に従って、前記第１のデータがデータベースに記憶されているかどうかを判断するステップと、前記第１のデータが前記データベースに記憶されていない場合には、前記第１のデータ、前記第１のデータの前記第１のメタデータ、及び前記第１のデータのキー値を前記キャッシュに保存するステップと、予め設定されたトリガ条件が満たされた場合には、まだ前記データベースに記憶されていない、前記キャッシュ内の前記第１のデータ、前記第１のデータの前記第１のメタデータ、及び前記第１のデータの前記キー値を、前記データベースに記憶するステップとを備える。
【０００４】
キャッシュに保存された、キー値とメタデータとの間の対応関係に従って、前記第１のデータがデータベースに記憶されているかどうかを判断する前記ステップは、前記第１のデータの前記キー値に従って、前記キー値に対応する第２のメタデータが前記キャッシュに保存されているかどうかを判断するステップと、前記キー値に対応する前記第２のメタデータが前記キャッシュに保存されていない場合には、前記第１のデータが前記データベースに記憶されていないと判定するステップとを備えても良い。
【０００５】
前記方法は、前記キー値に対応する前記第２のメタデータが前記キャッシュに保存されている場合には、前記第２のメタデータが前記第１のメタデータと同一であるかどうかをと判断するステップと,前記第２のメタデータが前記第１のメタデータと異なる場合には、前記第１のデータが前記データベースに記憶されていないと判定するステップとを更に備え、前記第１のデータ、前記第１のデータの前記第１のメタデータ、及び前記第１のデータのキー値を、前記データベースに記憶する前記ステップは,前記キャッシュに保存されていて、前記第１のデータの前記キー値に対応する前記第２のメタデータを前記第１のメタデータへ更新し、前記第１のデータを記憶するステップを備えても良い。
【０００６】
前記第２のメタデータが前記第１のメタデータと同一であるかどうかを判断する前記ステップは、前記第２のメタデータのハッシュ値が前記第１のメタデータのハッシュ値と同一であるかどうかを判断し、同一である場合には、前記第２のメタデータが前記第１のメタデータと同一であると判定し、同一でない場合には、前記第２のメタデータが前記第１のメタデータと異なると判定するステップを備えても良い。
【０００７】
前記予め設定されたトリガ条件は、予め設定された時期に到達すること、及び、キャッシュされたデータ量が予め設定された閾値に達することを備えても良い。
【０００８】
前記方法は、データ読み出し中に、前記対応する第１のデータが前記キャッシュに保存されているかどうかを判定するために、前記キー値に従って前記キャッシュを検索するステップと、前記キー値に対応する前記第１のデータが前記キャッシュに保存されていない場合には、前記キャッシュに保存され、前記キー値に対応する前記メタデータに従って、前記キー値に対応する前記第１のデータを前記データベースから取得するステップと、前記第１のデータを前記オリジナルデータへ変換し、読み出し結果を戻すステップと；を更に備えても良い。
【０００９】
モバイル端末のためのデータ記憶装置は、オリジナルデータに形式変換を実行して予め設定された形式の第１のデータを得るように構成された第１の変換部と、前記第１のデータの第１のメタデータを作成するように構成されたメタデータ作成部と、キャッシュに保存された、キー値とメタデータとの間の対応関係に従って、前記第１のデータがデータベースに記憶されているかどうかを判断するように構成された記憶判断部と、前記第１のデータが前記データベースに記憶されていない場合には、前記第１のデータ、前記第１のデータの前記第１のメタデータ、及び前記第１のデータのキー値を前記キャッシュに保存するように構成されたデータキャッシュ部と、予め設定されたトリガ条件が満たされた場合には、まだ前記データベースに記憶されていない、前記キャッシュ内の前記第１のデータ、前記第１のデータの前記第１のメタデータ、及び前記第１のデータの前記キー値を、前記データベースに記憶するように構成されたデータ記憶部とを備える。
【００１０】
前記記憶判断部は、具体的に、前記キー値に対応する第２のメタデータが前記キャッシュに保存されているかどうかを、前記第１のデータの前記キー値に従って判断し、前記キー値に対応する前記第２のメタデータが前記キャッシュに保存されていない場合には、前記第１のデータが前記データベースに記憶されていないと判断するように構成されても良い。
【００１１】
前記記憶判断部は、具体的に、前記キー値に対応する前記第２のメタデータが前記キャッシュに保存されている場合には、前記第２のメタデータが前記第１のメタデータと同一であるかどうかを判断し、前記第２のメタデータが前記第１のメタデータと異なる場合には、前記第１のデータが前記データベースに記憶されていないと判断するように構成され、及び、前記データキャッシュ部は、具体的に、前記キャッシュに保存されており、前記第１のデータの前記キー値に対応する前記第２のメタデータを、前記第１のメタデータへ更新し、前記第１のデータを記憶するように構成されても良い。
【００１２】
前記記憶判断部は、具体的に、前記第２のメタデータのハッシュ値が前記第１のメタデータのハッシュ値と同一であるかどうかを判断し、同一である場合には、前記第２のメタデータが前記第１のメタデータと同一であると判定し、同一でない場合には、前記第２のメタデータが前記第１のメタデータと異なると判定するように構成されても良い。
【００１３】
前記予め設定されたトリガ条件は、予め設定された時期に到達すること、及びキャッシュされたデータ量が予め設定された閾値に達することを備えても良い。
【００１４】
前記装置は、データ読み出し中に、前記対応する第１のデータが前記キャッシュに保存されているかどうかを判定するために、前記キー値に従って前記キャッシュを検索するように構成された第１の読み出し部と、前記キー値に対応する前記第１のデータが前記キャッシュに保存されていない場合には、前記キャッシュに保存され、前記キー値に対応する前記メタデータに従って、前記キー値に対応する前記第１のデータを前記データベースから取得するように構成される第２の読み出し部と、前記第１のデータを前記オリジナルデータへ変換し、読み出し結果を戻すように構成される第２の変換部とを更に備えても良い。
【００１５】
上の説明から、本願が、オリジナルデータを、予め設定された形式に変換してから、その変換データをキー値ベースの非リレーショナルデータベースに記憶することができ、データの構造の違いを排除でき、データの互換性とデータの読み出し／書き込み効率とを向上できることが分かる。
【図面の簡単な説明】
【００１６】
【図１】本願の例示の実施の形態によるモバイル端末のためのデータ記憶方法の概略フローチャートである。
【図２】第１のデータがデータベースに記憶されているかどうかを、本願の例示の実施の形態に従って判定するステップの概略フローチャートである。
【図３】本願の例示の実施の形態によるモバイル端末の概略構造図である。
【図４】本願の例示の実施の形態によるモバイル端末のためのデータ記憶装置の概略構造図である。
【発明を実施するための形態】
【００１７】
ここでは、例示の実施の形態を詳細に説明し、その実施例を添付の図面に示す。添付の図面が関わる以下の説明において、添付の種々の図面における同一の符号は、特に明記しない限り同一又は類似の要素を示す。以下の例示の実施の形態で説明される実施の方法が、本願と矛盾しない全ての実施方法を呈示するわけではない。すなわち、これらは、付帯する特許請求の範囲に詳述されたとおりの本願のいくつかの態様と矛盾しない装置及び方法の単なる実施例にすぎない。
【００１８】
本願で用いられる用語は、本願を限定するのではなく、単に特定の実施の形態を記述するために用いられている。本願及び付帯する特許請求の範囲で用いられている単数形「１つの（ａ又はａｎ）」、「前記（ｓａｉｄ）」、「ｔｈｅ」は、別の意味を表す旨を文言で明記されていない限り、複数形も含む。ここで用いられる用語「及び／又は（ａｎｄ／ｏｒ）」は、列挙された１つ以上の関連する項目（アイテム）を意味し、そして、これらの可能な組み合わせのいずれか又は全ても含むことを更に理解されたい。
【００１９】
用語「第１の」、「第２の」、「第３の」等を、本願において様々な種類の情報の記述に用いてよいが、これらの様々な種類の情報はこうした用語に限定されないことを理解されたい。これらの用語を用いて単に同じ種類の複数の情報を互いに区別するにすぎない。例えば、本願の範囲から逸脱せずに、第１の情報を第２の情報としても参照でき、同じく第２の情報を第１の情報としても参照できる。文脈に応じて、ここで用いている用語「の場合（ｉｆ）」は、「の場合（ｗｈｅｎ）」、「の場合（ａｓ）」、又は「判定に応答して（ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｔｈｅ  ｄｅｔｅｒｍｉｎａｔｉｏｎ）」として記述することができる。
【００２０】
図１は、本願の例示の実施の形態によるモバイル端末のためのデータ記憶方法の概略フローチャートである。
【００２１】
図１を参照すると、このデータ記憶方法はモバイル端末に適用することができる。端末は、スマートフォン、タブレットコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）、及びその他のスマートデバイスであってよい。このデータ記憶方法は、以下のステップを含むことができる。
【００２２】
ステップ１０１：オリジナルデータに形式変換を実行することにより、予め設定された形式の第１のデータを入手する。
【００２３】
この実施の形態において、オリジナルデータは、モバイル端末のローカルデータベースに記憶することになるデータである。このオリジナルデータとしては、ニュース、リスト、情報、そして、様々なアプリケーションが必要としローカルにキャッシュされた他のデータ、が挙げられる。オリジナルデータはテキスト形式、ＸＭＬ形式などであってよい。
【００２４】
このステップでは、モバイル端末は、記憶対象のオリジナルデータを受信すると、オリジナルデータに形式変換を実行することにより予め設定された形式に変換する。予め設定された形式は管理者によって設定されてよく、バイナリ形式であっても小数形式であってもよい。本願では、説明を容易にするために、オリジナルデータに形式変換を実行して得たデータを「第１のデータ」と呼ぶ。
【００２５】
ステップ１０２：第１のデータの第１のメタデータを作成する。
【００２６】
先のステップ１０１に基づいて、モバイル端末は、オリジナルデータを第１のデータに変換した後に第１のデータのメタデータを作成する。本願では、この作成された第１のデータのメタデータを「第１のメタデータ」と呼ぶ。
【００２７】
ステップ１０３：第１のデータがデータベースに記憶されているかどうかを、キャッシュに保存された、キー値とメタデータとの間の対応関係に従って判断し、第１のデータがデータベースに記憶されていない場合にはステップ１０４を実行する。
【００２８】
この実施の形態では、読み出し／書き込みの効率を高めるために、キー値に基づいてデータを記憶する非リレーショナルデータベースを、モバイル端末の下位の記憶媒体として用いることができる。非リレーショナルデータベースは、各々のオリジナルデータ片に形式変換を実行した後の第１のデータ、第１のメタデータ、及びキー値を含む。非リレーショナルデータベースにおける各々の第１のメタデータ片とそのキー値との間の対応関係が、モバイル端末のキャッシュに保存される。この実施の形態では、区別し易いように、キャッシュに保存された第１のメタデータを第２のメタデータと呼ぶ。具体的には、モバイル端末は、再起動後に、非リレーショナルデータベース（以降では、略して「データベース」と呼ぶ）における各々の第１のメタデータとそのキー値との間の対応関係をキャッシュ、例えばメモリに保存できる。代替として、形式変換後のオリジナルデータがデータベースに保存されていないと判定された場合には、つまり、オリジナルデータの第１のデータがデータベースに記憶されていない場合には、データベースに記憶されることになるオリジナルデータを受信した後に、モバイル端末は、このオリジナルデータに対応する第１のメタデータとそのキー値とをキャッシュに保存できる。その特定の実施手順については、以降の説明を参照できる。
【００２９】
このステップでは、モバイル端末は、第１のデータのキー値と、キャッシュに記憶されているキー値とメタデータとの間の対応関係とに従って、第１のデータがデータベースに既に記憶されているかどうかを判断することができる。第１のデータのキー値は、オリジナルデータのキー値でもある。
【００３０】
図２を参照すると、本願の実施方法において、第１のデータがデータベースに記憶されているかどうかを判定するステップは以下のステップを含んでも良い。
【００３１】
ステップ１０３１：キー値に対応する第２のメタデータがキャッシュに保存されているかどうかを、第１のデータのキー値に従って判断する。キー値に対応する第２のメタデータがキャッシュに保存されている場合にはステップ１０３２を実行し、キー値に対応する第２のメタデータがキャッシュに保存されていない場合にはステップ１０３３を実行する。
【００３２】
ステップ１０３２：第２のメタデータが第１のメタデータと同一であるかどうかを判断する。第２のメタデータが第１のメタデータと異なる場合にはステップ１０３３を実行し、第２のメタデータが第１のメタデータと同一である場合にはステップ１０３４を実行する。
【００３３】
先のステップ１０３１の判断結果に基づき、キー値に対応する第２のメタデータがキャッシュに保存されている場合には、キー値に対応する第１のデータが下位のデータベースに記憶されていることを示す。しかし、その第１のデータが最新版の第１のデータであるかどうかは不明である。そのため、第２のメタデータが、作成された第１のメタデータと同一であるかどうかをこのステップで判断しても良い。
【００３４】
この実施の形態では、第２のメタデータが第１のメタデータと同一であるかどうかを、第２のメタデータの各バイトを第１のメタデータの各バイトと比較することによって判断できる。第２のメタデータのハッシュ値が第１のメタデータのハッシュ値と同一であるかどうかを判断することにより、第２のメタデータが第１のメタデータと同一であるかどうかを判断しても良い。具体的には、第２のメタデータは、データベースに記憶されて、第１のデータに対応するハッシュ値を含む。このステップでは、ハッシュ値を第１のメタデータのハッシュ値として用いるために、ステップ１０１での変換後に得た第１のデータに従って、第１のデータのハッシュ値を計算できる。次に、計算で得たハッシュ値が、第２のメタデータに含まれたハッシュ値と同一であるかどうかを比較する。これらのハッシュ値が異なる場合には、第２のメタデータは第１のメタデータとは異なると判定し、ステップ１０３３を実行する。これらのハッシュ値が同一である場合には、第２のメタデータは第１のメタデータと同一であると判定し、ステップ１０３４を実行する。
【００３５】
ステップ１０３３：第１のデータがデータベースに記憶されていないと判定する。
【００３６】
この実施の形態では、先のステップ１０３１の判断結果に基づき、キー値に対応する第２のメタデータがキャッシュに保存されていない場合には、第１のデータはデータベースに記憶されていないと判定できる。
【００３７】
先のステップ１０３２の判断結果に基づき、第２のメタデータが第１のメタデータと異なる場合には、同じキー値を有する第１のデータがデータベースに記憶されているが、この第１のデータは先のステップ１０１で変換で得た第１のデータとは異なっていることを示す。したがって、２つの第１のデータは異なるメタデータを有する。これは、データベースに記憶されている第１のデータが最新データでなく、更新が必要なためである可能性がある。したがって、このケースでは、先のステップ１０１での変換によって得た第１のデータはデータベースに記憶されていないと判定することもできる。
【００３８】
ステップ１０３４：第１のデータは既にデータベースに記憶されていると判定する。
【００３９】
先のステップ１０３２の判断結果に基づいて、第２のメタデータが第１のメタデータと同一である場合には、同一のキー値を有する第１のデータがデータベースに記憶されており、この第１のデータが先のステップ１０１で変換によって得た第１のデータと同一であることを示す。このケースでは、更新は必要ない。モバイル端末は、先のステップ１０１で受信したオリジナルデータ、変換後に得た第１のデータ、及び先のステップ１０２で作成された第１のメタデータを削除できる。
【００４０】
この実施の形態では、受信したオリジナルデータが既にデータベースに記憶されているかどうかを、キャッシュに保存されているキー値とメタデータとの間の対応関係に従って判定でき、これによりデータベースへのアクセスに起因するシステム消費量は大幅に減る。
【００４１】
ステップ１０４：第１のデータ、第１のデータの第１のメタデータ、及び第１のデータのキー値をキャッシュに保存する。
【００４２】
先のステップ１０３の判断結果に基づき、第１のデータがデータベースに記憶されていない場合には、第１のデータをデータベースに記憶する必要がある。この実施の形態では、まず、第１のデータ、第１のデータの第１のメタデータ、及び第１のデータのキー値をキャッシュに保存する。
【００４３】
先のステップ１０３で第１のデータがデータベースに記憶されない２つの状況に関連して、このステップでは以下の２つの実施方法を採用できる。
【００４４】
第１の方法では、第１のデータのキー値に対応する第２のメタデータはキャッシュに保存されない。この場合、ステップ１０１で受信したオリジナルデータの第１のデータがデータベースに記憶されていないことを示し、モバイル端末は、まず、第１のデータ、第１のデータの第１のメタデータ、及び第１のデータのキー値をキャッシュに保存し、記憶されていないものとしてこれらにマーキングすることができる。モバイル端末は、フラグビットを設定することで、第１のデータ、第１のデータの第１のメタデータ、及び第１のデータのキー値、といったこうしたデータ全体の記憶状態をマーキングできる。例えば、フラグビットが０の場合には、データが記憶されていないことを示す。フラグビットが１の場合には、データが既に記憶されていることを示す。モバイル端末はキー値のリストを設定することもでき、データベースに記憶されていない第１のデータのキー値はこのキー値のリストに記憶される。確かに、当業者は、別の方法で、キャッシュに保存されたデータが既にデータベースに記憶されているかどうかをマーキングすることもできるが、これは本願では特に限定されない。
【００４５】
第２のやり方では、第１のデータのキー値に対応する第２のメタデータはキャッシュに保存されているが、この第２のメタデータは第１のデータの第１のメタデータとは異なる。この場合、同一のキー値を持つ第１のデータがデータベースに記憶されるが、この第１のデータは最新の第１のデータでないため、更新する必要がある。モバイル端末は、キャッシュに保存されている第１のデータのキー値に対応する第２のメタデータを第１のメタデータに更新し、第１のデータを保存できるため、一のキー値につき一の最新のメタデータをキャッシュに保存できるようになる。加えて、この方法では、第１の方法のように、この更新されたデータを、記憶されていないものとしてマーキングしても良い。
【００４６】
ステップ１０５：予め設定されたトリガ条件が満たされた場合に、まだデータベースに記憶されていない、キャッシュ内の第１のデータ、第１のデータの第１のメタデータ、及び第１のデータのキー値をデータベースに記憶する。
【００４７】
この実施の形態では、予め設定されたトリガ条件が満たされた場合に、モバイル端末が、まだデータベースに記憶されていない、キャッシュ内の第１のデータ、第１のデータの第１のメタデータ、及び第１のデータのキー値をデータベースに記憶することができる、つまり、キャッシュ内の、記憶されていない旨マーキングされたデータをデータベースに記憶できる。
【００４８】
この実施の形態では、トリガ条件が管理者によって設定されてよい。例えば、トリガ条件は、予め設定された時間が経過することであってもよく、キャッシュされたデータ量が予め設定された閾値に達することであってもよいが、いずれにしてもこれは本願では特に限定されない。
【００４９】
上の説明から、本願は、オリジナルデータを、予め設定された形式に変換して、このデータをキー値ベースの非リレーショナルデータベースに記憶することができ、データの構造の違いを排除でき、そしてデータの互換性と、データの読み出し／書込み効率とを高めることが分かる。
【００５０】
本願の別の実施の形態では、モバイル端末は読み出し頻度が比較的高い第１のデータをキャッシュに記憶して、読み出し効率を上げることもできる。そのため、モバイル端末はデータ読み出し命令を受信すると、まず、読み出し命令に含まれているキー値に従ってキャッシュを検索して、対応する第１のデータがキャッシュに保存されているかどうかを判定する。対応する第１のデータがキャッシュに保存されている場合には、キャッシュ内の第１のデータに逆形式変換を実行し、次に、第１のデータがオリジナルデータに変換された後に読み出し結果を戻す。キー値に対応する第１のデータがキャッシュに保存されていない場合には、モバイル端末は、まず、キャッシュに保存されているメタデータ（第２のメタデータ）を検索し、次に、このメタデータに従って、キー値に対応する第１のデータをデータベースから取得し、取得した第１のデータに逆形式変換を実行し、第１のデータがオリジナルデータに変換された後に読み出し結果を戻すことができる。
【００５１】
本願の別の実施の形態では、予め設定された条件が満たされると、モバイル端末はキャッシュに保存されている第１のデータを削除する。例えば、モバイル端末は、キャッシュに保存されている第１のデータを定期的に削除することもでき、第１のデータの読み出し頻度が閾値よりも低い場合には、キャッシュに保存されているその第１のデータを削除することもできるが、これは本願では特に限定されない。
【００５２】
加えて、関連技術に従い、本願にて提供されるデータ記憶解決策は、更に、暗号化された記憶をサポートしてもよい。例えば、モバイル端末は、オリジナルデータを、予め設定された形式の第１のデータに変換した後に、この第１のデータを暗号化してから記憶できる。これに対応し、モバイル端末は、第１のデータを読み出した後に第１のデータを復号化し、これをオリジナルデータに変換してから、読み出し結果を戻す。
【００５３】
モバイル端末のためのデータ記憶方法の前述の実施の形態に対応し、本願はモバイル端末のためのデータ記憶装置の実施の形態を更に提供する。
【００５４】
本願におけるモバイル端末のためのデータ記憶装置の実施の形態を、モバイル端末に適用してもよい。この装置の実施の形態は、ソフトウェアによって実施してもよく、ハードウェアによって実施してもよく、ソフトウェアとハードウェアの組み合わせによって実施してもよい。例えば、この装置の実施の形態はソフトウェアを実装され、この場合、本装置は、不揮発性メモリ内の対応するコンピュータプログラム命令を、本装置が配置されたモバイル端末のプロセッサによって、メモリ内に読み出して実行させることにより、論理装置として形成される。本願による、データ記憶装置が実装されたモバイル端末のハードウェア構造図である図３に示すように、ハードウェアの観点から見た場合、この実施の形態において本装置が実装されたモバイル端末は、図３に示すプロセッサ、メモリ、ネットワークインターフェース、及び不揮発性メモリに加え、概して、モバイル端末の実際の機能に従ったその他のハードウェアを更に含むことができる。これについてこれ以上は説明しない。
【００５５】
図４は、本願の例示の実施の形態によるモバイル端末のためのデータ記憶装置の概略構造図である。
【００５６】
図４を参照すると、モバイル端末のためのデータ記憶装置３００は、第１の変換部３０１、メタデータ作成部３０２、記憶判断部３０３、データキャッシュ部３０４、データ記憶部３０５、第１の読み出し部３０６、第２の読み出し部３０７、及び第２の変換部３０８を含んでもよい。
【００５７】
第１の変換部３０１は、オリジナルデータに形式変換を実行することにより、予め設定された形式の第１のデータを得るように構成される。
【００５８】
メタデータ作成部３０２は、第１のデータの第１のメタデータを作成するように構成される。
【００５９】
記憶判断部３０３は、第１のデータがデータベースに記憶されているかどうかを、キャッシュに保存された、キー値とメタデータとの間の対応関係に従って判断するように構成される。
【００６０】
データキャッシュ部３０４は、第１のデータがデータベースに記憶されていない場合に、第１のデータ、第１のデータの第１のメタデータ、及び第１のデータのキー値をキャッシュに記憶するように構成される。
【００６１】
データ記憶部３０５は、予め設定されたトリガ条件が満たされた場合には、まだデータベースに記憶されていない、キャッシュ内の第１のデータ、第１のデータの第１のメタデータ、及び第１のデータのキー値をデータベースに記憶するように構成される。
【００６２】
記憶判断部３０３は、具体的に、キー値に対応する第２のメタデータがキャッシュに保存されているかどうかを、第１のデータのキー値に従って判断し、キー値に対応する第２のメタデータがキャッシュに保存されていない場合には、第１のデータがデータベースに記憶されていないと判定するように構成されても良い。
【００６３】
記憶判断部３０３は、具体的に、キー値に対応する第２のメタデータがキャッシュに保存されている場合には、第２のメタデータが第１のメタデータと同一であるかどうかを判断し、第２のメタデータが第１のメタデータと異なる場合には、第１のデータがデータベースに記憶されていないと判定するように構成されても良い。
【００６４】
データキャッシュ部３０４は、具体的に、キャッシュに保存されており、第１のデータのキー値に対応する第２のメタデータを第１のメタデータへ更新し、前記第１のデータを記憶するように構成される。
【００６５】
記憶判断部３０３は、具体的に、第２のメタデータのハッシュ値が第１のメタデータのハッシュ値と同一であるかどうかを判断し、同一である場合には、第２のメタデータは第１のメタデータと同一であると判断し、同一でない場合には、第２のメタデータは第１のメタデータと異なると判定するように構成されても良い。
【００６６】
予め設定されたトリガ条件は、予め設定された時期に到達すること、及び、キャッシュされたデータ量が予め設定された閾値に達することを含んでも良い。
【００６７】
第１の読み出し部３０６は、データ読み出し中に、キー値に従ってキャッシュを検索することで、対応する第１のデータが保存されているかどうか判定するように構成される。
【００６８】
第２の読み出し部３０７は、キー値に対応する第１のデータがキャッシュに保存されていない場合には、キャッシュに保存されていてキー値に対応するメタデータに従って、キー値に対応する第１のデータをデータベースから取得するように構成される。
【００６９】
第２の変換部３０８は第１のデータをオリジナルデータに変換し、その後、読み出し結果を戻すように構成される。
【００７０】
本装置における様々な部の機能及び効果の実施工程については、本願の方法の対応ステップの実施工程を参照できるので、ここでは詳細を繰り返さない。
【００７１】
本装置の実施の形態は、基本的に方法の実施の形態に対応しており、したがって、関連する内容については方法の実施の形態における部分の説明を参照できる。上で述べた本装置の実施の形態は例示にすぎず、別々の部品として説明された各部（ユニット）は物理的に別々であってもなくてもよく、各部として呈示された部品は物理的に各部であってもなくてもよく、１ヶ所に配置されていても複数のネットワーク部上に分散されていてもよい。本願の解決策の目的を達成するために、本装置内の、いくつかの又は全てのモジュールは実際の需要に従って選択されてよい。当業者は、創造的な努力なしに本願を理解及び実施できる。
【００７２】
上の説明は本願の好ましい実施の形態にすぎず、本願の限定を意図してはいない。本願の主旨及び原理に含まれる改変、均等物との置き換え、改良等は全て本願の保護範囲に包含される。
［第１の局面］
オリジナルデータに形式変換を実行して予め設定された形式の第１のデータを得るステップと；
前記第１のデータの第１のメタデータを作成するステップと；
キャッシュに保存された、キー値とメタデータとの間の対応関係に従って、前記第１のデータがデータベースに記憶されているかどうかを判断するステップと；
前記第１のデータが前記データベースに記憶されていない場合には、前記第１のデータ、前記第１のデータの前記第１のメタデータ、及び前記第１のデータのキー値を前記キャッシュに保存するステップと；
予め設定されたトリガ条件が満たされた場合には、まだ前記データベースに記憶されていない、前記キャッシュ内の前記第１のデータ、前記第１のデータの前記第１のメタデータ、及び前記第１のデータの前記キー値を、前記データベースに記憶するステップとを備える；
モバイル端末のためのデータ記憶方法。
［第２の局面］
キャッシュに保存された、キー値とメタデータとの間の対応関係に従って、前記第１のデータがデータベースに記憶されているかどうかを判断する前記ステップは：
前記第１のデータの前記キー値に従って、前記キー値に対応する第２のメタデータが前記キャッシュに保存されているかどうかを判断するステップと；
前記キー値に対応する前記第２のメタデータが前記キャッシュに保存されていない場合には、前記第１のデータが前記データベースに記憶されていないと判定するステップとを備える；
第１の局面に記載の方法。
［第３の局面］
前記キー値に対応する前記第２のメタデータが前記キャッシュに保存されている場合には、前記第２のメタデータが前記第１のメタデータと同一であると判断するステップと；
前記第２のメタデータが前記第１のメタデータと異なる場合には、前記第１のデータが前記データベースに記憶されていないと判定するステップとを更に備え；
前記第１のデータ、前記第１のデータの前記第１のメタデータ、及び前記第１のデータのキー値を、前記データベースに記憶する前記ステップは：
前記キャッシュに保存されていて、前記第１のデータの前記キー値に対応する前記第２のメタデータを前記第１のメタデータへ更新し、前記第１のデータを記憶するステップを備える；
第２の局面に記載の方法。
［第４の局面］
前記第２のメタデータが前記第１のメタデータと同一であるかどうかを判断する前記ステップは：
前記第２のメタデータのハッシュ値が前記第１のメタデータのハッシュ値と同一であるかどうかを判断し、同一である場合には、前記第２のメタデータが前記第１のメタデータと同一であると判定し、同一でない場合には、前記第２のメタデータが前記第１のメタデータと異なると判定するステップを備える；
第３の局面に記載の方法。
［第５の局面］
前記予め設定されたトリガ条件は：
予め設定された時間が経過すること、及び、キャッシュされたデータ量が予め設定された閾値に達することを備える；
第１の局面に記載の方法。
［第６の局面］
データ読み出し中に、前記対応する第１のデータが前記キャッシュに保存されているかどうかを判定するために、前記キー値に従って前記キャッシュを検索するステップと；
前記キー値に対応する前記第１のデータが前記キャッシュに保存されていない場合には、前記キャッシュに保存され、前記キー値に対応する前記メタデータに従って、前記キー値に対応する前記第１のデータを前記データベースから取得するステップと；
前記第１のデータを前記オリジナルデータへ変換し、読み出し結果を戻すステップとを更に備える；
第１の局面に記載の方法。
［第７の局面］
オリジナルデータに形式変換を実行して予め設定された形式の第１のデータを得るように構成された第１の変換部と；
前記第１のデータの第１のメタデータを作成するように構成されたメタデータ作成部と；
キャッシュに保存された、キー値とメタデータとの間の対応関係に従って、前記第１のデータがデータベースに記憶されているかどうかを判断するように構成された記憶判断部と；
前記第１のデータが前記データベースに記憶されていない場合には、前記第１のデータ、前記第１のデータの前記第１のメタデータ、及び前記第１のデータのキー値を前記キャッシュに保存するように構成されたデータキャッシュ部と；
予め設定されたトリガ条件が満たされた場合には、まだ前記データベースに記憶されていない、前記キャッシュ内の前記第１のデータ、前記第１のデータの前記第１のメタデータ、及び前記第１のデータの前記キー値を、前記データベースに記憶するように構成されたデータ記憶部とを備える；
モバイル端末のためのデータ記憶装置。
［第８の局面］
前記記憶判断部は、具体的に、前記キー値に対応する第２のメタデータが前記キャッシュに保存されているかどうかを、前記第１のデータの前記キー値に従って判断し、前記キー値に対応する前記第２のメタデータが前記キャッシュに保存されていない場合には、前記第１のデータが前記データベースに記憶されていないと判断するように構成される；
第７の局面に記載の装置。
［第９の局面］
前記記憶判断部は、具体的に、前記キー値に対応する前記第２のメタデータが前記キャッシュに保存されている場合には、前記第２のメタデータが前記第１のメタデータと同一であるかどうかを判断し、前記第２のメタデータが前記第１のメタデータと異なる場合には、前記第１のデータが前記データベースに記憶されていないと判断するように構成され；及び
前記データキャッシュ部は、具体的に、前記キャッシュに保存されており、前記第１のデータの前記キー値に対応する前記第２のメタデータを、前記第１のメタデータへ更新し、前記第１のデータを記憶するように構成される；
第８の局面に記載の装置。
［第１０の局面］
前記記憶判断部は、具体的に、前記第２のメタデータのハッシュ値が前記第１のメタデータのハッシュ値と同一であるかどうかを判断し、同一である場合には、前記第２のメタデータが前記第１のメタデータと同一であると判定し、同一でない場合には、前記第２のメタデータが前記第１のメタデータと異なると判定するように構成される；
第９の局面に記載の装置。
［第１１の局面］
前記予め設定されたトリガ条件は：
予め設定された時間が経過すること、及びキャッシュされたデータ量が予め設定された閾値に達することを備える；
第７の局面に記載の装置。
［第１２の局面］
データ読み出し中に、前記対応する第１のデータが前記キャッシュに保存されているかどうかを判定するために、前記キー値に従って前記キャッシュを検索するように構成された第１の読み出し部と；
前記キー値に対応する前記第１のデータが前記キャッシュに保存されている場合には、前記キャッシュに保存され、前記キー値に対応する前記メタデータに従って、前記キー値に対応する前記第１のデータを前記データベースから取得するように構成される第２の読み出し部と；
前記第１のデータを前記オリジナルデータへ変換し、読み出し結果を戻すように構成される第２の変換部とを更に備える；
第７の局面に記載の装置。
【図１】
0006788002.tif 000002
【図２】
0006788002.tif 000003
【図３】
0006788002.tif 000004
【図４】
0006788002.tif 000005