(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-04
(45)【発行日】2024-01-15
(54)【発明の名称】データ処理方法、装置、機器及び記憶媒体
(51)【国際特許分類】
G06F 16/23 20190101AFI20240105BHJP
【FI】
G06F16/23
(21)【出願番号】P 2021050117
(22)【出願日】2021-03-24
【審査請求日】2021-03-24
【審判番号】
【審判請求日】2022-11-10
(31)【優先権主張番号】202010388439.1
(32)【優先日】2020-05-09
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】110000578
【氏名又は名称】名古屋国際弁理士法人
(72)【発明者】
【氏名】ユー タオ
(72)【発明者】
【氏名】ウー ミンギュ
(72)【発明者】
【氏名】イェ ジュン
【合議体】
【審判長】林 毅
【審判官】脇岡 剛
【審判官】稲垣 良一
(56)【参考文献】
【文献】国際公開第2011/111532号(WO,A1)
【文献】国際公開第2013/179952号(WO,A1)
【文献】特開2015-191305号公報(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/00
(57)【特許請求の範囲】
【請求項1】
データ処理装置によって実行されるデータ処理方法であって、
テナントのデータ操作要求からターゲットフィールド及びターゲット識別子を取得するステップと、
前記ターゲットフィールド及び前記ターゲット識別子に基づいて、少なくとも2つのテナントのデータを格納するためのデータテーブルでのターゲットデータの格納場所を決定するステップと、
決定された格納場所に基づいて、前記データ操作要求に関連付けられた操作ロジックを実行するステップと、を含み、
前記ターゲットフィールド及び前記ターゲット識別子に基づいて、データテーブルでのターゲットデータの格納場所を決定するステップは、
前記ターゲットフィールドに基づいて第1の次元識別子を決定し、前記ターゲット識別子に基づいて第2の次元識別子を決定するステップと、
前記第1の次元識別子及び前記第2の次元識別子に基づいて、前記格納場所を決定するステップと、を含み、
前記第1の次元識別子及び前記第2の次元識別子に基づいて、前記格納場所を決定するステップは、
前記第1の次元識別子に基づいて、ターゲット列を決定するステップと、
前記第2の次元識別子に基づいて、ターゲット行を決定するステップと、
前記ターゲット列及び前記ターゲット行に基づいて、前記格納場所を決定するステップと、を含み、
前記ターゲットフィールドに基づいて第1の次元識別子を決定するステップは、
前記ターゲットフィールドと前記第1の次元識別子とのマッピング関係をもとに、前記ターゲットフィールドに基づいて前記第1の次元識別子を取得するステップを含み、
前記ターゲットフィールドと前記第1の次元識別子とのマッピング関係をもとに、前記ターゲットフィールドに基づいて前記第1の次元識別子を取得するステップの前に、前記方法は、
前記ターゲットフィールド及び前記ターゲットデータのデータ型を取得するステップと、
前記データ型に基づいて、前記データテーブルのアイドル次元識別子から少なくとも1つのアイドル次元識別子を前記第1の次元識別子として選択するステップと、
前記ターゲットフィールドと前記第1の次元識別子との間のマッピング関係を確立するステップと、をさらに含む
ことを特徴とするデータ処理方法。
【請求項2】
前記データ操作要求がデータクエリ要求である場合、決定された格納場所に基づいて、前記データ操作要求に関連付けられた操作ロジックを実行するステップは、
前記格納場所から前記ターゲットデータを読み取るステップと、
前記ターゲットデータをテナントにフィードバックするステップと、を含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記ターゲットデータをテナントにフィードバックするステップは、
前記ターゲットデータと前記ターゲットフィールドとを関連付けるステップと、
関連付けられた後の前記ターゲットデータ及び前記ターゲットフィールドをテナントにフィードバックするステップと、を含む、
ことを特徴とする請求項2に記載の方法。
【請求項4】
前記データ操作要求がデータインポート要求である場合、決定された格納場所に基づいて、前記データ操作要求に関連付けられた操作ロジックを実行するステップは、
前記ターゲットデータを前記格納場所に書き込むステップを含む、
ことを特徴とする請求項1に記載の方法。
【請求項5】
データ処理装置であって、
テナントのデータ操作要求からターゲットフィールド及びターゲット識別子を取得するためのフィールド取得モジュールと、
前記ターゲットフィールド及び前記ターゲット識別子に基づいて、少なくとも2つのテナントのデータを格納するためのデータテーブルでのターゲットデータの格納場所を決定するための場所決定モジュールと、
決定された格納場所に基づいて、前記データ操作要求に関連付けられた操作ロジックを実行するためのロジック実行モジュールと、を含み、
前記場所決定モジュールが、
前記ターゲットフィールドに基づいて第1の次元識別子を決定し、前記ターゲット識別子に基づいて第2の次元識別子を決定するための識別子決定ユニットと、
前記第1の次元識別子及び前記第2の次元識別子に基づいて、前記格納場所を決定するための場所決定ユニットと、を含み、
前記場所決定ユニットが、
前記第1の次元識別子に基づいて、ターゲット列を決定するための列決定サブユニットと、
前記第2の次元識別子に基づいて、ターゲット行を決定するための行決定サブユニットと、
前記ターゲット列及び前記ターゲット行に基づいて、前記格納場所を決定するための場所決定サブユニットと、を含み、
前記識別子決定ユニットは、
前記ターゲットフィールドと前記第1の次元識別子とのマッピング関係をもとに、前記ターゲットフィールドに基づいて前記第1の次元識別子を取得するための識別子決定サブユニットを含み、
前記装置は、
前記ターゲットフィールドと前記第1の次元識別子とのマッピング関係をもとに、前記ターゲットフィールドに基づいて前記第1の次元識別子を取得する前に、前記ターゲットフィールド及び前記ターゲットデータのデータ型を取得するためのデータ型取得モジュールと、
前記データ型に基づいて、前記データテーブルのアイドル次元識別子から少なくとも1つのアイドル次元識別子を前記第1の次元識別子として選択するための識別子決定モジュールと、
前記ターゲットフィールドと前記第1の次元識別子との間のマッピング関係を確立するための関係確立モジュールと、をさらに含む、
ことを特徴とするデータ処理装置。
【請求項6】
前記データ操作要求がデータクエリ要求である場合、ロジック実行モジュールは、
前記格納場所から前記ターゲットデータを読み取るためのデータ読み取りユニットと、
前記ターゲットデータをテナントにフィードバックするためのデータフィードバックユニットと、を含む、
ことを特徴とする請求項5に記載の装置。
【請求項7】
前記データフィードバックユニットは、
前記ターゲットデータと前記ターゲットフィールドとを関連付けるためのフィールド関連付けサブユニットと、
関連付けられた後の前記ターゲットデータ及び前記ターゲットフィールドをテナントにフィードバックするためのデータフィードバックサブユニットと、を含む、
ことを特徴とする請求項6に記載の装置。
【請求項8】
前記データ操作要求がデータインポート要求である場合、ロジック実行モジュールは、
前記ターゲットデータを前記格納場所に書き込むためのデータ書き込みユニットを含む、
ことを特徴とする請求項5に記載の装置。
【請求項9】
電子機器であって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信可能に接続されるメモリと、を含み、
前記メモリには、
請求項1~4のいずれかに記載の方法を実行させる命令が格納されている、
ことを特徴とする電子機器。
【請求項10】
コンピュータ命令が格納されている非一時的なコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ命令は、
請求項1~4のいずれかに記載の方法を
コンピュータに実行させる、
ことを特徴とする非一時的なコンピュータが読み取り可能な記憶媒体。
【請求項11】
コンピュータ上で動作しているときに、請求項1~4のいずれかに記載の方法を前記コンピュータに実行させる、
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願の実施例は、データ処理分野に関し、特にデータウェアハウス技術に関する。具体的に、本出願の実施例は、データ処理方法、装置、機器及び記憶媒体を提供する。
【背景技術】
【0002】
サービスとしてのエンタープライズソフトウェア(Software-as-a-Service、SaaS)市場の台頭に伴い、データのインポート、格納、クエリについての管理をSaaSに委託する企業がますます増えている。企業は業界と製品に違いがあるため、データテーブルの格納に対してカスタムフィールドというニーズがある。SaaSプラットフォームのコスト競争の優位性を高め、SaaSのコストを削減するために、データテーブル格納技術がマルチテナントのカスタムデータのインポートを効率的にサポートできることは求められる。
【0003】
従来の解決案は、マルチテナントのカスタムのデータフィールドというニーズをサポートできないか、データのインポートのコストが高いため、データフィールドに対するプラットフォームのマルチテナントのカスタムのニーズを満たしながら、インポートが効率的であるデータテーブル格納技術が必要とされる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本出願の実施例は、データ処理方法、装置、機器及び記憶媒体を提供する。
【課題を解決するための手段】
【0005】
第1の態様において、本出願の実施例は、
テナントのデータ操作要求からターゲットフィールド及びターゲット識別子を取得するステップと、
前記ターゲットフィールド及び前記ターゲット識別子に基づいて、少なくとも2つのテナントのデータを格納するためのデータテーブルでのターゲットデータの格納場所を決定するステップと、
決定された格納場所に基づいて、前記データ操作要求に関連付けられた操作ロジックを実行するステップと、を含むデータ処理方法を開示する。
【0006】
第2の態様において、本出願の実施例は、
テナントのデータ操作要求からターゲットフィールド及びターゲット識別子を取得するためのフィールド取得モジュールと、
前記ターゲットフィールド及び前記ターゲット識別子に基づいて、少なくとも2つのテナントのデータを格納するためのデータテーブルでのターゲットデータの格納場所を決定するための場所決定モジュールと、
決定された格納場所に基づいて、前記データ操作要求に関連付けられた操作ロジックを実行するためのロジック実行モジュールと、を含むデータ処理装置を開示する。
【0007】
第3の態様において、本出願の実施例は、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信可能に接続されるメモリと、を含む電子機器をさらに開示し、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶されており、前記命令は、前記少なくとも1つのプロセッサが本出願の実施例のいずれかに記載の方法を実行できるように、前記少なくとも1つのプロセッサによって実行される。
【0008】
第4の態様において、本出願の実施例は、コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体をさらに開示し、前記コンピュータ命令は、前記コンピュータに本出願の実施例のいずれかに記載の方法を実行させることに用いられる。
【0009】
第5の態様において、本出願の実施例は、コンピュータプログラムをさらに開示し、前記コンピュータプログラムは、前記コンピュータに本出願の実施例のいずれかに記載の方法を実行させることに用いられる。
【発明の効果】
【0010】
本出願の実施例の技術案は、データフィールドに対するマルチテナントのカスタムニーズを実現するとともに、データインポートのコストが高いという問題を解決する。
【0011】
なお、本部分に記載された内容は、本開示の実施例の肝心または重要な特徴を限定することを意図しておらず、本開示の範囲を限定することを意図するものでもない。本開示の他の特徴は、以下の説明によって容易に理解されやすくなる。
【図面の簡単な説明】
【0012】
図面は、本技術案をよりよく理解するために使用されており、本出願を限定するものではない。
【
図1】本出願の実施例により提供されるデータ処理方法のフローチャートである。
【
図2】本出願の実施例により提供されるもう1つのデータ処理方法のフローチャートである。
【
図3】本出願の実施例により提供されるもう1つのデータ処理方法のフローチャートである。
【
図4】本出願の実施例により提供されるデータインポートのインタラクションの概略図である。
【
図5】本出願の実施例により提供されるデータクエリのインタラクションの概略図である。
【
図6】本出願の実施例により提供されるマルチユーザのデータインポートとクエリのインタラクションの概略図である。
【
図7】本出願の実施例により提供されるデータ処理装置の概略構成図である。
【
図8】本出願の実施例のデータ処理方法に係る電子機器のブロック図である。
【発明を実施するための形態】
【0013】
以下、図面と組み合わせて本出願の例示的な実施例を説明し、理解を容易にするためにその中には本出願の実施例の様々な詳細事項が含まれており、それらは単なる例示的なものと見なされるべきである。したがって、当業者は、本出願の範囲及び精神から逸脱することなく、ここで説明される実施例に対して様々な変更と修正を行うことができることを認識されたい。同様に、明確及び簡潔にするために、以下の説明では、周知の機能及び構造の説明を省略する。
【0014】
図1は本出願の実施例により提供されるデータ処理方法のフローチャートである。本実施例は、テナントがカスタムフィールドに基づいてレンタルするデータテーブルを操作する場合に適用できる。当該方法は、データ処理装置によって実行でき、当該装置はソフトウェアおよび/またはハードウェアによって実現することができる。
図1を参照し、本出願の実施例により提供されるデータ処理装置は、以下を含む。
【0015】
S110:テナントのデータ操作要求からターゲットフィールド及びターゲット識別子を取得する。
【0016】
ここで、データ操作要求は、テナントが開始した、テナントがレンタルしたデータテーブルに対する操作要求である。
【0017】
具体的に、操作要求は、データテーブルのデータ追加操作、データ削除操作、データ修正操作、及びデータクエリ操作に対する要求であってもよい。
【0018】
ターゲットフィールドとは、テナントが決定した、ターゲットデータを認識するためのフィールドを指す。
【0019】
具体的に、ターゲットフィールドは、ユーザがニーズに基づいて定義することができる。
【0020】
ターゲット識別子は、ターゲットデータが属するユーザまたはプロジェクトを認識するための識別子情報である。
【0021】
具体的に、ターゲット識別子は、ユーザ識別子であってもよいし、プロジェクト識別子であってもよい、本実施例はこれに何ら限定するものではない。
【0022】
S120:前記ターゲットフィールド及び前記ターゲット識別子に基づいて、データテーブルでのターゲットデータの格納場所を決定する。
【0023】
ここで、前記データテーブルは、少なくとも2つのテナントのデータを格納するために使用される。
【0024】
具体的に、前記データテーブルは、マルチテナントが共同で使用するデータテーブル、すなわち共有データテーブルである。
【0025】
ターゲットデータとは、テナントが処理を要求したデータを指す。
【0026】
表1を参照すると、データテーブルの2つの次元は、カスタムフィールドセットとデータ識別子であってもよい。
【表1】
【0027】
それに対応して、前記ターゲットフィールド及び前記ターゲット識別子に基づいて、データテーブルでのターゲットデータの格納場所を決定するステップは、
ターゲットフィールドをデータテーブルにおけるカスタムフィールドセット内のフィールドとマッチングし、ターゲット識別子をデータ識別子とマッチングするステップと、
マッチング結果に基づいて、ターゲットデータの所属列及び所属行を決定するステップと、を含む。
【0028】
S130:決定された格納場所に基づいて、前記データ操作要求に関連付けられた操作ロジックを実行する。
【0029】
選択可能に、前記データ操作要求がデータ修正要求である場合、前記データ操作要求に関連付けられた操作ロジックは、ターゲットデータに対する修正である。
【0030】
それに対応して、決定された格納場所に基づいて、ターゲットデータに対する修正を実行するステップは、
格納場所のターゲットデータを削除し、新しいデータをその格納場所に書き込むステップを含む。
【0031】
前記データ操作要求がデータ削除要求である場合、前記データ操作要求に関連付けられた操作ロジックは、ターゲットデータを削除することである。
【0032】
それに対応して、決定された格納場所に基づいて、ターゲットデータに対する削除を実行するステップは、
格納場所に基づいてターゲットデータを位置決めし、ターゲットデータを削除するステップを含む。
【0033】
本出願の実施例の技術案は、カスタムフィールドによりデータテーブルでのターゲットデータの格納場所を決定し、テナントのデータフィールドのカスタムニーズを実現する。
【0034】
また、少なくとも2つのテナントデータが格納されている共有データテーブルを用いてテナントデータを格納することにより、マルチテナントのデータテーブルに対する操作タスクをマージでき、操作スケジュールと管理コストが大幅に削減され、テナントによって操作コストが線形的に増加しないようになり、操作コストが高いという問題が解決される。テナントごとに1つのデータテーブルを割り当てると、マルチテナントがデータテーブルを連続的に操作するシーンでは、異なるデータテーブルに対して複数の並列スレッドを同時に開く必要があり、操作コストが高くなるという問題を引き起こす。しかし、本提案は複数のテナントが1つのデータテーブルを共有し、1つのスレッドを開くだけで、マルチテナントの操作要求に対する応答を実現できる。
【0035】
さらに、前記データ操作要求がデータインポート要求である場合、決定された格納場所に基づいて、前記データ操作要求に関連付けられた操作ロジックを実行するステップは、
前記ターゲットデータを前記格納場所に書き込むステップを含む。
【0036】
当該技術的特徴に基づいて、本出願の実施例は、ターゲットデータを格納場所に書き込むことにより、テナントによって開始されたデータインポート要求への応答を実現する。
【0037】
図2は本出願の実施例により提供されるもう1つのデータ処理方法のフローチャートである。本方法は、上記方法に基づいて、データ操作要求がデータクエリ要求である場合を例として、上記S130を具体的に最適化したものである。
図2を参照すると、上記S130は、具体的に、以下のステップを含む。
【0038】
S131:前記格納場所から前記ターゲットデータを読み取る。
【0039】
S132:前記ターゲットデータをテナントにフィードバックする。
【0040】
具体的に、ターゲットデータだけをテナントにフィードバックすることができる。
【0041】
具体的なフィードバック形式は、ターゲットデータをテナントに表示してもよいし、ターゲットデータをテナントに送信してもよい。
【0042】
本出願の実施例は、前記格納場所から前記ターゲットデータを読み取り、前記ターゲットデータをテナントにフィードバックすることにより、テナントデータクエリ要求に対する応答を実現する。
【0043】
テナントのターゲットデータに対する理解を容易にするために、前記ターゲットデータをテナントにフィードバックするステップは、
前記ターゲットデータと前記ターゲットフィールドとを関連付けるステップと、
関連付けられた後の前記ターゲットデータ及び前記ターゲットフィールドをテナントにフィードバックするステップと、を含む。
【0044】
具体的に、前記ターゲットデータと前記ターゲットフィールドとの間のマッピング関係に基づいて、前記ターゲットデータと前記ターゲットフィールドとを関連付ける。
【0045】
当該技術的特徴に基づいて、本出願の実施例は、前記ターゲットデータと前記ターゲットフィールドとを関連付け、関連付けられた後の前記ターゲットデータ及び前記ターゲットフィールドをテナントにフィードバックすることにより、ユーザがターゲットフィールドを介してターゲットデータを容易に理解できるようにする。
【0046】
図3は本出願の実施例により提供されるもう1つのデータ処理方法のフローチャートである。本方法は、上記方法に基づいて、上記S120を具体的に最適化したものである。
図3を参照し、S120は、具体的に、以下のステップを含む。
【0047】
S121:前記ターゲットフィールドに基づいて第1の次元識別子を決定し、前記ターゲット識別子に基づいて第2の次元識別子を決定する。
【0048】
ここで、第1の次元識別子は、認識データテーブル内の1つの次元を識別するために使用される。第2の次元識別子は、認識データテーブル内の別の次元を識別するために使用される。
【0049】
具体的に、第1の次元識別子は、データテーブルの行識別子であってもよいし、データテーブルの列識別子であってもよい。それに対応して、第2の次元識別子は、データテーブルの列識別子であってもよいし、データテーブルの行識別子であってもよい。
【0050】
具体的に、前記ターゲットフィールドに基づいて第1の次元識別子を決定するステップは、
前記ターゲットフィールドと前記第1の次元識別子とのマッピング関係をもとに、前記ターゲットフィールドに基づいて前記第1の次元識別子を取得するステップを含む。
【0051】
前記ターゲットフィールドと前記第1の次元識別子とのマッピング関係の確立を実現するために、前記ターゲットフィールドと前記第1の次元識別子とのマッピング関係をもとに、前記ターゲットフィールドに基づいて前記第1の次元識別子を取得するステップ前に、前記方法は、
前記ターゲットフィールド及び前記ターゲットデータのデータ型を取得するステップと、
前記データ型に基づいて、前記データテーブルのアイドル次元識別子から少なくとも1つのアイドル次元識別子を前記第1の次元識別子として選択するステップと、
前記ターゲットフィールドと前記第1の次元識別子との間のマッピング関係を確立するステップと、をさらに含む。
【0052】
ここで、アイドル次元識別子とは、データテーブルにデータが書き込まれていない次元の識別子を指す。
【0053】
具体的に、データ型は、数値型や文字列型であってもよい。
【0054】
S122:前記第1の次元識別子及び前記第2の次元識別子に基づいて、前記格納場所を決定する。
【0055】
具体的に、前記第1の次元識別子及び前記第2の次元識別子に基づいて、前記格納場所を決定するステップは、
前記第1の次元識別子に基づいてターゲット列を決定するステップと、
前記第2の次元識別子に基づいてターゲット行を決定するステップと、
前記ターゲット列及び前記ターゲット行に基づいて、前記格納場所を決定するステップと、を含む。
【0056】
ここで、ターゲット行とはターゲットデータが存在する行を指すもので、ターゲット列とはターゲットデータが存在する列を指すものである。
【0057】
具体的に、表2を参照すると、本出願の実施例のデータテーブルは、第1の次元識別子と、第2の次元識別子と、をさらに含むことができる。
【表2】
【0058】
実際の適用において、本出願の実施例は以下のように記述することができる。
【0059】
図4を参照すると、データ操作要求がデータインポート要求である場合を例として、本出願の実施例により提供されるデータ処理方法は以下のように記述することができる。テナントのデータインポート要求を受信し、データインポート要求中のターゲットフィールドをメタデータサーバに送信し、メタデータサーバから第1の次元識別子を返し、ターゲット識別子に基づいて第2の次元識別子を決定し、第1の次元識別子及び第2の次元識別子に基づいてデータテーブルでのターゲットデータの格納場所を決定し、ターゲットデータをデータテーブルに書き込み、ここでこのデータテーブルはマルチテナントが共同で使用する共有データテーブルである。
【0060】
図5を参照すると、データ操作要求がデータクエリである場合を例として、本出願の実施例により提供されるデータ処理方法は以下のように記述することができる。テナントが送信したデータクエリ要求を受信し、テーブルビューに基づいて、データクエリ要求内のターゲットフィールドに基づいて第1の次元識別子を決定し、データクエリ要求内のターゲット識別子に基づいて第2の次元識別子を決定し、決定された第1の次元識別子及び第2の次元識別子に基づいて、データテーブルでのターゲットデータの格納場所を決定し、この格納場所からターゲットデータを読み取り、ターゲットデータとターゲットフィールドとを関連付けてテナントに表示する。
【0061】
図6を参照すると、上記インポート及びクエリロジックに基づいて、複数のテナントの共有データテーブルに基づくカスタムデータ操作を実現できる。
【0062】
本出願の実施例の技術案は、前記ターゲットフィールドに基づいて第1の次元識別子を決定し、前記ターゲット識別子に基づいて第2の次元識別子を決定し、前記第1の次元識別子及び前記第2の次元識別子に基づいて、前記格納場所を決定することにより、データテーブルのストレージリソースに対するカスタムフィールドセットの占有を回避する。
【0063】
図7は本出願の実施例により提供されるデータ処理装置の概略構成図である。
図7を参照すると、本出願の実施例により提供されるデータ処理装置700は、フィールド取得モジュール701と、場所決定モジュール702と、ロジック実行モジュール703と、を含む。
【0064】
ここで、フィールド取得モジュール701は、テナントのデータ操作要求からターゲットフィールド及びターゲット識別子を取得することに用いられ、
場所決定モジュール702は、前記ターゲットフィールド及び前記ターゲット識別子に基づいて、少なくとも2つのテナントのデータを格納するためのデータテーブルでのターゲットデータの格納場所を決定することに用いられ、
ロジック実行モジュール703は、決定された格納場所に基づいて、前記データ操作要求に関連付けられた操作ロジックを実行することに用いられる。
【0065】
本出願の実施例の技術案は、カスタムフィールドによりデータテーブルでのターゲットデータの格納場所を決定し、テナントのデータフィールドのカスタムニーズを実現する。
【0066】
また、少なくとも2つのテナントデータが格納されている共有データテーブルを用いてテナントデータを格納することにより、マルチテナントのデータテーブルに対する操作タスクをマージでき、操作スケジュールと管理コストが大幅に削減され、テナントによって操作コストが線形的に増加しないようになり、操作コストが高いという問題が解決される。テナントごとに1つのデータテーブルを割り当てると、マルチテナントがデータテーブルを連続的に操作するシーンでは、異なるデータテーブルに対して複数の並列スレッドを同時に開く必要があり、操作コストが高くなるという問題を引き起こす。しかし、本提案は複数のテナントが1つのデータテーブルを共有し、1つのスレッドを開くだけで、マルチテナントの操作要求に対する応答を実現できる。
【0067】
さらに、前記データ操作要求がデータクエリ要求である場合、ロジック実行モジュールは、
前記格納場所から前記ターゲットデータを読み取るためのデータ読み取りユニットと、
前記ターゲットデータをテナントにフィードバックするためのデータフィードバックユニットと、を含む。
【0068】
さらに、前記データフィードバックユニットは、
前記ターゲットデータと前記ターゲットフィールドとを関連付けるためのフィールド関連付けサブユニットと、
関連付けられた後の前記ターゲットデータ及び前記ターゲットフィールドをテナントにフィードバックするためのデータフィードバックサブユニットと、を含む。
【0069】
さらに、前記データ操作要求がデータインポート要求である場合、ロジック実行モジュールは、
前記ターゲットデータを前記格納場所に書き込むためのデータ書き込みユニットを含む。
【0070】
さらに、前記場所決定モジュールは、
前記ターゲットフィールドに基づいて第1の次元識別子を決定し、前記ターゲット識別子に基づいて第2の次元識別子を決定するための識別子決定ユニットと、
前記第1の次元識別子及び前記第2の次元識別子に基づいて、前記格納場所を決定するための場所決定ユニットと、を含む。
【0071】
さらに、前記識別子決定ユニットは、
前記ターゲットフィールドと前記第1の次元識別子とのマッピング関係をもとに、前記ターゲットフィールドに基づいて前記第1の次元識別子を取得するための識別子決定サブユニットを含む。
【0072】
さらに、前記装置は、
前記ターゲットフィールドと前記第1の次元識別子とのマッピング関係をもとに、前記ターゲットフィールドに基づいて前記第1の次元識別子を取得するステップの前に、前記ターゲットフィールド及び前記ターゲットデータのデータ型を取得するためのフィールド取得モジュールと、
前記データ型に基づいて、前記データテーブルのアイドル次元識別子から少なくとも1つのアイドル次元識別子を前記第1の次元識別子として選択するための識別子決定モジュールと、
前記ターゲットフィールドと前記第1の次元識別子との間のマッピング関係を確立するための関係確立モジュールと、をさらに含む。
【0073】
さらに、前記場所決定ユニットは、
前記第1の次元識別子に基づいてターゲット列を決定するための列決定サブユニットと、
前記第2の次元識別子に基づいてターゲット行を決定するための行決定サブユニットと、
前記ターゲット列及び前記ターゲット行に基づいて、前記格納場所を決定するための場所決定サブユニットと、を含む。
【0074】
本出願の実施例によれば、本出願は、電子機器及び読み取り可能な記憶媒体をさらに提供する。
【0075】
図8に示すように、それは本出願の実施例に係るデータ処理方法の電子機器のブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ、及び他の適切なコンピュータなどの様々な形式のデジタルコンピュータを表すことを目的とする。電子機器は、携帯情報端末、携帯電話、スマートフォン、ウェアラブルデバイス、他の同様のコンピューティングデバイスなどの様々な形式のモバイルデバイスを表すこともできる。本明細書で示されるコンポーネント、それらの接続と関係、及びそれらの機能は単なる例であり、本明細書の説明及び/又は要求される本出願の実現を制限することを意図したものではない。
【0076】
図8に示すように、当該電子機器は、1つ又は複数のプロセッサ801と、メモリ802と、高速インターフェースと低速インターフェースを含む、各コンポーネントを接続するためのインターフェースと、を含む。各コンポーネントは、異なるバスで相互に接続され、共通のマザーボードに取り付けられるか、又は必要に応じて他の方式で取り付けることができる。プロセッサは、外部入力/出力装置(インターフェースに結合されたディスプレイデバイスなど)にGUIの図形情報をディスプレイするためにメモリに記憶されている命令を含む、電子機器内に実行される命令を処理することができる。他の実施形態では、必要であれば、複数のプロセッサ及び/又は複数のバスを、複数のメモリとともに使用することができる。同様に、複数の電子機器を接続することができ、各電子機器は、部分的な必要な操作(例えば、サーバアレイ、ブレードサーバ、又はマルチプロセッサシステムとする)を提供することができる。
図8では、1つのプロセッサ801を例とする。
【0077】
メモリ802は、本出願により提供される非一時的なコンピュータ読み取り可能な記憶媒体である。ここで、前記メモリには、前記少なくとも1つのプロセッサが本出願により提供されるデータ処理方法を実行できるように、少なくとも1つのプロセッサによって実行される命令が記憶されている。本出願の非一時的なコンピュータ読み取り可能な記憶媒体は、コンピュータが本出願により提供されるデータ処理方法を実行するためのコンピュータ命令を記憶する。
【0078】
メモリ802は、非一時的なコンピュータ読み取り可能な記憶媒体として、本出願の実施例におけるデータ処理方法に対応するプログラム命令/モジュール(例えば、
図7に示すフィールド取得モジュール701、場所決定モジュール702及びロジック実行モジュール703)ような、非一時的なソフトウェアプログラム、非一時的なコンピュータ実行可能なプログラム及びモジュールを記憶するために用いられる。プロセッサ801は、メモリ802に記憶されている非一時的なソフトウェアプログラム、命令及びモジュールを実行することによって、上記方法の実施例におけるデータ処理方法を実現する。
【0079】
メモリ802は、プログラム記憶領域とデータ記憶領域とを含むことができ、ここで、プログラム記憶領域は、オペレーティングシステム、少なくとも1つの機能に必要なアプリケーションを記憶することができ、データ記憶領域は、データ処理方法の電子機器の使用によって作成されたデータなどを記憶することができる。また、メモリ802は、高速ランダムアクセスメモリを含むことができ、非一時的なメモリをさらに含むことができ、例えば、少なくとも1つのディスクストレージデバイス、フラッシュメモリデバイス、又は他の非一時的なソリッドステートストレージデバイスである。いくつかの実施例では、メモリ802は、プロセッサ801に対して遠隔に設定されたメモリを選択的に含むことができ、これらの遠隔メモリは、ネットワークを介してテストを実行する電子機器に接続することができる。上記ネットワークの例は、インターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、及びその組み合わせを含むが、これらに限定されない。
【0080】
データ処理方法の電子機器は、入力装置803と出力装置804とをさらに含むことができる。プロセッサ801、メモリ802、入力装置803、及び出力装置804は、バス又は他の方式を介して接続することができ、
図8では、バスを介して接続することを例とする。
【0081】
入力装置803は、入力された数字又は文字情報を受信することができ、及びテストを実行する電子機器のユーザ設定及び機能制御に関するキー信号入力を生成することができ、例えば、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、ポインティングスティック、1つ又は複数のマウスボタン、トラックボール、ジョイスティックなどの入力装置である。出力装置804は、ディスプレイデバイス、補助照明デバイス(例えば、LED)、及び触覚フィードバックデバイス(例えば、振動モータ)などを含むことができる。当該ディスプレイデバイスは、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、及びプラズマディスプレイを含むことができるが、これらに限定されない。いくつかの実施形態では、ディスプレイデバイスは、タッチスクリーンであってもよい。
【0082】
本明細書で説明されるシステムと技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、特定用途向けASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実現することができる。これらの様々な実施形態は、1つ又は複数のコンピュータプログラムで実施されることを含むことができ、当該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラム可能なシステムで実行及び/又は解釈することができ、当該プログラマブルプロセッサは、特定用途向け又は汎用プログラマブルプロセッサであってもよく、ストレージシステム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、データ及び命令を当該ストレージシステム、当該少なくとも1つの入力装置、及び当該少なくとも1つの出力装置に伝送することができる。
【0083】
これらのコンピューティングプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、又はコードとも呼ばれる)は、プログラマブルプロセッサの機械命令を含んでもよく、高レベルのプロセス及び/又は対象指向プログラミング言語、及び/又はアセンブリ/機械言語でこれらのコンピューティングプログラムを実施することができる。本明細書で使用されるように、「機械読み取り可能な媒体」及び「コンピュータ読み取り可能な媒体」という用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供するために使用される任意のコンピュータプログラム製品、機器、及び/又は装置(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指し、機械読み取り可能な信号である機械命令を受信する機械読み取り可能な媒体を含む。「機械読み取り可能な信号」という用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供するための任意の信号を指す。
【0084】
ユーザとのインタラクションを提供するために、ここで説明されているシステム及び技術をコンピュータ上で実施することができ、当該コンピュータは、ユーザに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有し、ユーザは、当該キーボード及び当該ポインティングデバイスによって入力をコンピュータに提供することができる。他の種類の装置は、ユーザとのインタラクションを提供するために用いられることもでき、例えば、ユーザに提供されるフィードバックは、任意の形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形式(音響入力と、音声入力と、触覚入力とを含む)でユーザからの入力を受信することができる。
【0085】
ここで説明されるシステム及び技術は、バックエンドコンポーネントを含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバー)、又はフロントエンドコンポーネントを含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータ、ユーザは、当該グラフィカルユーザインタフェース又は当該ウェブブラウザによってここで説明されるシステム及び技術の実施形態とインタラクションする)、又はこのようなバックエンドコンポーネントと、ミドルウェアコンポーネントと、フロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムで実施することができる。任意の形式又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのコンポーネントを相互に接続されることができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)と、インターネットとを含む。
【0086】
コンピュータシステムは、クライアントとサーバとを含むことができる。クライアントとサーバは、一般的に、互いに離れており、通常は通信ネットワークを介してインタラクションする。対応するコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによってクライアントとサーバとの関係が生成される。
【0087】
本出願の実施例の技術案は、データフィールドに対するマルチテナントのカスタムニーズを実現するとともに、データインポートのコストが高いという問題を解決する。
【0088】
上記に示される様々な形式のフローを使用して、ステップを並べ替え、追加、又は削除することができることを理解されたい。例えば、本出願に記載されている各ステップは、並列に実行されてもよいし、順次的に実行されてもよいし、異なる順序で実行されてもよいが、本出願で開示されている技術案の所望の結果を実現することができれば、本明細書では限定されない。
【0089】
上記具体的な実施形態は、本出願の保護範囲を限定するものではない。当業者は、設計要件と他の要因に応じて、様々な修正、組み合わせ、サブコンビネーション、及び代替を行うことができる。任意の本出願の精神と原則内で行われる修正、同等の置換、及び改善などは、いずれも本出願の保護範囲内に含まれるべきである。