(57)【特許請求の範囲】
【請求項１】
１つまたは複数のコンピューティングデバイスによって実装される方法であって、
少なくとも２つの異なるデータベース内に格納されたデータを、ビジネスモデルに少なくとも部分的に基づいてクエリするための、要求を受信することであって、前記ビジネスモデルが、１つまたは複数のビジネス要素を備える、受信することと、
前記クエリ要求を、クエリされる前記少なくとも２つの異なるデータベースに合う１つまたは複数の実行モードに、前記ビジネスモデルとストレージモデルとの間の変換規則に少なくとも部分的に基づいて変換することであって、前記ストレージモデルが、クエリされる前記少なくとも２つの異なるデータベースの属性情報を備え、前記変換規則が、前記１つまたは複数のビジネス要素と、クエリされる前記少なくとも２つの異なるデータベース内の１つまたは複数の属性との間の対応関係を備える、変換することと、
前記少なくとも２つの異なるデータベースに、前記１つまたは複数の実行モードにしたがってアクセスすることと、
を備える、前記方法。
【請求項２】
前記ビジネスモデルが、１つまたは複数のビジネスシナリオをメタデータ形式で記述する、請求項１に記載の方法。
【請求項３】
前記１つまたは複数のビジネス要素が、複数のビジネス要素を備え、前記ビジネスモデルが、前記複数のビジネス要素の制約情報と、前記複数のビジネス要素間の制約情報と、前記複数のビジネス要素のインスタンス情報と、データフロー情報と、１つまたは複数の他のビジネスモデルとの１つまたは複数のマッピング関係と、のうちの少なくとも１つをさらに備える、請求項２に記載の方法。
【請求項４】
前記ストレージモデルが、前記少なくとも２つの異なるデータベースのデータストレージを記述する、請求項１に記載の方法。
【請求項５】
前記ストレージモデルが、格納データソース名と、格納データソースタイプと、ストレージシャーディングモードと、格納データ領域名と、のうちの少なくとも１つをさらに備える、請求項４に記載の方法。
【請求項６】
前記クエリ要求を前記少なくとも２つの異なるデータベースに合う前記実行モードに変換することが、前記クエリ要求を、前記少なくとも２つの異なるデータベースの各ストレージエンジンタイプに合う実行モードに変換することを備える、請求項１に記載の方法。
【請求項７】
前記クエリ要求が、前記ビジネス要素に少なくとも部分的に基づいた、ストレージ取得条件と結果フィルタ条件とを備える、請求項１に記載の方法。
【請求項８】
前記クエリ要求を変換することが、前記クエリ要求を前記実行モードに、前記ストレージ取得条件をクエリ条件として使用することによって変換することを備え、前記少なくとも２つの異なるデータベースの各データベースから取得したアクセス結果を、前記結果フィルタ条件に少なくとも部分的に基づいてふるいにかけることをさらに備える、請求項７に記載の方法。
【請求項９】
１つまたは複数のプロセッサと、
メモリと、
前記メモリ内に格納され、前記１つまたは複数のプロセッサによって実行可能な、少なくとも２つのデータベース内に格納されたデータを、ビジネスモデルに少なくとも部分的に基づいてクエリするための要求を受信する、要求受信ユニットであって、前記ビジネスモデルが、１つまたは複数のビジネス要素を備える、要求受信ユニットと、
前記メモリ内に格納され、前記１つまたは複数のプロセッサによって実行可能な、前記クエリ要求を前記少なくとも２つのデータベースに合う１つまたは複数の実行モードに、前記ビジネスモデルからストレージモデルへの変換規則に少なくとも部分的に基づいて変換する変換ユニットであって、前記ストレージモデルが、前記少なくとも２つのデータベースの属性情報を備え、前記変換規則が、前記１つまたは複数のビジネス要素と、前記少なくとも２つのデータベース内の１つまたは複数の属性と、の間の対応関係を備える、変換ユニットと、
前記少なくとも２つのデータベースに、前記１つまたは複数の実行モードにしたがってアクセスするデータベースアクセスユニットと、
を備える、装置。
【請求項１０】
前記ビジネスモデルが、ビジネスシナリオをメタデータ形式を通して記述する、請求項９に記載の装置。
【請求項１１】
前記ビジネスモデルが、ビジネス要素の制約情報と、前記ビジネス要素間の制約情報と、前記ビジネス要素のインスタンス情報と、データフロー情報と、１つまたは複数の他のビジネスモデルとの１つまたは複数のマッピング関係と、のうちの少なくとも１つをさらに備える、請求項１０に記載の装置。
【請求項１２】
前記ストレージモデルが、前記少なくとも２つのデータベースの各データストレージを記述する、請求項９に記載の装置。
【請求項１３】
前記ストレージモデルが、格納データソース名と、格納データソースタイプと、ストレージシャーディングモードと、格納データ領域名と、のうちの少なくとも１つをさらに備える、請求項１２に記載の装置。
【請求項１４】
前記変換ユニットが、前記クエリ要求を、前記少なくとも２つのデータベースの各ストレージエンジンタイプに合う実行モードにさらに変換する、請求項９に記載の装置。
【請求項１５】
前記クエリ要求が、前記１つまたは複数のビジネス要素に少なくとも部分的に基づいた、ストレージ取得条件と結果フィルタ条件とを備える、請求項９に記載の装置。
【請求項１６】
前記変換ユニットが、前記クエリ要求を、前記ストレージ取得条件をクエリ条件として使用することによって変換し、前記装置が各データベースから取得したアクセス結果を、前記結果フィルタ条件に少なくとも部分的に基づいてふるいにかけるスクリーニングユニットをさらに備える、請求項１５に記載の装置。
【請求項１７】
１つまたは複数のプロセッサによって実行された時に、前記１つまたは複数のプロセッサに、
少なくとも２つのデータベース内に格納されたデータを、ビジネスモデルに少なくとも部分的に基づいてクエリするための要求を受信することであって、前記ビジネスモデルが、１つまたは複数のビジネス要素を備える、受信することと、
前記クエリ要求を、クエリされる前記少なくとも２つの異なるデータベースに合う実行モードに、前記ビジネスモデルとストレージモデルとの間の変換規則に少なくとも部分的に基づいて変換することであって、前記ストレージモデルが、クエリされる前記少なくとも２つのデータベースの属性情報を備え、前記変換規則が、前記１つまたは複数のビジネス要素と、クエリされる前記少なくとも２つのデータベース内の１つまたは複数の属性と、の間の対応関係を備える、変換することと、
前記少なくとも２つのデータベースに、前記実行モードにしたがってアクセスすることと、
を備える動作を実行させる実行可能命令を格納した、１つまたは複数のコンピュータ可読媒体。
【請求項１８】
前記ビジネスモデルが、１つまたは複数のビジネスシナリオをメタデータ形式で記述し、前記ビジネスモデルが、前記複数のビジネス要素の制約情報と、前記複数のビジネス要素間の制約情報と、前記複数のビジネス要素のインスタンス情報と、データフロー情報と、１つまたは複数の他のビジネスモデルとの１つまたは複数のマッピング関係と、のうちの少なくとも１つをさらに備える、請求項１７に記載の１つまたは複数のコンピュータ可読媒体。
【請求項１９】
前記ストレージモデルが、前記少なくとも２つのデータベースのデータストレージを記述し、前記ストレージモデルが、格納データソース名と、格納データソースタイプと、ストレージシャーディングモードと、格納データ領域名と、のうちの少なくとも１つをさらに備える、請求項１７に記載の１つまたは複数のコンピュータ可読媒体。
【請求項２０】
前記クエリ要求を変換することが、
前記クエリ要求を、前記少なくとも２つの異なるデータベースの各ストレージエンジンタイプに合う実行モードに変換すること、または
前記クエリ要求を前記実行モードに、ストレージ取得条件をクエリ条件として使用することと、前記少なくとも２つのデータベースの各データベースから取得したアクセス結果を、結果フィルタ条件に少なくとも部分的に基づいてふるいにかけることと、によって変換することであって、前記クエリ要求が、前記ビジネス要素に少なくとも部分的に基づいた、ストレージ取得条件と結果フィルタ条件とを備える、変換すること、
のうちの１つを備える、請求項１７に記載の１つまたは複数のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、データベース技術の分野に関し、特に、データクエリ方法と装置とに関する。
【０００２】
関連特許出願の相互参照
本出願は、２０１４年６月１８日に出願された、「Ｄａｔａ  Ｑｕｅｒｙ  Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ」という題名の、中国特許出願第２０１４１０２７３９５４．Ｘ号の外国優先権を主張し、それは、参照により、その全体が本明細書に組み込まれる。
【背景技術】
【０００３】
ソーシャルネットワークとモバイルインターネットとの発達により、データの量は爆発的に増加し、過去数年間に生成されたデータの量は、何千年もの間に生成されたデータの量を超える。データは、企業の最も価値のある資源になった。データマイニングやデータ分析などの技術の発達と共に、企業の意思決定は、ますますデータに依存している。包括的で完全なデータは、意思決定において、より良いサポートを提供する。
【０００４】
企業によってアクセス可能なデータは、しばしば、多くの異なる種類のストレージエンジンとストレージモード、たとえば、Ｏｒａｃｌｅ、ＭｙＳＱＬ、及びＯｃｅａｎＢａｓｅなどのストレージエンジンを含むＲＤＳ（リレーショナルデータベースサービス）型のデータベースと、Ｔａｉｒ及びＨｂａｓｅなどのストレージエンジンを含むＫＶ（キー値）型のデータベースと、を伴う。特定の上級のビジネスが、これらのデータベースの全てにおいてクエリを実行する必要がある場合、ある程度の困難が実装において存在する。
【０００５】
既存の技術では、マイクロソフトのＰｏｌｙｂａｓｅ技術は、ＰＤＷ（並列データ ウェアハウス）のデータを、Ｈａｄｏｏｐからエクスポートすることによって、またはＨａｄｏｏｐにインポートすることによって、Ｈａｄｏｏｐデータとリレーショナルデータベースとの関連クエリを実現することができ、上記の機能の一部を実現することができるようにする。しかしながら、データを、Ｈａｄｏｏｐに／Ｈａｄｏｏｐからインポート／エクスポートすることは、なお、相当な作業負荷を必要とし、各ストレージエンジンに適用可能でなく（たとえば、Ｔａｉｒ、ＯｃｅａｎＢａｓｅ、などに適用できない）、データクエリの完全性に影響する。
【発明の概要】
【０００６】
本発明の概要は、以下の発明を実施するための形態でさらに説明する概念の一部を、簡略化した形態で紹介するために提供される。本発明の概要は、特許請求の主題のすべての重要な特徴または必須の特徴を特定することを意図せず、また、特許請求の主題の範囲を決定する際の助けとして単独で使用されることを意図しない。たとえば、「技術」という用語は、上記の文脈によって可能にされる、また本開示を通して可能にされる、デバイス（複数可）、システム（複数可）、方法（複数可）、及び／またはコンピュータ可読命令を指すことができる。
【０００７】
本開示は、データをクエリする方法を提供し、データは、少なくとも２つの異なるデータベース内に格納されている。実施形態では、方法は、ビジネスモデルに少なくとも部分的に基づいたクエリ要求を受信することであって、ビジネスモデルがビジネス要素（複数可）を含む、受信することと、クエリ要求を、クエリされるデータベース（複数可）に合う実行モード（複数可）に、ビジネスモデルとストレージモデルとの間の変換規則に少なくとも部分的に基づいて変換することであって、ストレージモデルが、クエリされるデータベース（複数可）の属性情報を含み、変換規則が、ビジネス要素（複数可）とクエリされるデータベース（複数可）内の属性（複数可）との間の対応関係を含む、変換することと、対応するデータベースに、実行モード（複数可）にしたがってアクセスすることと、を含む。
【０００８】
本開示は、さらに、データをクエリする装置を提供し、データは、少なくとも２つの異なるデータベース内に格納されている。装置は、ビジネスモデルに基づいたクエリ要求を受信する要求受信ユニットであって、ビジネスモデルがビジネス要素（複数可）を含む、要求受信ユニットと、クエリ要求を、クエリされるデータベース（複数可）に合う実行モード（複数可）に、ビジネスモデルからストレージモデルへの変換規則にしたがって変換する変換ユニットであって、ストレージモデルが、クエリされるデータベース（複数可）の属性情報を含み、変換規則が、ビジネス要素（複数可）とクエリされるデータベース（複数可）内の属性との間の対応関係を含む、変換ユニットと、対応するデータベースに、実行モード（複数可）にしたがってアクセスするデータベースアクセスユニットと、を備える。
【０００９】
上記の技術的解決策から分かる通り、本開示の実施形態は、ビジネスモデルに基づいたユーザのデータ要求を、クエリされるデータベースに対する実行モードに、ビジネスモデルからストレージモデルへの変換規則にしたがって変換し、したがって、データを異なるデータベース間でインポート及びエクスポートすることを避けるのみならず、適用制限もデータベースに課さない。さらに、低レベルデータベース間の違いは、ユーザレベルにおいて隠され、したがって、クエリを実行することについて利便性と完全性とを改善する。
【図面の簡単な説明】
【００１０】
【図１】本開示の一実施形態による、ビジネスモデルのメタデータ記述の概略図である。
【図２】本開示の一実施形態による、データクエリの方法のフローチャートである。
【図３】コンピューティングデバイスのハードウェア構成要素を例示した構造図である。
【図４】本開示の一実施形態による、データクエリの装置の論理構造図である。
【発明を実施するための形態】
【００１１】
本開示の実施形態は、既存技術における問題を解決するために、データをクエリする新しい方法を提供する。本開示の一実施形態では、ビジネスの特徴（複数可）は、ビジネス需要にしたがって要約され、ビジネス指向のビジネスモデルが生成される。ストレージモデルは、アクセスされるデータベース（複数可）の、ストレージエンジン（複数可）、データストレージ構造（複数可）、及びストレージモード（複数可）、などの要因に基づいて生成される。変換規則は、ビジネスモデルとストレージモデルとの間で、ビジネスの見込みからユーザによって提出されたクエリを、アクセスされるデータベース（複数可）に合うクエリ命令に、したがって、任意の種類のデータベースに適用可能であるように、変換するために確立される。さらに、ユーザは、ビジネスのみに注力するだけでよく、低レベルでのデータの違いは、隠される。
【００１２】
ビジネスモデルに対して、具体的なビジネスシナリオ（複数可）が、通常、ビジネス担当者によって分析され、ビジネスシナリオ（複数可）を完成させるために必要な情報の各部分が、ビジネス要素として使用される。ビジネス要素間の関連関係は、関連ビジネスの特徴と組み合わせて要約され、ビジネスシナリオ（複数可）を記述するビジネスモデルが生成されるようにする。
【００１３】
一実施形態では、メタデータ形式が、ビジネスシナリオのビジネスモデルを記述するために使用され得る。たとえば、ビジネスモデルは、以下のメタデータを使用して、図１に例示したそれらの概略図を用いて記述され得る。メタデータは、
ビジネスモデルに含まれるビジネス要素を定めるビジネス要素サブセット、
ビジネス要素の値範囲、及び同時に使用することができない特定のビジネス要素などの、ビジネス要素の制約情報及び／またはビジネス要素間の制約情報を定める制約サブセット、
ビジネス要素のインスタンス情報、つまり、どのインスタンスがビジネス要素によって記述されるか、を定めるインスタンスサブセット、
データフロー情報、つまり、ビジネス要素に関連する、時系列、アクション、などの流れ、を定めるフローサブセット、及び
他のモデルとの関連性と対応性と相互変換とを含む、現在のビジネスモデルと他のビジネスモデルとの間のマッピング関係を定めるマッピングサブセット、である。
【００１４】
具体的なビジネスシナリオ−顧客管理を、一例として使用する。ビジネスモデル−顧客モデル−を、抽象的ビジネス特徴を用いて要約するメタデータ記述は、
ビジネス要素サブセット：顧客番号、顧客名、顧客タイプ、及び顧客連絡方法、と、
制約サブセット：顧客番号及び顧客名は空白であることはできない、顧客タイプは、個人または組織のいずれかである、と、
インスタンスサブセット：顧客モデルのインスタンスは、個人顧客と組織顧客とを含む、と、を含む。
【００１５】
メタデータ言語を使用することによって、ビジネスモデルのビジネス要素及びモデル化方法は、より高い抽象化層で統一され、それにより、ビジネス要素とビジネスモデルとの、完全で、共有の、一貫性のある表示を提供する。
【００１６】
本開示の一実施形態では、ストレージモデルは、クエリされるデータベース（複数可）のデータストレージ（複数可）を記述することができ、それは、データストレージ（複数可）のために必要な必要情報を定めることを含み、さらに、各種類（複数可）の本物のストレージエンジン（複数可）の共通情報を含むことができる。具体的には、ストレージモデルは、クエリされるデータベース（複数可）の属性情報、格納データのソース名（複数可）、格納データのソースタイプ（複数可）、ストレージシャーディング（または断片化）モード（複数可）、及び／または格納データ領域（複数可）の名前（複数可）、を含む。
【００１７】
クエリされるデータベース（複数可）の属性情報は、データベース（複数可）内のエンティティタイプ（複数可）の属性を含む。格納データのソース名（複数可）は、クエリされるデータベースへの接続を確立するために必要な情報を含む。格納データのソースタイプ（複数可）は、クエリされるデータベース（複数可）のストレージエンジン（複数可）などの情報を含むことができる。ストレージシャーディングモード（複数可）は、読み書き分離、水平シャーディング、などを含むことができる。格納データ領域（複数可）の名前（複数可）は、リレーショナルデータベース用のテーブル、ＫＶストレージ用のネーミング空間、などを含むことができる。
【００１８】
ストレージモデル内に含まれる具体的な情報は、具体的なアプリケーションシナリオの必要性に基づいて決定され得る。たとえば、クエリされるすべてのデータベースが同じシャーディングモードを採用し、格納データの同じソースタイプを有する場合、ストレージモデルは、これらの２つの項目を含まないことがある。
【００１９】
ストレージモデルを、手作業で生成することができ、またはプログラムによって自動的に生成することができる。
【００２０】
本開示の実施形態におけるデータクエリの方法は、クエリされるデータが少なくとも２つの異なるデータベース内に格納されているシナリオに適用される。これらのデータベース間の違いは、同じクエリがこれらのデータベースに対して行われた時の、それらの具体的な実装方法の違い、たとえば、使用されるストレージエンジンの違い、同じストレージエンジンの場合でのデータの整理形式の違い、などを指す。本実施形態では、データクエリの方法のフローチャートを、図２に示している。
【００２１】
Ｓ２１０では、ビジネスモデルに基づいたクエリ要求が、受信される。
【００２２】
本実施形態では、ビジネスモデルに基づいたクエリモードが、ユーザに提供される。ビジネスモデルはビジネス要素（複数可）に基づいているため、ユーザのクエリ要求は、一般に、ビジネス要素（複数可）に基づいたクエリ状態を含む。上述した通り、ビジネスモデルは、ビジネスシナリオ（複数可）の抽象化によって形成され、ビジネスモデルに基づいたクエリモードは、低レベルにおける異なるデータベース間の違いを考慮せずに、ユーザがビジネス需要に注力することを可能にすることができる。
【００２３】
クエリ要求の形式は、ビジネス需要にしたがって自己定義され得、または、実施形態によって制限されないデータベース（複数可）のクエリ命令（複数可）を参照して定めることができる。
【００２４】
一実施形態では、クエリ要求は、ビジネス要素（複数可）に基づいた２つのクエリ条件：ビジネス要素（複数可）に基づいた、ストレージ取得条件と結果フィルタ条件とを含むことができる。ストレージ取得条件は、クエリ要求を、クエリされるデータベース（複数可）に合う実行モード（複数可）に変換するためのクエリ条件として使用される。結果フィルタ条件は、各データベースから取得したアクセス結果をふるいにかける（つまり、Ｓ２３０で取得したクエリ結果をふるいにかける）ための条件として使用される。
【００２５】
一例として、ビジネス指向のクエリ要求は、ＣＱＬ（Ｃａｓｓａｎｄｒａクエリ言語）を媒体として使用することができ、クエリセマンティックをできる限り完全で明確に記述するために、ビジネスモデルのメタデータに基づいたクラスｓｑｌ（構造化照会言語）を採用することができる。
【００２６】
可能なＣＱＬステートメントを、以下に示す。
【００２７】
ＳＥＬＥＣＴ［ビジネス要素、ビジネスモデル］ＦＲＯＭ［ビジネスモデル］
ＩＤ  ビジネス要素決定条件１［ＡＮＤ  ビジネス要素決定条件２］
［ＷＨＥＲＥ  ビジネス要素決定条件３［ＡＮＤ  ビジネス要素決定条件４］］
【００２８】
上記のステートメントは、ビジネス要素決定条件１とビジネス要素決定条件２（任意）とビジネス要素決定条件３（任意）とビジネス要素決定条件４（任意）とを満たすビジネス要素（複数可）またはビジネスモデル（複数可）を、ビジネスモデルから検索する、ということを意味する。ビジネス要素決定条件１及びビジネス要素判断決定２は、ストレージ取得条件であり、ビジネス要素決定条件３及びビジネス要素決定条件４は、結果フィルタ条件である。
【００２９】
Ｓ２２０では、クエリ要求は、クエリされるデータベース（複数可）に合う実行モード（複数可）に、ビジネスモデルとストレージモデルとの間の変換規則にしたがって変換される。
【００３０】
ビジネスモデルとストレージモデルとの間の変換規則は、ビジネスモデル内のビジネス要素（複数可）を、クエリされるデータベース（複数可）内に格納されたデータに関連付け、ビジネス指向クエリ要求を、クエリされるデータベース（複数可）に対するクエリ命令（複数可）に変換し、したがって、ユーザから受信したクエリ要求を、データベース（複数可）に合う実行モードに変換する。
【００３１】
変換規則は、ビジネス要素（複数可）とクエリされるデータベース（複数可）内の属性との間の対応関係を含む。たとえば、ＣｓＣｕｓｔｏｍｅｒという名前のビジネスモデルが、ビジネス要素ＵｓｅｒＴｙｐｅを含み、ｃｓ＿ｃｕｓｔｏｍｅｒという名前のストレージモデルが、属性ｕｓｅｒ＿ｔｙｐｅを含む場合、ビジネスモデルＣｓＣｕｓｔｏｍｅｒからストレージモデルｃｓ＿ｃｕｓｔｏｍｅｒへの変換規則は、［ＣｓＣｕｓｔｏｍｅｒ、ＵｓｅｒＴｙｐｅ、ｃｓ＿ｃｕｓｔｏｍｅｒ、ｕｓｅｒ＿ｔｙｐｅ、ｏｎｅＴｏＯｎｅＭａｐｐｉｎｇ］であり、これは、ビジネスモデルＣｕｓｔｏｍｅｒ内のビジネス要素ＵｓｅｒＴｙｐｅが、ストレージモデルｃｓ＿ｃｕｓｔｏｍｅｒ内の属性フィールドｕｓｅｒ＿ｔｙｐｅの中にあり、このビジネス要素と属性との間の関係は、１対１マッピングである（つまり、データベース内の各値が、ビジネスモデル内の対応する値と同じである）ことを意味する。クエリ要求が、クエリされるデータベース（複数可）に合う実行モードに、変換規則にしたがって変換されると、クエリ条件（複数可）（及び恐らくクエリオブジェクト（複数可）も）は、ビジネス要素記述からデータベース（複数可）の属性記述に、ビジネス要素（複数可）と属性（複数可）との間の対応関係にしたがって変換される。
【００３２】
具体的なビジネスシナリオ（複数可）と、採用されたビジネスモデル及びストレージモデルと、にしたがって、変換規則は、また、クエリ要求をデータベース（複数可）に対するアクセス命令（複数可）に変換するために必要な他の規則（複数可）を含むことができる。たとえば、クエリされるデータベースが異なるストレージエンジン（たとえば、ＯｒａｃｌｅデータベースとＴａｉｒデータベースとを含む）を採用している場合、変換規則は、さらに、クエリされるデータベースの格納データのソースタイプを含むことができる。クエリ要求がクエリされるデータベースに合う実行モード（複数可）に変換規則にしたがって変換されると、クエリ要求は、ストレージエンジンの種類に合う実行モード（複数可）に、クエリされるデータベースのストレージエンジンの種類にしたがって変換される。
【００３３】
変換規則を、手作業で生成することができ、またはプログラムによって、ビジネスモデルとストレージモデルとにしたがって、自動的に生成することができる。本開示の実施形態は、変換規則を生成する方法について、どのような制限も有していない。
【００３４】
クエリされるデータベース（複数可）に合う実行モード（複数可）は、データベース（複数可）に直接アクセスし、クエリをデータベース（複数可）内で直接実行する実行モードであってよく、またはデータベース（複数可）の特定のミドルウェアを呼び出すことによってデータベース（複数可）にアクセスする実行モードであってよく、実施形態内において限定されないが、クエリ結果が、アクセスされるデータベース（複数可）から取得され得ることを条件としている、ということに留意すべきである。
【００３５】
Ｓ２３０では、対応するデータベースが、実行モードにしたがってアクセスされる。
【００３６】
ビジネスモデルに基づいたユーザのクエリ要求が、クエリされるデータベース（複数可）に対応する実行モードに変換された後、対応するデータベースが、クエリ結果（複数可）を取得するために、上記の実行モードにしたがってアクセスされる。
【００３７】
一実装形態では、クエリされるデータベース（複数可）の実行モードに対する制御が、改善され得る。例は、後続のクエリ要求の実行を、クエリされる特定のデータベースへの同時アクセスの量が特定の量を超える場合に遅らせることと、クエリされる特定のデータベースが複数の物理ストレージバックアップを有する時、現在のクエリ要求を、より小さなアクセス量を有するバックアップに導くこと、などを含む。
【００３８】
理解され得る通り、本開示の実施形態は、ビジネスモデルに基づいたユーザのデータ要求を、クエリされるデータベース（複数可）に対する実行モードに、ビジネスモデルからストレージモデルへの変換規則にしたがって変換し、したがって、データが異なるデータベース間でインポート及びエクスポートされることを避けるのみならず、データベースに対する適用性の制限も有さない。さらに、低レベルデータベース間の違いは、ユーザレベルにおいて隠され、したがって、クエリの利便性と完全性とを改善する。
【００３９】
前述のプロセスの実装形態に対応して、本開示の実施形態は、さらに、データをクエリする装置を提供し、それは、サーバ、コンピュータ、モバイルフォン、などのネットワーキング機能を有するコンピューティングデバイスで使用される。装置は、ソフトウェアによって実装され得、また、ハードウェア、またはソフトウェアとハードウェアとの組み合わせを通して実現され得る。ソフトウェア実装形態を、一例として使用する。論理的には、装置は、対応するコンピュータプログラム命令（複数可）を、メモリに、そのデバイスのＣＰＵ（複数可）を介して、実行のために読み込むことによって形成される。ハードウェアに関しては、図３に示した、ＣＰＵ（複数可）３０２とキャッシュ（複数可）３０４と非揮発性メモリ（複数可）３０６とに加えて、データクエリ装置が配置されている装置３００は、一般に、通信用のチップ（複数可）などの他のハードウェア３０８も含むことができる。
【００４０】
図４は、実施形態によって提供される、データをクエリする装置４００を例示している。クエリされるデータは、少なくとも２つの異なるデータベース内に格納されている。装置４００は、要求受信ユニット４０２と、変換ユニット４０４と、データベースアクセスユニット４０６と、を含むことができる。要求受信ユニット４０２は、ビジネスモデルに基づいたクエリ要求を受信する。ビジネスモデルは、ビジネス要素（複数可）を含む。変換ユニット４０４は、クエリ要求を、クエリされるデータベースに合う実行モードに、ビジネスモデルからストレージモデルへの変換規則にしたがって変換する。ストレージモデルは、クエリされるデータベースの属性情報を含む。変換規則は、ビジネス要素（複数可）とクエリされるデータベース内の属性（複数可）との間の対応関係を含む。データベースアクセスユニット４０６は、対応するデータベースに、実行モードにしたがってアクセスする。
【００４１】
任意で、ビジネスモデルは、ビジネスシナリオ（複数可）をメタデータ形式で記述し、さらに、ビジネス要素（複数可）の制約情報と、ビジネス要素（複数可）間の制約情報と、ビジネス要素（複数可）のインスタンス情報と、データフロー情報と、他のビジネスモデル（複数可）とのマッピング関係（複数可）と、のうちの少なくとも１つを含むことができる。
【００４２】
任意で、ストレージモデルは、クエリされるデータベースの各データストレージを記述し、さらに、格納データソース名（複数可）と、格納データソースタイプ（複数可）と、ストレージシャーディングモード（複数可）と、格納データ領域名（複数可）と、のうちの少なくとも１つを含むことができる。
【００４３】
一実施形態では、変換ユニット４０４は、クエリ要求を、クエリされるデータベースのストレージエンジンタイプに合う実行モードに、ストレージエンジンタイプにしたがって変換する。
【００４４】
クエリ要求は、ビジネス要素（複数可）に基づいた、ストレージ取得条件（複数可）と結果フィルタ条件（複数可）とを含むことができる。この場合、変換ユニット４０４は、クエリ要求を、クエリされるデータベースに合う実行モードに、ストレージ取得条件（複数可）をクエリ条件（複数可）として使用することによって変換する。装置４００は、さらに、各データベースから取得したアクセス結果を結果フィルタ条件（複数可）にしたがってふるいにかける、スクリーニングユニット４０８を含むことができる。
【００４５】
前述の方法と装置との実施形態から分かる通り、データが異なるデータベース間でインポート及びエクスポートされる既存の技術と比べて、本開示の実施形態は、ビジネスモデルとストレージモデルとを確立する。ユーザは、ビジネスモデルに基づいたクエリを実施し、ユーザのクエリ要求は、データベースに対するアクセス命令に、ビジネスモデルとストレージモデルとの間の変換規則を通して変換される。したがって、さまざまな種類のデータベースに対する統一クエリを実現することができ、それによって、データのより包括的なクエリを有する。さらに、低層データベース間の違いは、ユーザからは隠され、クエリすることがより便利になる。
【００４６】
一実施形態では、装置４００は、１つまたは複数のコンピューティングデバイスを含むことができる。たとえば、装置４００は、さらに、１つまたは複数のプロセッサ４１０と、入力／出力インターフェース４１２と、ネットワークインターフェース４１４と、メモリ４１６と、を含むことができる。
【００４７】
メモリ４１６は、揮発性メモリ、ランダムアクセスメモリ（ＲＡＭ）、及び／または非揮発性メモリ、たとえば、リードオンリーメモリ（ＲＯＭ）またはフラッシュＲＡＭ、などのコンピュータ可読媒体の形態を含むことができる。メモリ４１６は、コンピュータ可読媒体の一例である。
【００４８】
コンピュータ可読媒体は、永久的または非永久的な種類と、取り外し可能媒体または固定媒体と、を含むことができ、それにより、情報の保管を、任意の方法または技術を使用して達成することができる。情報は、コンピュータ可読コマンド、データ構造、プログラムモジュール、または他のデータを含むことができる。コンピュータストレージ媒体の例は、相変化メモリ（ＰＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、他の種類のランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、電気的消去可能プログラム可能リードオンリーメモリ（ＥＥＰＲＯＭ）、クイックフラッシュメモリまたは他の内部ストレージ技術、コンパクトディスクリードオンリーメモリ（ＣＤ−ＲＯＭ）、ディジタル多用途ディスク（ＤＶＤ）または他の光ストレージ、磁気カセットテープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、または任意の他の非伝送媒体を含むが、それらに限定されず、それらを使用して、コンピューティングデバイスによってアクセスされ得る情報を格納することができる。本明細書で定義する通り、コンピュータ可読媒体は、変調データ信号や搬送波などの一時的媒体を含まない。
【００４９】
一実施形態では、メモリ４１６は、プログラムユニット４１８とプログラムデータ４２０とを含むことができる。プログラムユニット４１８は、要求受信ユニット４０２と、変換ユニット４０４と、データベースアクセスユニット４０６と、スクリーニングユニット４０８と、を含むことができる。これらのユニットの詳細は前述したので、本明細書では繰り返して説明しない。
【００５０】
「ｃｏｍｐｒｉｓｅ（備える）」、「ｉｎｃｌｕｄｅ（含む）」、またはそれらの他の変形物などの用語は、非排他的包含を含むことを意図している、ということに留意すべきである。一連の要素を含むプロセス、方法、製品、または装置は、それらの要素を含むのみならず、明示的に挙げられていない他の要素も含み、または、さらに、そのようなプロセス、方法、製品、または装置内にすでに存在する要素も含む。さらなる限定のない条件では、「ｉｎｃｌｕｄｅ ａ/ａｎ ...（〜を含む）」という表現によって定められる要素は、他の同様の要素が、プロセス、方法、製品、または装置内に存在することを排除しない。
【００５１】
本開示の実施形態を、方法、システム、またはコンピュータプログラム製品として提供することができる、ということを当業者は理解すべきである。したがって、本開示を、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、ハードウェアとソフトウェアとの組み合わせから成る実施形態として、実装することができる。さらに、本開示を、コンピュータ実行可能命令を格納する（磁気ディスク、ＣＤ−ＲＯＭ、または光ディスク、などを含むがこれらに限定されない）１つまたは複数のコンピュータ可読ストレージ媒体内に格納され得る、コンピュータプログラム製品として実装することができる。
【００５２】
上記の説明は、単に、本開示の例示的な実施形態であり、本開示を限定する意図はない。本開示の趣旨と原理との中で行われる、任意の変更、同等置換、及び改善、などは、本開示の保護範囲の中に含まれるべきである。
【図１】
0006535031.tif 000002
【図２】
0006535031.tif 000003
【図３】
0006535031.tif 000004
【図４】
0006535031.tif 000005