【文献】
株式会社システム・テクノロジー・アイ,オラクルマスター教科書 Bronze Oracle Database 11g SQL基礎I編,日本,株式会社翔泳社,2008年12月 2日,第1版,p.288-291
【文献】
ジョー・セルコ,プログラマのためのSQL,日本,株式会社翔泳社,2013年 5月23日,第4版 初版,p.71-73
(58)【調査した分野】(Int.Cl.,DB名)
前記端末により送信された前記問い合わせデータを修正しないことを示す指示を受信すると、前記問い合わせデータが前記可逆的な修正を受けるデータかどうかを判定することと、
前記問い合わせデータが前記可逆的な修正を受ける前記データであるという判定に応じて、
前記問い合わせデータに前記可逆的な修正の可逆的な動作を実行し、修正データを取得することと、
前記修正データと同じ前記データベースのデータに前記可逆的な修正を実行すること、
をさらに備える、請求項8に記載の方法。
【発明を実施するための形態】
【0021】
本開示の目的、技術的解決策及び利点を明確にするために、本開示の技術的解決策は、本開示の実施形態例及び対応する添付の図面を参照して記載される。当然ながら、以下の記載の実施形態例は、本開示の実施形態の全部ではなく実施形態の一部を表すにすぎない。本開示の実施形態例を基に、当業者によって創造的な努力を伴わずに得られる他の全ての実施形態は、本開示の保護範囲に含まれるものとする。
【0022】
本開示の実施形態例により提供される技術的解決策は、添付の図面を通じて以下の通り詳細に記載される。
【0023】
本開示の第1実施形態例は、データ一意性制御方法例を提供し、方法は
図1に示す以下の動作を含む。
【0024】
102では、データベースのデータ記憶領域によりマッピングされる制御情報が決定される。
【0025】
例えば、制御情報は文字列である。制御情報が制御情報によりマッピングされるデータ記憶領域のデータと組み合わされたあと、組み合わせ結果はデータベースのために決定された別の組み合わせ結果とは異なる。別の組み合わせ結果とは、データベースの別の制御情報を別の制御情報によりマッピングされるデータ記憶領域のデータと組み合わせた組み合わせ結果を指す。
【0026】
第1実施形態例では、データ記憶領域と制御情報との間のマッピング関係が以下の表1に示されても良い。表1では、第1データ記憶領域に記憶されるデータはアカウント識別子(ID)であり、第2データ記憶領域に記憶されるデータはパスワードであり、第3データ記憶領域に記憶されるデータはパスワードタイプを示すためのデータであり、制御情報記憶領域は制御情報を記憶するために使用される。
【0027】
各タイプのデータは、同じ行にある他のタイプのデータが位置する記憶領域とのマッピング関係を有し、1つの行にある各タイプのデータが位置する記憶領域は、同じ行にある他のタイプのデータが位置する記憶領域とマッピング関係を有する。
【0029】
本開示の実施形態例では、異なるタイプのデータが同じ一意性制御要件を有する場合、アカウントIDを制御情報として直接的に使用しても良く、したがって、「第1データ記憶領域」は「制御情報記憶領域」に相当する。
【0030】
しかしながら、異なるタイプのデータの一意性を柔軟に制御するという要件を満たすには、概して、独立した制御情報記憶領域を設定して制御情報を専属的に記憶する。独立した制御情報記憶領域の制御情報は、概して、第1データ記憶領域に記憶される固有データ「アカウントID」に従って決定される。表1を一例として使用し、第6行目及び第7行目のパスワードは同じコンテンツを有し得ないと想定すると、2つの行にある固有データ「2088000003」に従い、パスワードを書き込む対象である第2データ記憶領域によりマッピングされる制御情報記憶領域に記憶される制御情報は、「2088000003」である。
【0031】
104では、102に記載されたデータ記憶領域への書き込み対象データ及び102での実行動作により決定された制御情報が組み合わされ、組み合わせ結果を取得する。
【0032】
第1実施形態例では、データベースへの書き込み対象データと、決定された制御情報との組み合わせ方法は、以下の通りであっても良い。
【0033】
データベースへの書き込み対象データ及び決定された制御情報は、データベースへの書き込み対象データが制御情報の前になるような方式で組み合わされ、文字列を構築する。
【0034】
あるいは、データベースへの書き込み対象データ及び決定された制御情報は、データベースへの書き込み対象データが制御情報の後になるような方式で組み合わされ、文字列を構築する。
【0035】
あるいは、データベースへの書き込み対象データ及び決定された制御情報は、他の方式で組み合わされても良い。本開示はいかなる具体的な組み合わせ方式も制限しない。
【0036】
一例として、データベースへの書き込み対象データが表1の第6行目のパスワード「bbbbbb」とすると、パスワードは第6行目の制御情報「2088000003」と組み合わされ、文字列「bbbbbb2088000003」を取得しても良い。
【0037】
106では、104で取得した組み合わせ結果と同じ別の組み合わせ結果があるかどうかが判定される。判定結果がはいの場合、108での動作が行われ、それ以外の場合、110での動作が行われる。
【0038】
別の組み合わせ結果とは、データベースの別のデータ記憶領域に記憶されるデータと、別のデータ記憶領域によりマッピングされる制御情報とを組み合わせることにより取得される組み合わせ結果である。
【0039】
例えば、パスワード「bbbbbb」と制御情報「2088000003」とを組み合わせることにより取得される文字列「bbbbbb2088000003」を一例として使用し、データベースに記憶されるデータは表1に示す通りであると想定すると、106の動作を実行することにより、本開示の技術では、第1行目〜第4行目及び第6行目のパスワードと、それらの対応する制御情報とをそれぞれ組み合わせることにより取得される各組み合わせ結果が、文字列「bbbbbb2088000003」と同じかどうかを判定する。
【0040】
表1から分かる通り、第1行目〜第4行目及び第6行目のパスワードと、それらの対応する制御情報とをそれぞれ組み合わせることにより取得した組み合わせ結果は、全て「bbbbbb2088000003」とは異なる。したがって、110での動作が後続的に実行され、そうでない場合、108での動作が実行される。
【0041】
108では、データベースへの書き込み対象データはデータ記憶領域への書き込みを拒否され、プロセスは終了する。あるいは、データベースが104で取得した組み合わせ結果と同じ別の組み合わせ結果を有さないよう、データベースのデータが修正され、データベースへの書き込み対象データはデータ記憶領域に書き込まれ、プロセスは終了する。
【0042】
任意には、データベースのデータが修正された後、データベースのデータ記憶領域への書き込み対象データと衝突識別子との間のマッピング関係が構築されても良く、データベースの修正データと衝突識別子との間のマッピング関係がさらに構築されても良い。衝突識別子は、衝突識別子とマッピング関係を有するデータが、データベースに記憶される他のデータのコンテンツと同じことを示すために使用される。
【0043】
110では、データベースへの書き込み対象データはデータ記憶領域に書き込まれ、プロセスは終了する。
【0044】
第1実施形態例の上記の方法を使用することにより、異なる書き込み対象コンテンツを備えるデータを有するデータ記憶領域は、同じ制御情報にマッピングされても良く、同じ書き込み対象コンテンツを備えるデータを有するデータ記憶領域は、異なる制御情報にマッピングされても良く、データの一意性制御は制御情報を基に実施されても良い。したがって、同じサービスシステムの異なるデータに対する異なる一意性制御が支援されても良く、これにより、データ一意性の柔軟な制御を実施する。本開示の技法は異なるタイプのデータの異なる一意性制御要件を有するシナリオに適用可能である。
【0045】
第1実施形態例では、制御情報の記憶を実施するために、上記の方法は、以下の動作、すなわち、異なる書き込み対象コンテンツを備えるデータを有するデータ記憶領域によりマッピングされる制御情報記憶領域をデータベースから決定することと、決定された制御情報記憶領域に同じ制御情報を記憶することとをさらに含んでも良い。係る動作の実行時間は、データ記憶領域によりマッピングされる制御情報記憶領域に記憶される制御情報を決定する前を含んでも良いが、これに限定されない。
【0046】
任意には、第1実施形態例により提供される方法は、データへのアクセスをさらに支援しても良い。例えば、端末により送信されるデータアクセス要求が受信されても良く、データベースのデータはデータアクセス要求に従って問い合わされても良い。
【0047】
問い合わせを通じてデータが見つかった後、問い合わせデータとマッピング関係を有する衝突識別子があると判定される場合、端末は、問い合わせデータを修正するかどうかを示す指示をユーザに入力することをプロンプトするよう指示されても良い。
【0048】
その後、端末により送信された問い合わせデータを修正することを示す指示が受信されると、指示に含まれるデータを使用することにより、問い合わせデータを更新しても良い。問い合わせデータが更新されると、問い合わせデータと衝突識別子との間のマッピング関係が終了しても良い。
【0049】
端末により送信された問い合わせデータを修正しないことを示す指示が受信されると、問い合わせデータが可逆的な修正を受けるかどうかを判定しても良く、判定結果がはいの場合、修正データを取得するために可逆的な修正の反対の動作を問い合わせデータに行い、修正データと同じデータベースのデータに可逆的な修正が実行される。
【0050】
任意には、第1実施形態例に提供される方法は、以下の動作、すなわち、同じ書き込み対象コンテンツを備えるデータを有するデータ記憶領域によりマッピングされる制御情報記憶領域をデータベースから決定することと、決定された制御情報記憶領域に異なる制御情報を記憶することとを含んでも良い。この動作の実行時間は、データ記憶領域によりマッピングされる制御情報を決定する前を含んでも良いが、これに限定されない。
【0051】
同じ書き込み対象コンテンツを備えるデータを有するデータ記憶領域が異なる制御情報にマッピングされるため、データ及び制御情報に対する組み合わせ結果に関して、組み合わせ結果が異なる場合、データが同じであっても、異なる組み合わせ結果が取得されても良く、これにより、組み合わせ結果の全体的な一意性を保証する。換言すれば、異なる制御情報記憶領域が同じ制御情報を記憶する場合、異なる制御情報記憶領域にそれぞれマッピングされるデータ記憶領域に記憶されるデータは、同じコンテンツを有しても良い。
【0052】
動作は同じデバイスにより実行されても良く、あるいは方法は異なるデバイスによりさらに実行されても良いことに留意すべきである。例えば、動作102〜106はデバイス1により実行されても良く、動作108及び110はデバイス2により実行されても良い。別の例では、例えば、102での動作はデバイス1により実行されても良く、動作104〜110はデバイス2等により実行されても良い。
【0053】
第2実施形態例は2種類の情報記憶方法を提供する。第1情報記憶方法例の具体的な実施態様のフローチャートが
図2に示され、これは以下の動作を主に含んでも良い。
【0054】
202では、異なる書き込み対象コンテンツを備えるデータを有するデータ記憶領域によりマッピングされる制御情報記憶領域がデータベースから決定される。記載の目的上、決定された制御情報記憶領域は第2実施形態例の第1制御情報記憶領域と呼ばれる。
【0055】
204では、決定された第1制御情報記憶領域に同じ制御情報が記憶される。
【0056】
任意には、第2実施形態例に提供される情報記憶方法は、以下の動作I及び動作IIをさらに含んでも良い。
【0057】
動作I:同じ書き込み対象コンテンツを備えるデータを有するデータ記憶領域によりマッピングされる制御情報記憶領域がデータベースから決定される。記載の目的上、動作Iにより決定された制御情報記憶領域は第2実施形態例の第2制御情報記憶領域と呼ばれる。
【0058】
動作II:動作Iを実行することにより決定された第2制御情報記憶領域に異なる制御情報が記憶される。
【0059】
第2実施形態例に提供される、第2情報記憶方法例の具体的な実施態様のフローチャートが
図3に示され、これは以下の動作を主に含んでも良い。
【0060】
302では、同じ書き込み対象コンテンツを備えるデータを有するデータ記憶領域によりマッピングされる制御情報記憶領域がデータベースから決定される。
【0061】
304では、決定された制御情報記憶領域に異なる制御情報が記憶される。
【0062】
第2実施形態例により提供される第1方法例の動作は、同じデバイスにより実行されても良く、または方法は異なるデバイスにより実行されても良いことに留意すべきである。例えば、動作202はデバイス1により実行されても良く、動作204はデバイス2により実行されても良く、別の例では、動作202及び204は両方ともデバイス1により実行されても良い。同様に、第2実施形態例により提供される第2方法例の動作は、同じデバイスまたは異なるデバイスにより実行されても良い。
【0063】
本開示の第3実施形態例は、携帯電話番号をログイン名として使用し、かつ同じ携帯電話が2回目に割り当てられた場合に発生し得る新規ユーザの登録失敗の問題を解決するよう、パスワードの一意性を制御する方法例を提供する。いわゆる「番号割り当て」とは、移動通信ネットワークのオペレータが空き番号として決定される通信番号をユーザに割り当てることを指す。
【0064】
第3実施形態例で提供される方法の背景をまず紹介する。
【0065】
現在、多くのインターネットベースシステム及び無線サービスシステムでは、ユーザにより使用されるログイン名が概して数字列(例えば、QQ(商標)番号または携帯電話番号)または電子メールであることが可能である。概して、ユーザが使用済みのログイン名を登録する場合、サービスシステムはログイン名に一意性制御を行い、その結果、ユーザは使用済みのログイン名と同じログイン名を使用しないことを余儀なくされる。この一意性制御の方式は、異なるユーザが同じログイン名を使用することを効果的に防ぎ得るが、しかしながら同じ携帯電話番号が2回目に割り当てられた場合、1回目に割り当てられた携帯電話番号を使用するユーザ(記載の目的上、以降、このユーザを前者ユーザと呼ぶ)が携帯電話番号をログイン番号として使用していた場合、2回目に割り当てられた携帯電話番号を使用している別のユーザ(記載の目的上、以降、このユーザを後者ユーザと呼ぶ)は携帯電話番号をログイン名として再度使用することができない。
【0066】
従来の技法では、後者ユーザが2回目に割り当てられた携帯電話番号をログイン名として使用できない場合、一般的な解決策は、後者ユーザが人間の顧客サービスに電話し、後者ユーザが携帯電話番号を使用する正当性を証明する証拠を人間の顧客サービスに提出することである。後者ユーザが携帯電話番号を使用する権利を有することを確認した後、人間の顧客サービスは、後者ユーザが携帯電話番号をログイン名として使用できるように、前者ユーザによりログイン名として使用された携帯電話番号を強制的に修正する。
【0068】
1.後者ユーザがログイン名として2回目に割り当てられた携帯電話番号を使用する場合、解決策は瞬時性及び利便性の面で劣っており、これは後者ユーザの体験に著しく影響を及ぼす。
【0069】
2.解決策は高い人件費を有する。携帯電話ユーザ数の拡大に伴い、何億ものユーザが人間の顧客サービスに対して非常に膨大な要求を生み出し得る。
【0070】
3.人間の顧客サービスが前者ユーザにより使用されたログイン名を修正しない限り、後者ユーザは2回目に割り当てられた携帯電話番号をログイン名として使用することができない。
【0071】
4.後者ユーザが2回目に割り当てられた携帯電話番号をログイン名として使用することにより登録に成功した場合、1回目に割り当てられた携帯電話番号をログイン名として使用する前者ユーザはログインポータルを失い、その結果、前者ユーザは携帯電話番号を使用してログインできない。
【0072】
上記背景の下に、本開示の第3実施形態例はパスワードの一意性を制御する方法例を提供する。方法は、携帯電話番号をログイン名として使用することを可能にするシステムに適用可能であり、これは、後者ユーザが2回目に割り当てられた携帯電話番号をログイン名として使用する登録を迅速に完了することを支援し得る。同時に、前者ユーザは未だに携帯電話番号をログイン名として使用する場合があり、前者ユーザは携帯電話番号を更新するように案内される。
【0073】
第3実施形態例に提供される方法の実施態様の原則は以下にさらに記載される。
【0074】
まず、第3実施形態例に提供される方法で使用されるデータテーブル構造例が以下に記載される。第3実施形態例のデータテーブル構造は表2に示される。
【0076】
表2のフィールド1のコンテンツはログイン名である。ログイン名は3つの部分、すなわち「ログイン名本体」、「セパレータ」及び「認識因子」に分割されても良く、つまり、ログイン名=ログイン名本体+セパレータ+認識因子である。
【0077】
第3実施形態例では、ログイン名本体及び認識因子は両方とも文字列であっても良い。各認識因子はデータテーブルに一意に存在する文字列であっても良く、各認識因子はパブリックではなく、データベースのプライベート使用のためのコードであり、ランダムに拡張されても良い。概して、認識因子は固有コード及び/またはランダムな数字により形成されても良い。
【0078】
一例として表2を使用すると、表2の第3行目、第5行目、及び第6行目の認識因子は、それぞれが「A」及び1桁のランダムな数字で始まる特定のサービスコードにより形成される。第4行目の認識因子は固有コード「s」であり、第7行目の認識因子は「T」及び1桁のランダムな数字で始まる固有コードにより形成される。
【0079】
第3実施形態例では、認識因子が固有コード「s」である場合、固有コードの前のログイン名本体は前者ユーザにより使用される携帯電話番号であり、認識因子が「T」で始まる場合、ログイン名本体はユーザにより設定される「プライベートなログイン名本体」であることを示すように規定されても良い。
【0080】
第3実施形態例では、以下の506での動作の具体的な記載を参照して、プライベートなログイン名本体を処理する方式を取得しても良く、この方式は本明細書には繰り返さない。
【0081】
フィールド2のコンテンツはログインパスワードである。データテーブルの全体において、ログインパスワードのコンテンツが別のログインパスワードと同じであることが可能かどうかは、フィールド3のコンテンツにより制御される。
【0082】
フィールド3のコンテンツは「パスワード制御」であり、つまり、第1実施形態例及び第2実施形態例に記載される「制御情報」である。表3に示す通り、既存の技法に共通して使用されるデータテーブルの構造とは対照的に、パスワード制御のフィールドは第3実施形態例に新規に追加されるフィールドである。具体的には、既存の技法に使用されるデータテーブルの構造に関しては、以下の表3を参照されたい。
【0084】
第3実施形態例に使用される表2に示すデータテーブルを基に、以下の記載は、2回目に割り当てられた携帯電話番号を使用することによる後者ユーザの登録中に、第3実施形態例に提供されるパスワードの一意性を制御する方法の実施方法を例示する。
【0085】
図4は第3実施形態例における、2回目に割り当てられた携帯電話番号を使用することによるユーザ登録の方法例を例示するフローチャートであり、以下の動作を主に含んでも良い。
【0086】
402では、移動通信ネットワークのオペレータが「13000000001」などの携帯電話番号を2回目に割り当て、リーなどのユーザが携帯電話番号を使用する権利を取得し、リーは特定のショッピングウェブサイトにアクセスする。
【0087】
404では、リーは端末を使用することにより、文字列「13000000001」及びパスワードをショッピングウェブサイトサーバに送信し、登録を要求する。
【0088】
406では、ショッピングウェブサイトサーバは、登録されたログイン名を記憶するためにデータベースを問い合わせ、問い合わせを通じて、データベースが文字列「13000000001」を含むログイン名を有さないことが判明した場合、408での動作を実行し、あるいは、問い合わせを通じて、データベースが文字列「13000000001」を含むログイン名を有すことが判明した場合、410での動作を実行する。
【0089】
408では、ショッピングウェブサイトサーバは、リーが端末を使用して送信した文字列及び文字列「13000000001」に対応するパスワードを表2に示すデータテーブルに記憶し、登録成功を許可するユーザ取得権利をリーに割り当てる。プロセスは終了する。文字列が記憶されると、文字列はその後、セパレータ及び認識因子と共に追加されても良い。
【0090】
410では、ショッピングウェブサイトサーバは、リーにより使用される端末にプロンプトメッセージを送信し、リーに「13000000001」をログイン名として引き続き使用するか否かを選択するよう指示する。
【0091】
412では、端末を通じてリーにより送信された「13000000001」を引き続きログイン名として使用することを示す指示メッセージを受信した後、ショッピングウェブサイトサーバは、携帯電話番号「13000000001」に確認コードを含むショートメッセージを送信する。
【0092】
414では、リーは受信したショートメッセージの確認コードを端末に入力し、端末が確認コードをショッピングウェブサイトサーバに送信するようにトリガする。
【0093】
416では、端末を使用することによりリーにより送信された確認コードを受信すると、表4に示す通り、ショッピングウェブサイトサーバは、リーが携帯電話を使用する権利を有すると判定する。加えて、ショッピングウェブサイトサーバは、表4の文字列に対応するパスワード制御をさらに記憶する。例えば、パスワード制御は表4に示す「0000」であっても良い。
【0094】
リーのログイン名が記憶されている行にパスワード制御を記憶することに加え、ショッピングウェブサイトサーバは、「13000000001」を含む問い合わせられたログイン名が記憶されている行にパスワード制御をさらに記憶する。
【0095】
第3実施形態例では、「13000000001」を含む問い合わせられたログイン名は、ワンなどの別のユーザにより使用されるログイン名であると想定する。
【0097】
418では、ショッピングウェブサイトサーバは、ワンにより使用されるログイン名の認識因子を「s」として修正し、表4のフィールド4のコンテンツを「1」として設定する。
【0098】
認識因子「s」は「s」を含むログイン名が前者ユーザにより使用されるログイン名であることを示すために使用される。
【0099】
フィールド4のコンテンツが「1」として設定される場合、「獲得識別子」が1であること、つまり、表4はログイン名本体を含む少なくとも2つのログイン名を有することを示し、フィールド4のコンテンツが「0」として設定される場合、対応するログイン名本体が異なるユーザにより獲得されておらず、つまり、表4はログイン名本体を含む1つのログイン名を有するのみであることを示す。
【0100】
420では、ショッピングウェブサイトサーバは、パスワード制御「0000」及び402でリーにより送信されたパスワードにより形成される組み合わせが、表4の別のパスワード制御及び対応するパスワードにより形成される別の組み合わせと同じかどうかを判定する。判定結果がはいの場合、422での動作が実行され、判定結果がいいえの場合、424での動作が実行される。
【0101】
422では、ショッピングウェブサイトサーバは、リーに別のパスワードを使用するようプロンプトする。パスワード制御「0000」及びプロンプトに従ってリーにより送信された別のパスワードにより形成される組み合わせが、表4の他のパスワード及び対応するパスワード制御により形成される組み合わせとは異なると判定される場合、ショッピングウェブサイトサーバは2回目に送信された別のパスワードを表4に記憶する。プロセスは終了する。
【0102】
424では、ショッピングウェブサイトサーバはリーにより送信されたパスワードを表4に記憶する。プロセスは終了する。
【0103】
第3実施形態例では、ショッピングウェブサイトサーバがリーのログイン名及びパスワードを記憶することに成功した後、タイミング用にタイマーを開始しても良く、ワンが所定のタイミング期間内(例えば、1年)に元のログイン名本体「13000000001」を使用してショッピングウェブサイトサーバにログインしていないと判定される場合、ワンのログイン名は登録解除される。
【0104】
上記の動作に示す通り、「パスワード制御とパスワードとの組み合わせは全体的に一意である」ということがデータテーブル(データベース)にパスワードを書き込むことを許可する条件として使用されるため、本開示の技法は、異なる書き込み対象コンテンツを備えるパスワードが書き込まれる記憶領域が、最終的に互いに異なるパスワードを記憶することを効果的に保証し、これにより、反復的なパスワードの問題を回避する。
【0105】
同様に、
図4に示すプロセスに類似する実施態様の原則に従って、「パスワード制御とログイン名との組み合わせは全体的に一意である」ということがデータテーブル(データベース)にログイン名本体を書き込むことを許可する条件として使用されるため、本開示の技法は、異なる書き込み対象コンテンツを備えるログイン名本体が書き込まれる記憶領域が、最終的に互いに異なるログイン名本体を記憶することを効果的に保証し、これにより、反復的なログイン名本体の問題を回避する。
【0106】
図5を参照すると、
図5は、402〜424の動作が実行された後で、前者ユーザであるワンがアクセスのために1回目に割り当てられた携帯電話番号を使用してショッピングウェブサイトサーバにアクセスする模式的なフローチャートであり、主に以下の動作を含んでも良い。
【0107】
502では、ショッピングウェブサイトサーバにログインしようとする場合、ワンにより使用される端末を使用することにより、ワンは文字列「13000000001」及び対応するパスワードをショッピングウェブサイトサーバに送信する。
【0108】
504では、ショッピングウェブサイトサーバは、表4に示すデータテーブルに問い合わせる。
【0109】
506では、504を実行することにより取得される問い合わせ結果が「表4は、文字列『13000000001』を含むログイン名に対応し、かつ1に設定されている記憶済み獲得識別子を有する」ことを示す場合、ショッピングウェブサイトサーバは、表4が文字列「13000000001」を含む少なくとも2つのログイン名を含むと判定し、文字列「13000000001」を含むログイン名に対応するパスワードを連続的に問い合わせ、ワンにより送信されたパスワードに一致するパスワードがあるかどうかを判定し、その後、ワンにより送信されたパスワードと一致するパスワードが問い合わせを通じて見つかるまで、508での動作を実行する。ワンにより送信されたパスワードに一致するパスワードが問い合わせを通じて見つからない場合、ワンはログイン失敗としてプロンプトされても良い。プロセスは終了する。
【0110】
504を実行することにより取得される問い合わせ結果が「表4は文字列『13000000001』を含むログイン名に対応し、かつ1に設定される記憶済み獲得識別子を有さない」ことを示す場合、ショッピングウェブサイトサーバは、表4の文字列「13000000001」を含む1つのみのログイン名に対応するパスワードを問い合わせ、パスワードがワンにより送信されたパスワードと一致するかどうかを判定するにすぎない。判定結果がはいの場合、508での動作が実行される。判定結果がいいえの場合、ワンはログイン失敗を示すメッセージをプロンプトされる。プロセスは終了する。
【0111】
プライベートなログイン名本体が存在する場合、ワンにより送信されたパスワードに一致するパスワードがあるかどうかを問い合わせるプロセス中に、「T」で始まる認識因子を含むログイン名は、まず表4の文字列「13000000001」を含むログイン名から削除されても良く、その後、文字列「13000000001」を含む他のログイン名に対応するパスワードが問い合わせられ、ワンにより送信されたパスワードに一致するパスワードがあるかどうかを判定するということに留意すべきである。
【0112】
第3実施形態例では、ユーザがプライベートなログイン名本体に一致するリソースアクセス権を取得しようとする場合、ユーザはプライベートなログイン要求をショッピングウェブサイトサーバに対して開始し、ショッピングウェブサイトサーバがユーザにより使用される端末に確認コードをプッシュするようにトリガしても良い。ユーザが確認コードをショッピングウェブサイトサーバに返した後、ショッピングウェブサイトサーバが確認コードの確認を承認する場合、サーバはユーザにより使用される端末にプライベートなログイン名本体に一致するリソースアクセス権を割り当てても良い。
【0113】
508では、ショッピングウェブサイトサーバは、表4のワンにより送信されたパスワードに一致するパスワードに対応する問い合わせられたログイン名が、認識因子「s」を含むかどうかを判定し、ログイン名が認識因子「s」を含むと判定する場合、510での動作を実行し、それ以外の場合、ワンにより使用される端末により送信されるアクセス要求に応答するなどの動作を実行する。
【0114】
510では、ショッピングウェブサイトサーバは、ショッピングウェブサイトサーバに現在ログインしているワンは「前者ユーザ」であると判定し、したがって、ワンにより使用されている端末に、携帯電話番号入力ボックスを表示し、ログイン名本体として望む携帯電話番号を入力することをワンにプロンプトするよう指示する。
【0115】
512では、ショッピングウェブサイトサーバは、ワンにより携帯電話番号入力ボックスに入力され、かつショッピングウェブサイトサーバに送信された携帯電話番号が「13000000001」と同一かどうかを判定し、判定結果がいいえの場合、514での動作を実行し、それ以外の場合、518での動作を実行する。
【0116】
514では、ショッピングウェブサイトサーバは表4を修正し、ワンのログイン名に含まれるログイン名本体を、ワンにより携帯電話番号入力ボックスに入力され、かつショッピングウェブサイトサーバに送信された携帯電話番号として修正する。
【0117】
516では、ショッピングウェブサイトサーバは、修正された携帯電話番号が位置する行の獲得識別子を「0」として修正し、さらにリーのログイン名が位置する行の獲得識別子を「0」として修正する。プロセスは終了する。
【0118】
518では、ショッピングウェブサイトサーバは、リーのログイン名の認識因子を「s」として修正し、ワンのログイン名の認識因子「s」を別の文字として修正する。プロセスは終了する。
【0119】
動作502〜518から分かる通り、第3実施形態例に提供される方法を使用することにより、前者ユーザは依然として後者ユーザにより使用されるログイン名と同一のログイン名を使用することを許可されても良く、ユーザログイン名が互いに衝突しない前者ユーザ及び後者ユーザのプロセス、これにより、人間の顧客サービスが前者ユーザにより使用されるログイン名を修正しない限り、後者ユーザがログイン名として2回目に割り当てられた携帯電話番号を使用できないという問題、及び後者使用が、ログイン名として2回目に割り当てられた携帯電話番号を使用することによる登録に成功した後、前者ユーザがログインポータルを失い、携帯電話番号の使用によるログインができないという問題を効果的に解決する。
【0120】
第4実施形態例は2種類のデータ一意性制御装置を提供し、これはデータ一意性を柔軟に制御するために使用され、異なるタイプのデータの異なる一意性制御要件を有するシナリオに適用可能である。
【0121】
第1データ一意性制御装置例600の模式図が
図6に示される。データ一意性制御装置600は、1つまたは複数のプロセッサまたはデータ処理ユニット602及びメモリ604を含む。装置600は、1つまたは複数の入力/出力デバイス及びネットワークインターフェース(
図6に図示せず)をさらに含んでも良い。メモリ604はコンピュータ可読媒体の一例である。
【0122】
メモリ604は情報決定ユニット606、組み合わせユニット608、第1判定ユニット610及び動作実行ユニット612を含む複数のモジュールまたはユニットを内部に記憶しても良い。これらの機能ユニットの機能を以下の通り記載する。
【0123】
情報決定ユニット606は、データを書き込む対象のデータベースのデータ記憶領域によりマッピングされる制御情報を決定する。異なる書き込み対象コンテンツを備えるデータに対応するデータベースのデータ記憶領域は、同じ制御情報にマッピングされる。制御情報は、各データ記憶領域によりマッピングされる固有データに従って決定される。
【0124】
組み合わせユニット608は、データ記憶領域への書き込み対象データと情報決定ユニット606により決定された制御情報とを組み合わせ、組み合わせ結果を取得する。
【0125】
第1判定ユニット610は、組み合わせユニット608により取得した組み合わせ結果と同じ別の組み合わせ結果があるかどうかを判定する。別の組み合わせ結果とは、データベースの別のデータ記憶領域に記憶されるデータと、別のデータ記憶領域によりマッピングされる制御情報とを組み合わせることにより取得される組み合わせ結果である。
【0126】
動作実行ユニット612は、第1判定ユニット610により取得した判定結果がはいの場合、以下の動作、すなわち、データベースのデータ記憶領域への書き込み対象データをデータ記憶領域に書き込むことを拒否すること、またはデータベースが組み合わせユニット608により取得した組み合わせ結果と同じ別の組み合わせ結果を有さないよう、データベースのデータを修正し、データベースのデータ記憶領域への書き込み対象データをデータ記憶領域に書き込むことを実行する。
【0127】
任意には、
図6に示す通り、データ一意性制御装置600はメモリ604に記憶される領域決定ユニット及び記憶実行ユニット(いずれも
図6に図示せず)をさらに含んでも良い。情報決定ユニット606が制御情報を決定する前に、領域決定ユニットは異なる書き込み対象コンテンツを備えるデータに対応するデータ記憶領域によりマッピングされる制御情報記憶領域をデータベースから決定する。記憶実行ユニットは領域決定ユニットにより決定される制御情報記憶領域に同じ制御情報を記憶する。
【0128】
情報決定ユニット606が制御情報を決定する前に、領域決定ユニットは同じ書き込み対象コンテンツを備えるデータに対応するデータ記憶領域によりマッピングされる制御情報記憶領域をデータベースからさらに決定しても良い。これに対応して、記憶実行ユニットは領域決定ユニットにより決定された制御情報記憶領域に異なる制御情報を記憶する。
【0129】
任意には、
図6に示すデータ一意性制御装置600は、メモリ604に記憶されるマッピング関係構築ユニット(
図6に図示せず)をさらに含んでも良く、動作実行ユニットがデータベースのデータ記憶領域への書き込み対象データをデータ記憶領域に書き込んだ後、マッピング関係構築ユニットは、データベースのデータ記憶領域への書き込み対象データと衝突識別子との間のマッピング関係を構築し、データベースの修正データと衝突識別子との間のマッピング関係を構築する。
【0130】
任意には、
図6に示すデータ一意性制御装置600は、メモリ604に記憶される要求受信ユニット、問い合わせユニット、指示ユニット及びデータ更新ユニット(
図6に図示せず)をさらに含んでも良い。
【0131】
要求受信ユニットは、端末により送信されるデータアクセス要求を受信する。問い合わせユニットは、要求受信ユニットにより受信されるデータアクセス要求に従って、データベースのデータを問い合わせる。指示ユニットは、問い合わせユニットにより問い合わせられたデータとのマッピング関係を有する衝突識別子が存在すると判定される場合、問い合わせデータを修正するかどうかを示す指示を入力することをユーザにプロンプトする動作を実行するよう端末に指示する。
【0132】
データ更新ユニットは、端末により送信された問い合わせデータの修正を示す指示が受信されると、指示に含まれるデータを使用することにより問い合わせデータを更新する。
【0133】
さらに、データ一意性制御装置600はメモリ604に記憶されるマッピング関係終了ユニット(
図6に図示せず)を含んでも良く、マッピング関係終了ユニットは、データ更新ユニットが問い合わせデータを更新した後、問い合わせデータと衝突識別子との間のマッピング関係を終了する。
【0134】
任意には、動作実行ユニット612がデータベースのデータに可逆的な修正を行う場合、
図6に示すデータ一意性制御装置600は、メモリ604に記憶される第2判定ユニット及びデータ修正ユニット(
図6に図示せず)をさらに含んでも良い。
【0135】
第2判定ユニットは、端末により送信された問い合わせデータを修正しないことを示す指示を受信すると、問い合わせデータが可逆的な修正を受けるかどうかを判定する。
【0136】
データ修正ユニットは、第2判定ユニットにより取得した判定結果がはいの場合、修正データを取得できるよう、問い合わせデータに可逆的な修正の可逆的な動作を実行し、修正データと同じデータベースのデータに可逆的な修正を実行する。
【0137】
第4実施形態例に提供される第2データ一意性制御装置例は、以下の動作を行う1つまたは複数のプロセッサを主に含んでも良い。
【0138】
1.データベースのデータ記憶領域によりマッピングされる制御情報を決定する。異なる書き込み対象コンテンツを備えるデータを有するデータベースのデータ記憶領域は、同じ制御情報にマッピングされ、各データ記憶領域によりマッピングされる固有データに従って、制御情報が決定される。
【0139】
2.データベースのデータ記憶領域への書き込み対象データと決定された制御情報とを組み合わせ、組み合わせ結果を取得する。
【0140】
3.取得した組み合わせ結果と同じ別の組み合わせ結果があるかどうかを判定する。別の組み合わせ結果とは、データベースの別のデータ記憶領域に記憶されるデータと、別のデータ記憶領域によりマッピングされる制御情報とを組み合わせることにより取得される組み合わせ結果である。
【0141】
4.取得した組み合わせ結果と同じ別の組み合わせ結果がある場合、以下の動作、すなわち、データベースのデータ記憶領域への書き込み対象データをデータ記憶領域に書き込むことを拒否すること、またはデータベースが取得した組み合わせ結果と同じ別の組み合わせ結果を有さないよう、データベースのデータを修正し、データベースのデータ記憶領域への書き込み対象データをデータ記憶領域に書き込むことを実行する。
【0142】
本開示の第4実施形態例の上記装置のいずれかを使用することにより、異なる書き込み対象コンテンツを備えるデータを有するデータ記憶領域は、同じ制御情報にマッピングされても良く、同じ書き込み対象コンテンツを備えるデータを有するデータ記憶領域は、異なる制御情報にマッピングされても良く、データの一意性制御は制御情報を基に実施されても良い。したがって、同じサービスシステムの異なるデータのための異なる一意性制御が支援されても良く、これにより、データ一意性に柔軟な制御を実施する。本開示の技法は異なるタイプのデータのための異なる一意性制御要件を有するシナリオに適用可能である。
【0143】
本開示の第5実施形態例は制御情報の記憶を実施するための4種類の情報記憶装置を提供する。第1情報記憶装置例700の具体的な構造の模式図が
図7に示されており、装置700は1つまたは複数のプロセッサまたはデータ処理ユニット702及びメモリ704を含む。装置700は1つまたは複数の入力/出力デバイス及びネットワークインターフェース(
図7に図示せず)をさらに含んでも良い。メモリ704はコンピュータ可読媒体の一例である。
【0144】
メモリ704は、領域決定ユニット706及び記憶実行ユニット708を含む複数のモジュールまたはユニットを内部に記憶しても良い。
【0145】
領域決定ユニット706は、異なる書き込み対象コンテンツを備えるデータを有するデータ記憶領域によりそれぞれマッピングされる第1制御情報記憶領域をデータベースから決定する。
【0146】
記憶実行ユニット708は、領域決定ユニット706により決定された第1制御情報記憶領域に同じ制御情報を記憶する。
【0147】
領域決定ユニット706は、同じ書き込み対象コンテンツを備えるデータを有するデータ記憶領域によりそれぞれマッピングされる第2制御情報記憶領域をデータベースから決定する。記憶実行ユニット708は、領域決定ユニット706により決定された第2制御情報記憶領域に異なる制御情報を記憶する。
【0148】
第5実施形態例に提供される第2情報記憶装置例は、異なる書き込み対象コンテンツを備えるデータを有するデータ記憶領域によりマッピングされる第1制御情報記憶領域をデータベースから決定し、決定された第1制御情報記憶領域に同じ制御情報を記憶する、1つまたは複数のプロセッサを主に含む。さらに、1つまたは複数のプロセッサは、同じ書き込み対象コンテンツを備えるデータを有するデータ記憶領域によりそれぞれマッピングされる第2制御情報記憶領域をデータベースから決定し、空の第2制御情報記憶領域に異なる制御情報を記憶する。
【0149】
第5実施形態例に提供される第3情報記憶装置例は、1つまたは複数のプロセッサまたはデータ処理ユニット及びメモリを含んでも良い。装置は、1つまたは複数の入力/出力デバイス及びネットワークインターフェースをさらに含んでも良い。メモリはコンピュータ可読媒体の一例である。メモリ704は、領域決定ユニット及び記憶実行ユニットを内部に記憶しても良い。領域決定ユニットは、同じ書き込み対象コンテンツを備えるデータに対応するデータ記憶領域によりそれぞれマッピングされる制御情報記憶領域をデータベースから決定する。記憶実行ユニットは決定された制御情報記憶領域に異なる制御情報を記憶する。
【0150】
第5実施形態例に提供される第4情報記憶装置は、同じ書き込み対象コンテンツを備えるデータに対応するデータ記憶領域によりマッピングされる制御情報記憶領域をデータベースから決定し、決定された制御情報記憶領域に異なる制御情報を記憶する、1つまたは複数のプロセッサを含んでも良い。
【0151】
当業者は、本開示の実施形態が方法、システムまたはコンピュータプログラム製品として提供されても良いことを理解すべきである。したがって、本開示は完全にハードウェアの実施形態として、完全にソフトウエアの実施形態として、またはソフトウエアとハードウェアとの組み合わせとして実施されても良い。加えて、本開示は、コンピュータ実行可能命令またはコードを記憶する1つまたは複数のコンピュータ可読記憶媒体(磁気ディスクメモリ、CD−ROM、光メモリ等を含むが、これらに限定されない)に実施されるコンピュータプログラム製品であっても良い。
【0152】
本開示は、本開示の実施形態による方法、デバイス(システム)及びコンピュータプログラム製品に従ってフローチャート及び/またはブロック図を参照して記載される。コンピュータ実行可能命令を使用して、フローチャート及び/またはブロック図の各プロセス及び/またはブロック、ならびにフローチャート及び/またはブロック図のプロセス及び/またはブロックの組み合わせを実施しても良いことを理解すべきである。コンピュータ実行可能命令は、機械を生成するために、汎用コンピュータ、専用コンピュータ、埋込みプロセッサまたは別のプログラム可能データ処理デバイスに提供されても良く、これによりコンピュータまたはプログラム可能データ処理デバイスのプロセッサはコンピュータ実行可能命令を実行して、フローチャートの1つもしくは複数のプロセス及び/またはブロック図の1つもしくは複数のブロックに指定された機能を実施する装置を生成する。
【0153】
コンピュータ実行可能命令はさらに、コンピュータ可読媒体に記憶されるコンピュータ実行命令が命令装置を含む製品を生成し、命令装置がフローチャートの1つもしくは複数のプロセス及び/またはブロック図の1つもしくは複数のブロックに指定される機能を実施するように、コンピュータまたはプログラム可能データ処理デバイスに、具体的な方式で動作するよう指示するコンピュータ可読媒体に記憶されても良い。
【0154】
コンピュータ実行可能命令はさらに、コンピュータまたはプログラム可能デバイス上で一連の動作を実行し、コンピュータ実装処理を生成するよう、コンピュータまたはプログラム可能データ処理デバイスにロードされても良い。したがって、コンピュータまたはプログラム可能デバイスで実行されるコンピュータ実行可能命令は、フローチャートの1つもしくは複数のプロセス及び/またはブロック図の1つもしくは複数のブロックに指定される機能を実施するための動作を提供する。
【0155】
標準の構成では、本開示に記載される装置または端末などのコンピューティングデバイスは、1つまたは複数の中央処理装置(CPU)、1つまたは複数の入力/出力インタフェース、1つまたは複数のネットワークインターフェース及びメモリを含んでも良い。
【0156】
メモリは、非永続的メモリ、ランダムアクセスメモリ(RAM)、ならびに/または読み出し専用メモリ(ROM)及びフラッシュランダムアクセスメモリ(フラッシュRAM)などの不揮発性メモリなどの形態をコンピュータ可読媒体に含んでも良い。メモリはコンピュータ可読媒体の一例である。
【0157】
コンピュータ可読媒体は、情報記憶を実施するための任意の方法及び技法を使用しても良い、永続的及び非永続的な可動及び不可動媒体を含む。情報は、コンピュータ可読命令、データ構造、ソフトウェアモジュール、または任意のデータであっても良い。コンピュータ記憶媒体の例には、相変化メモリ(PCM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、他のタイプのRAM、ROM、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、フラッシュメモリ、内部メモリ、CD−ROM、DVD、光メモリ、磁気テープ、磁気ディスク、任意の他の磁気記憶デバイス、またはコンピューティングデバイスによりアクセス可能な情報を記憶しても良い任意の他の非通信媒体を含んでも良いが、これらに限定されない。本明細書において定義される通り、コンピュータ可読媒体には、変調データ信号及び搬送波などの一時的媒体は含まれない。
【0158】
用語「including」、「comprising」またはそれらの任意の変形は非排他的な包含を指し、したがって、複数の要素を含むプロセス、方法、製品またはデバイスは複数の要素のみを含むだけではなく、明示的に列挙されていない任意の他の要素、または係るプロセス、方法、製品またはデバイスに必須のもしくは固有である任意の要素も含むことに留意すべきである。追加の制限がない場合、フレーズ「including a ...」により定義される要素は、プロセス、方法、製品またはデバイスがその要素に加えて別の同じ要素をも含むということを除外するものではない。
【0159】
当業者であれば、実施形態例が、方法、システム、またはコンピュータソフトウェア製品の形態で提示されても良いことを理解するであろう。したがって、本技法は、ハードウェア、コンピュータソフトウェア、またはそれらの組み合わせにより実施されても良い。加えて、本技法は、コンピュータ実行可能命令またはコンピュータ可読命令を含む1つまたは複数のコンピュータ記憶媒体(ディスク、CD−ROM、または光記憶デバイスを含むが、それらに限定されない)の形態であるコンピュータソフトウェア製品として実施されても良い。
【0160】
上記の記載は本開示の実施形態例を記載するものであり、本発明を限定するために使用されるべきではない。当業者は本技法に任意の改変または変形を行っても良い。本技法の精神及び範囲を逸脱しない、任意の変更、同等置換または改良もまた本開示の請求の範囲内となされることとなる。