(58)【調査した分野】(Int.Cl.,DB名)
サーバに適用される情報処理方法であって、前記サーバは、サーバグループ内の1つのサーバであり、前記サーバグループ内の各サーバは、異なる場所に配置され、対象アクティビティアカウントのアクティビティ情報を別々に格納し;
前記情報処理方法は:
前記対象アクティビティアカウントのアクティビティ情報を取得するために用いられ端末によって送信される取得要求が受信されたか否かを判断するステップであって、前記取得要求は、前記端末の位置情報と、前記対象アクティビティアカウントの対象アクティビティ識別子と、取得することになる前記アクティビティ情報の対象数量とを含む、前記判断するステップと;
前記取得要求が受信された場合に、局所的に格納された、前記対象アクティビティ識別子に対応する前記対象アクティビティアカウントのアクティビティ情報の数量が、前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上であるか否かを判断するステップと;
前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上である場合に、局所的にアクティビティ情報の前記対象数量を取得し、アクティビティ情報の前記取得した対象数量を前記端末へ送信するステップと;
前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量未満である場合に、前記端末の前記位置情報に応じて、前記サーバグループ内の前記取得要求を受信していないサーバの中から前記端末に最も近いサーバを選択し、前記選択されたサーバが、前記取得要求に応じて、前記対象アクティビティアカウントの局所的に格納されたアクティビティ情報の数量が、前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上であるか否かを判断する前記ステップを実行するように、前記取得要求を前記選択されたサーバへ送信するステップと;
を備え、
前記端末の前記位置情報に応じて、前記サーバグループ内の前記取得要求を受信していないサーバの中から前記端末に最も近いサーバを選択する前記ステップが:
サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の、局所的に格納された第1の対応関係を取得するステップと;
前記取得要求を受信していない全てのサーバのサーバ識別子を含む記録を、前記第1の対応関係から取得するステップと;
前記取得要求を受信していない全てのサーバのサーバ識別子を含む記録の中から、前記対象アクティビティ識別子を含む記録を取得するステップと;
前記対象アクティビティ識別子を含む各記録からサーバ位置情報を別々に取得するステップと;
前記取得されたサーバ位置情報の中から前記端末の前記位置情報に最も近いサーバの位置情報を選択するステップと;
前記端末の前記位置情報に最も近いサーバの前記位置情報を含む記録を、前記第1の対応関係から判定するステップと;
前記端末の前記位置情報に最も近いサーバの前記位置情報を含む記録におけるサーバ識別子に対応するサーバを、前記端末に最も近いサーバとして用いるステップと;
を備える、
サーバに適用される情報処理方法。
対象アクティビティアカウントを作成するステップであって、前記対象アクティビティアカウントが、複数のアクティビティ情報と、前記対象アクティビティアカウントの対象アクティビティ識別子とを含む、前記作成するステップと;
前記複数のアクティビティ情報を格納するための複数の対象サーバを取得し、前記対象サーバのそれぞれの位置情報を取得するステップと;
前記対象アクティビティアカウントの前記アクティビティ情報の数量と前記対象サーバの数とに応じてアクティビティ情報を前記対象サーバのそれぞれに割り当てるステップと;
前記対象サーバのそれぞれについて、前記対象サーバに割り当てられた前記アクティビティ情報を前記対象サーバの対象データベースの対象データベーステーブルに格納し;前記対象サーバの対象サーバ識別子と、前記対象データベースの対象データベース識別子と、前記対象データベーステーブルの対象データベーステーブル識別子と、前記対象アクティビティアカウントの前記対象アクティビティ識別子と、前記対象サーバの前記位置情報とを、サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の、局所的に格納された第1の対応関係に格納するステップと;を更に備える、
請求項1に記載の情報処理方法。
対象アクティビティアカウントを作成するように構成された作成モジュールであって、前記対象アクティビティアカウントが、複数のアクティビティ情報と、前記対象アクティビティアカウントの対象アクティビティ識別子とを含む、前記作成モジュールと;
前記複数のアクティビティ情報を格納するための複数の対象サーバを取得し、前記対象サーバのそれぞれの位置情報を取得するように構成された第2の取得モジュールと;
前記対象アクティビティアカウントの前記アクティビティ情報の数量と前記対象サーバの数とに応じてアクティビティ情報を前記対象サーバのそれぞれに割り当てるように構成された割り当てモジュールと;
前記対象サーバのそれぞれについて、前記対象サーバに割り当てられた前記アクティビティ情報を前記対象サーバの対象データベースの対象データベーステーブルに格納するように構成された第1の格納モジュールと;
前記対象サーバの対象サーバ識別子と、前記対象データベースの対象データベース識別子と、前記対象データベーステーブルの対象データベーステーブル識別子と、前記対象アクティビティアカウントの前記対象アクティビティ識別子と、前記対象サーバの前記位置情報とを、サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の、局所的に格納された第1の対応関係に格納するように構成された第2の格納モジュールと;を更に備える、
請求項5に記載の情報処理装置。
【発明の概要】
【発明が解決しようとする課題】
【0007】
従来技術におけるこの問題を解決するため、本発明は情報処理方法及び装置を提供する。
【課題を解決するための手段】
【0008】
本願の実施の形態の第1の態様により、情報処理方法が提供され、本方法はサーバに適用され、前記サーバは、サーバグループ内の1つのサーバであり、前記サーバグループ内の各サーバは、異なる場所に配置され、対象アクティビティアカウントのアクティビティ情報を別々に格納し、本方法は:
前記対象アクティビティアカウントのアクティビティ情報を取得するために用いられ端末によって送信される取得要求が受信されたか否かを判断するステップであって、前記取得要求は、前記端末の位置情報と、前記対象アクティビティアカウントの対象アクティビティ識別子と、取得することになる前記アクティビティ情報の対象数量とを含む、判断するステップと;
前記取得要求が受信された場合に、局所的に格納された、前記対象アクティビティ識別子に対応する前記対象アクティビティアカウントのアクティビティ情報の数量が、前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量に等しい又はそれより多いか、否かを判断するステップと;
前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量に等しい又はそれより多い場合に、局所的にアクティビティ情報の前記対象数量を取得し、アクティビティ情報の前記取得した対象数量を前記端末へ送信するステップと;
前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量未満である場合に、前記端末の前記位置情報に応じて、前記サーバグループ内の前記取得要求を受信していないサーバの中から前記端末に最も近いサーバを選択し、前記選択されたサーバが、前記取得要求に従い、前記対象アクティビティアカウントの局所的に格納されたアクティビティ情報の数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量に等しい又はそれより多いか、否かを判断する前記ステップを実行するように、前記取得要求を前記選択されたサーバへ送信するステップと;を備える。
【0009】
前記端末の前記位置情報に応じて、前記サーバグループ内の前記取得要求を受信していないサーバの中から前記端末に最も近いサーバを選択する前記ステップが:
サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の、局所的に格納された第1の対応関係を取得するステップと;
前記取得要求を受信していない全てのサーバのサーバ識別子を含む記録を、前記第1の対応関係から取得するステップと;
前記取得要求を受信していない全てのサーバのサーバ識別子を含む記録の中から前記対象アクティビティ識別子を含む記録を取得するステップと;
前記対象アクティビティ識別子を含む各記録からサーバ位置情報を別々に取得するステップと;
前記取得されたサーバ位置情報の中から前記端末の前記位置情報に最も近いサーバの位置情報を選択するステップと;
前記端末の前記位置情報に最も近いサーバの前記位置情報を含む記録を、前記第1の対応関係から判定するステップと;
前記端末の前記位置情報に最も近いサーバの前記位置情報を含む前記記録におけるサーバ識別子に対応するサーバを、前記端末に最も近いサーバとして用いるステップと;を備える。
【0010】
更に、本方法は:
対象アクティビティアカウントを作成するステップであって、前記対象アクティビティアカウントが、複数のアクティビティ情報と、前記対象アクティビティアカウントの対象アクティビティ識別子とを含む、作成するステップと;
前記複数のアクティビティ情報を格納するための複数の対象サーバを取得し、前記対象サーバのそれぞれの位置情報を取得するステップと;
前記対象アクティビティアカウントの前記アクティビティ情報の数量と前記対象サーバの数とに応じてアクティビティ情報を前記対象サーバのそれぞれに割り当てるステップと;
前記対象サーバのそれぞれについて、前記対象サーバに割り当てられた前記アクティビティ情報を前記対象サーバの対象データベースの対象データベーステーブルに格納し;前記対象サーバの対象サーバ識別子と、前記対象データベースの対象データベース識別子と、前記対象データベーステーブルの対象データベーステーブル識別子と、前記対象アクティビティアカウントの前記対象アクティビティ識別子と、前記対象サーバの前記位置情報とを、サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の、局所的に格納される第1の対応関係に格納するステップと;を更に備える。
【0011】
前記複数のアクティビティ情報を格納するための複数の対象サーバを取得する前記ステップが:
サーバ識別子と、データベース識別子と、情報を格納していないデータベーステーブルの識別子との間の、局所的に格納される第2の対応関係を取得するステップと;
前記第2の対応関係に含まれる全てのサーバ識別子を取得するステップと;
前記取得された全てのサーバ識別子の中の同一のサーバ識別子に対して削除操作を実行し、前記同一のサーバ識別子のうちの1つのみを保持するステップと;
残ったサーバ識別子に対応する全てのサーバを前記対象サーバとして用いるステップと;を備える。
【0012】
前記対象サーバに割り当てられた前記アクティビティ情報を前記対象サーバの対象データベースの対象データベーステーブルに格納する前記ステップが:
前記対象サーバを含む対象記録を、前記第2の対応関係から取得するステップと;
前記対象記録の中のデータベース識別子を対象データベース識別子として用い、前記対象記録の中のデータベーステーブル識別子を対象データベーステーブル識別子として用いるステップと;
前記対象サーバに割り当てられた前記アクティビティ情報を、前記対象サーバにおける対象データベースの対象データベーステーブルに格納するステップであって、前記対象データベースは対象データベース識別子に対応するデータベースであり、前記対象データベーステーブルは対象データベーステーブル識別子に対応するデータベーステーブルである、格納するステップと;を備える。
【0013】
本願の実施の形態の第2の態様により、情報処理装置が提供され、本装置は:
対象アクティビティアカウントのアクティビティ情報を取得するために用いられ端末によって送信される取得要求が受信されたか否かを判断するように構成された第1の判断モジュールであって、前記取得要求は、前記端末の位置情報と、前記対象アクティビティアカウントの対象アクティビティ識別子と、取得することになる前記アクティビティ情報の対象数量とを含む、第1の判断モジュールと;
前記取得要求が受信された場合に、前記対象アクティビティ識別子に対応する前記対象アクティビティアカウントのアクティビティ情報の、局所的に格納された数量が、前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量に等しい又はそれより多いか、否かを判断するように構成された第2の判断モジュールと;
前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量に等しい又はそれより多い場合に、局所的にアクティビティ情報の前記対象数量を取得するように構成された第1の取得モジュールと;
アクティビティ情報の前記取得した対象数量を前記端末へ送信するように構成された第1の送信モジュールと;
前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量未満である場合に、前記端末の前記位置情報に応じて、前記サーバグループ内の前記取得要求を受信していないサーバの中から前記端末に最も近いサーバを選択するように構成された選択モジュールと;
前記選択されたサーバが、前記取得要求に応じて、前記対象アクティビティアカウントの、局所的に格納されたアクティビティ情報の数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量に等しい又はそれより多いか、否かを判断する前記ステップを実行するように、前記取得要求を前記選択されたサーバへ送信するように構成された第2の送信モジュールと;を備える。
【0014】
前記選択モジュールが:
サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の、局所的に格納された第1の対応関係を取得するように構成された第1の取得ユニットと;
前記取得要求を受信していない全てのサーバのサーバ識別子を含む記録を、前記第1の対応関係から取得するように構成された第2の取得ユニットと;
前記取得要求を受信していない全てのサーバのサーバ識別子を含む記録の中から前記対象アクティビティ識別子を含む記録を取得するように構成された第3の取得ユニットと;
前記対象アクティビティ識別子を含む各記録からサーバ位置情報を別々に取得するように構成された第4の取得ユニットと;
前記取得されたサーバ位置情報の中から前記端末の前記位置情報に最も近いサーバの位置情報を選択するように構成された選択ユニットと;
前記端末の前記位置情報に最も近いサーバの前記位置情報を含む記録を、前記第1の対応関係から判定するように構成された第1の判定ユニットと;
前記端末の前記位置情報に最も近いサーバの前記位置情報を含む前記記録におけるサーバ識別子に対応するサーバを、前記端末に最も近いサーバとして用いるように構成された第2の判定ユニットと;を備える。
【0015】
更に、本装置は:
対象アクティビティアカウントを作成するように構成された作成モジュールであって、前記対象アクティビティアカウントが、複数のアクティビティ情報と、前記対象アクティビティアカウントの対象アクティビティ識別子とを含む、作成モジュールと;
前記複数のアクティビティ情報を格納するための複数の対象サーバを取得し、前記対象サーバのそれぞれの位置情報を取得するように構成された第2の取得モジュールと;
前記対象アクティビティアカウントの前記アクティビティ情報の数量と前記対象サーバの数とに応じてアクティビティ情報を前記対象サーバのそれぞれに割り当てるように構成された割り当てモジュールと;
前記対象サーバのそれぞれについて、前記対象サーバに割り当てられた前記アクティビティ情報を前記対象サーバの対象データベースの対象データベーステーブルに格納するように構成された第1の格納モジュールと;
前記対象サーバの対象サーバ識別子と、前記対象データベースの対象データベース識別子と、前記対象データベーステーブルの対象データベーステーブル識別子と、前記対象アクティビティアカウントの前記対象アクティビティ識別子と、前記対象サーバの前記位置情報とを、サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の、局所的に格納される第1の対応関係に格納するように構成された第2の格納モジュールと;を更に備える。
【0016】
前記第2の取得モジュールが:
サーバ識別子と、データベース識別子と、情報を格納していないデータベーステーブルの識別子との間の、局所的に格納される第2の対応関係を取得するように構成された第5の取得ユニットと;
前記第2の対応関係に含まれる全てのサーバ識別子を取得するように構成された第6の取得ユニットと;
前記取得された全てのサーバ識別子の中の同一のサーバ識別子に対して削除操作を実行し、前記同一のサーバ識別子のうちの1つのみを保持するように構成された削除ユニットと;
残ったサーバ識別子に対応する全てのサーバを前記対象サーバとして用いるように構成された第3の判定ユニットと;を備える。
【0017】
前記第1の格納モジュールが:
前記対象サーバを含む対象記録を、前記第2の対応関係から取得するように構成された第7の取得ユニットと;
前記対象記録の中のデータベース識別子を対象データベース識別子として用い、前記対象記録の中のデータベーステーブル識別子を対象データベーステーブル識別子として用いるように構成された第4の判定ユニットと;
前記対象サーバに割り当てられた前記アクティビティ情報を、前記対象サーバにおける対象データベースの対象データベーステーブルに格納するように構成された格納ユニットであって、前記対象データベースは対象データベース識別子に対応するデータベースであり、前記対象データベーステーブルは対象データベーステーブル識別子に対応するデータベーステーブルである、格納ユニットと;を備える。
【0018】
本発明の実施の形態において提供される技術的解決策は、以下の有益な効果を含むことができる。従来技術では、対象アクティビティアカウントの複数のアクティビティ情報が1つのサーバに格納されるに過ぎない。多くのユーザが対象アクティビティアカウントのアクティビティ情報を取得するための取得要求を同時にサーバへ送信すると、サーバは、単位時間内に多数の取得要求を受信することがある。単位時間内にサーバによって受信される取得要求の数は、単位時間内にサーバが処理できる取得要求の数を容易に超えてしまう。結果として、サーバは、単位時間内に受信した取得要求のうちの一部の取得要求しか処理できず、他の取得要求は後で処理するしかなく、その結果、サーバが他の取得要求に応答する速度は低下し、応答効率は低下する。
【0019】
しかし、本発明の図面において、多くのユーザが対象アクティビティアカウントのアクティビティ情報を取得するための取得要求を同時にサーバへ送信した場合、対象アクティビティアカウントの複数のアクティビティ情報が、それぞれ異なる場所にある複数のサーバに予め格納されているため、この複数のサーバが多くのユーザによって送信される取得要求を分け合うことができる。こうして、単位時間内に各サーバによって受信される取得要求の数を減らすことができ、その結果、単位時間内に各サーバによって受信される取得要求の数を単位時間内にサーバが処理できる取得要求の数よりも少なくすることができる。そのため、各サーバは、それぞれ単位時間内に受信した処理要求全ての処理を完了することができ、その結果、多くのユーザによって送信される取得要求に応答する速度が全体として高まって、応答効率が向上する。
【0020】
当然ながら、上述の一般的な説明及び以下の詳細な説明は単なる例示及び説明用であり、本発明を限定するものではない。
【発明を実施するための形態】
【0023】
例示の実施の形態をここで詳細に説明し、その例を付帯する図面に示す。付帯する図面に関する以下の説明において、異なる図面における同一の番号は、別段の指示がない限り同一又は類似の要素を示す。以下の例示の実施の形態に記載する実施は、本発明と一致する全ての実施の形態を表すものではない。それどころか、それらは、付帯する請求項に詳細に記載されている本発明の、一部の態様に一致する装置及び方法の例に過ぎない。
【0024】
図1は、例示の実施の形態による情報処理方法のフローチャートである。本方法は、サーバに適用され、前記サーバは、サーバグループ内の1つのサーバである。前記サーバグループ内の各サーバは、異なる場所に配置され、対象アクティビティアカウントのアクティビティ情報を別々に格納する。
図1に示すように、本方法は、以下のステップを含む。
【0025】
ステップS101では、前記対象アクティビティアカウントのアクティビティ情報を取得するために用いられ端末によって送信される取得要求が、受信されたか否かが判断される。
前記取得要求は、前記端末の位置情報と、前記対象アクティビティアカウントの対象アクティビティ識別子と、取得することになる前記アクティビティ情報の対象数量とを含む。
【0026】
ステップS102では、前記取得要求が受信された場合に、局所的に格納された、前記対象アクティビティ識別子に対応する前記対象アクティビティアカウントのアクティビティ情報の数量が、前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上であるか否かが判断される。
【0027】
ステップS103では、前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上である場合に、前記取得要求を受信したサーバがアクティビティ情報の前記対象数量を局所的に取得し、アクティビティ情報の前記取得した対象数量を前記端末へ送信する。
【0028】
ステップS104では、前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量未満である場合に、前記サーバグループ内の前記取得要求を受信していないサーバの中から前記端末に最も近いサーバが選択され、前記取得要求が前記選択されたサーバへ送信される。
【0029】
ステップS105では、前記選択されたサーバが、前記取得要求を受信し、前記対象アクティビティアカウントの局所的に格納されたアクティビティ情報の数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上であるか否かを判断するステップS102を実行する。
選択されたサーバが取得要求を受信すると、選択されたサーバは即座に取得要求を受信したサーバとして機能する。
【0030】
従来技術では、対象アクティビティアカウントの複数のアクティビティ情報が1つのサーバに格納されるに過ぎない。多くのユーザが対象アクティビティアカウントのアクティビティ情報を取得するための取得要求を同時にサーバへ送信すると、サーバは、単位時間内に多数の取得要求を受信することがある。単位時間内にサーバによって受信される取得要求の数は、単位時間内にサーバが処理できる取得要求の数を容易に超えてしまう。その結果、サーバは、単位時間内に受信した取得要求のうちの一部の取得要求しか処理できず、他の取得要求は後で処理するしかなく、その結果、サーバが他の取得要求に応答する速度は低下し、応答効率は低下する。
【0031】
しかし、
図1に示す実施の形態では、多くのユーザが対象アクティビティアカウントのアクティビティ情報を取得するための取得要求を同時にサーバへ送信した場合、対象アクティビティアカウントの複数のアクティビティ情報が、それぞれ異なる場所にある複数のサーバに予め格納されているため、この複数のサーバは、多くのユーザから送信された取得要求を分け合うことができる。こうして、単位時間内に各サーバが受信する取得要求の数を減らすことができ、その結果、単位時間内に各サーバによって受信される取得要求の数を単位時間内にサーバが処理できる取得要求の数よりも少なくすることができる。これにより、各サーバは、それぞれ単位時間内に受信した処理要求全ての処理を完了することができ、その結果、多くのユーザから送信される取得要求に応答する速度が全体として高まって、応答効率が向上する。
【0032】
例えば、従来技術では、サーバは毎秒200件の取得要求を処理できる。それぞれの場所にいる10,000人のユーザ全員が対象アクティビティアカウントのアクティビティ情報を取得する必要がある場合、各ユーザは、1件の取得要求をサーバへ別々に送信する。サーバは、単位時間内に10,000件の取得要求を受信し、これらの処理要求の処理を完了するのに50秒を必要とする。そのため、全体として応答時間が長くなり、応答効率が低下する。
【0033】
しかし、本発明の
図1に示す実施の形態では、異なる場所に位置する50台のサーバ全てが対象アクティビティアカウントのアクティビティ情報を格納し、各サーバは、取得要求を1秒当たり200件処理できる。異なる場所にいる10,000人のユーザ全員が対象アクティビティアカウントのアクティビティ情報を取得する必要がある場合、10,000人のユーザによって一斉に送信される10,000件の取得要求を50台のサーバが分け合う。例えば、各サーバが、200件の取得要求を受信する。こうして、各サーバは、それぞれ受信した処理要求の処理をわずか1秒で完了することができ、そのため、全体として応答時間が短縮し、応答効率が高まる。
【0034】
図2は、例示の実施の形態による情報処理方法のフローチャートである。
図2に示すように、この方法は以下のステップを含む。
【0035】
ステップS201において、対象アクティビティに対応する対象アクティビティアカウントを作成する。
対象アクティビティアカウントは、複数のアクティビティ情報と、対象アクティビティアカウントの対象アクティビティ識別子とを含み、対象アクティビティ識別子は、対象アクティビティの名前及び/又は番号などであってもよい。
【0036】
対象アクティビティは、紅包を手に入れるアクティビティ、商品を買うアクティビティ、ボーナスポイントを獲得するアクティビティなどであってもよい。
例えば、対象アクティビティが紅包を手に入れるアクティビティである場合、各アクティビティ情報は、ある金額が入った紅包、例えば、5元の紅包や10元の紅包であってもよい。対象アクティビティが商品を買うアクティビティである場合、各アクティビティ情報は、購入が制限される商品数、例えば、1個、2個などであってもよい。
【0037】
ステップS202では、前記複数のアクティビティ情報を格納するための複数の対象サーバが取得され、前記対象サーバのそれぞれの位置情報が取得される。
技術者は、異なる場所にサーバを予め配備する。これらのサーバは、相互にデータ通信を実行でき、それぞれデータを格納する、例えば、アクティビティ情報などを格納するためのデータベースとデータベーステーブルを含む。これらのサーバは全て、共同で1つのクライアントターミナルに対応する。ユーザがクライアントターミナルに対応するバックグラウンドサーバにログオンする必要がある場合、クライアントターミナルは、ログイン用にユーザに最も近いサーバを選択する。
【0038】
例えば、技術者がペキン、シャンハイ、コワンチョウ、シーニン、インチョワン、クンミン、及びハルビンの各都市に予めサーバを配備すると、存在するサーバは合計で7台になる。7台のサーバは、共同でクライアントターミナル「Tmall」に対応する。ユーザは、クライアントターミナル「Tmall」を自身の携帯電話にインストールできる。ユーザがペキンにいて、クライアントターミナル「Tmall」のバックグラウンドサーバにログインする必要がある場合、クライアントターミナル「Tmall」は、ユーザの携帯電話に最も近いサーバをログイン用に選択できる、即ち、ペキンに位置するサーバをログイン用に選択することができる。
【0039】
具体的に、このステップは、以下の工程を用いることにより実施でき、工程には以下が含まれる。
【0040】
11)サーバ識別子と、データベース識別子と、情報を格納していないデータベーステーブルの識別子との間の局所的に格納される第2の対応関係を取得する。
【0041】
配備されたサーバは相互にデータ通信を実行する。したがって、配備された任意のサーバについて、サーバは、そのサーバの局所的構成状況を認識しているだけでなく、他のサーバ全ての構成状況、即ち、各サーバのデータベースにおけるデータベーステーブルがデータを格納しているか否かも認識している。サーバは、サーバの局所的構成状況及び他のサーバ全ての構成状況に応じて、サーバ識別子と、データベース識別子と、情報を格納していないデータベーステーブルの識別子との間の第2の対応関係をサーバにおいて局所的に確立することができる。第2の対応関係における各記録の中の情報を格納していないデータベーステーブルの識別子に対応するデータベーステーブルは、データを格納していない。
【0042】
サーバ識別子は、サーバの名前及び/又は番号などである。データベース識別子は、データベースの名前及び/又は番号などである。データベーステーブルの識別子は、データベーステーブルの名前及び/又は番号などである。
【0043】
ただし、第2の対応関係における記録の中の情報を格納していないデータベーステーブルの識別子に対応するデータベースが1件のデータを格納した後、その記録は第2の対応関係から削除される。
【0044】
データがデータベーステーブルから削除されてデータベーステーブルを空にする場合、データベーステーブルのデータベーステーブル識別子が取得され、データベーステーブルが属するデータベースのデータベース識別子が取得され、データベースが属するサーバのサーバ識別子が取得される。このサーバ識別子、データベース識別子、及びデータベーステーブル識別子は、第2の対応関係に格納される。
【0045】
12)第2の対応関係に含まれる全てのサーバ識別子を取得する。
第2の対応関係における各記録が取得され、各記録におけるサーバ識別子が別々に取得されて、第2の対応関係に含まれる全てのサーバ識別子が取得される。
【0046】
13)取得された全てのサーバ識別子の中の同一のサーバ識別子に対して削除操作を実行し、同一のサーバ識別子のうちの1つのみを残す。
【0047】
全ての取得されたサーバ識別子の中の複数のサーバ識別子はおそらく同一のサーバ識別子である。したがって、同一のサーバ識別子に対して削除操作を実行する必要があり、同一のサーバ識別子のうちの1つのみが残される。残ったサーバ識別子のうち、どの2つをとってもサーバ識別子は異なる。
【0048】
14)残された各サーバ識別子に対応するサーバを対象サーバとして用いる。
【0049】
ステップS203では、前記対象アクティビティアカウントの前記アクティビティ情報の数量と前記対象サーバの数とに応じてアクティビティ情報が前記対象サーバのそれぞれに割り当てられる。
アクティビティ情報は、アクティビティ情報の数量と対象サーバの数とに応じて対象サーバのそれぞれに均等に割り当てることができる。そのため、どの2台の対象サーバをとっても、割り当てられるアクティビティ情報の数量は、同じ又はほとんど差がなく、大きな差を生じさせることは不可能である。
【0050】
例えば、10台の対象サーバと1000件のアクティビティ情報が存在すると仮定すると、アクティビティ情報を対象サーバのそれぞれに均等に割り当てるため、100件のアクティビティ情報が対象サーバのそれぞれに割り当てられる。即ち、どの2台の対象サーバをとっても、割り当てられる対象情報の数量は同じである。
【0051】
別の例では、10台の対象サーバと998件のアクティビティ情報が存在すると仮定すると、2台の対象サーバが10台の対象サーバから選択されて99件のアクティビティ情報がその2台の対象サーバのそれぞれに割り当てられ、100件の対象情報が他の8台の対象サーバのそれぞれに割り当てられる。そのため、どの2台の対象サーバをとっても、割り当てられる対象情報の数量は同じ又は1件差である。
【0052】
異なる地域のユーザのアクティビティの程度を、過去の経験から分析することができ、異なる数量のアクティビティ情報が異なる場所にあるサーバに割り当てられる。ユーザのアクティビティの程度が高い地域に配備されたサーバにはより多くのアクティビティ情報が割り当てられ、ユーザのアクティビティの程度が低い地域に配備されたサーバには、より少ないアクティビティ情報が割り当てられる。
【0053】
例えば、7台の対象サーバが存在してペキン、シャンハイ、コワンチョウ、シーニン、インチョワン、クンミン、及びハルビンに別々に位置しており、ペキン、シャンハイ、及びコワンチョウのユーザはアクティビティの程度が高く、シーニン、インチョワン、クンミン、及びハルビンのユーザはアクティビティの程度が低いとする。ペキン、シャンハイ、及びコワンチョウのサーバにはより多くのアクティビティ情報を割り当て、シーニン、インチョワン、クンミン、及びハルビンのサーバには、より少ないアクティビティ情報を割り当てることができ、それによりアクティビティ情報の合理的な割り当てが実現される。
【0054】
ステップS204では、あらゆる対象サーバについて、前記対象サーバに割り当てられた前記アクティビティ情報が前記対象サーバの対象データベースの対象データベーステーブルに格納される。上記動作は、他の対象サーバのそれぞれについて実行される。
【0055】
具体的に、前記対象サーバの対象サーバ識別子を含む対象記録が、前記第2の対応関係から取得される。前記対象記録の中のデータベース識別子が対象データベース識別子として用いられ、前記対象記録の中のデータベーステーブル識別子が対象データベーステーブル識別子として用いられる。前記対象サーバに割り当てられた前記アクティビティ情報が、前記対象サーバにおける対象データベースの対象データベーステーブルに格納され、前記対象データベースは対象データベース識別子に対応するデータベースであり、前記対象データベーステーブルは対象データベーステーブル識別子に対応するデータベーステーブルである。
【0056】
更に、第2の対応関係から対象記録が削除される。対象サーバの対象サーバ識別子、対象データベースの対象データベース識別子、対象データベーステーブルの対象データベーステーブル識別子、対象アクティビティアカウントの対象アクティビティ識別子、及び対象サーバの位置情報が、局所的に格納される、サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の第1の対応関係に格納される。
上述の操作が、他の対象サーバのそれぞれに対して実行される。
【0057】
更に、格納が終了した後、
図3を参照すると、全ての対象サーバがサーバグループを構成する。サーバグループ内の各サーバは、インターネットに接続することができる。そのため、サーバグループ内の対象サーバは、互いに通信することができる。
図3において、A1乃至Anは対象サーバを表す。
【0058】
こうして、ステップS201乃至S204の工程を通じ、対象アクティビティアカウントの複数のアクティビティ情報が異なる場所にある複数の対象サーバへ別々に格納される。同時に、対象アクティビティが速やかに有効になされる。その後、ユーザは、対象アクティビティアカウントのアクティビティ情報を取得できる。ユーザが対象アクティビティアカウントのアクティビティ情報を取得する必要がある場合、対象サーバは、ユーザによって取得することになるアクティビティ情報を、以下のステップS205乃至S209の工程を通じてユーザに配信できる。
【0059】
ステップS205において、サーバグループ内の各サーバは、対象アクティビティアカウントのアクティビティ情報を取得するために用いられ且つ端末によって送信される取得要求がそれぞれ受信されたか否かを判断する。
対象アクティビティが有効になされた後、配備された各対象サーバは、ステップS205の操作を実行する。対象サーバが取得要求を受信した場合、対象サーバは、ステップS206乃至S209の工程を通じ、取得要求によって取得することになるアクティビティ情報を取得し、取得されたアクティビティ情報を端末へ送信する。
【0060】
取得要求は、端末の位置情報と、対象アクティビティアカウントの対象アクティビティ識別子と、取得することになるアクティビティ情報の対象数量とを伴っている。サーバグループ内の各サーバは異なる場所に位置して、対象アクティビティアカウントのアクティビティ情報を別々に格納している。
端末は、ユーザが用いる携帯電話、タブレットコンピュータ、ノートブックコンピュータなどのいずれであってもよい。
【0061】
ユーザは、対象アクティビティのアクティビティページを端末で閲覧し、次いで、クリック又はタッチすることで対象アクティビティアカウントのアクティビティ情報を取得するために用いられる取得要求をサーバへ送信することができる。サーバは、取得要求を受信し、ステップS206乃至S209の工程を通じて処理を実行する。
【0062】
例えば、対象アクティビティは紅包の配布であって、1件のアクティビティ情報は1個の紅包である。端末に表示される対象アクティビティページは、少なくとも紅包取得ボタンと紅包取得数量選択ボックスとを含む。ユーザは、紅包取得数量選択ボックスで取得することになる紅包の対象数量を選択し、次いで、取得ボタンをクリックする。ユーザによる取得ボタンをクリックするクリック操作を受信した後、端末は、ユーザにより紅包取得数量選択ボックスで選択された取得することになる紅包の対象数量を取得し、対象数量、端末の位置情報、及び対象アクティビティアカウントの対象アクティビティ識別子に応じて取得要求を生成し、取得要求をサーバへ送信する。
端末により端末の位置情報を取得する方式は、従来技術における任意の方式であってよく、本発明では限定されない。
【0063】
サーバグループ内の1台のサーバが取得要求を受信すると、ステップS206において、取得要求を受信したサーバは、対象アクティビティ識別子に対応する対象アクティビティアカウントの局所的に格納されたアクティビティ情報の数量が、取得要求によって取得することになるアクティビティ情報の対象数量以上であるか否かを判断する。
【0064】
具体的には、データベース識別子とデータベーステーブル識別子とが、端末の位置情報に最も近いサーバの位置情報を含む記録から取得される。取得されたデータベース識別子に対応するデータベースにおけるデータベーステーブルは、取得されたサーバから判定され、ここで、データベーステーブルは、取得されたデータベーステーブル識別子に対応するデータベーステーブルである。取得されたデータベーステーブルに格納されたアクティビティ情報の数量が取得される。取得されたデータベーステーブルに格納されたアクティビティ情報の数量が、取得要求によって取得することになるアクティビティ情報数量以上であるか否かが判断される。
【0065】
局所的に格納されたアクティビティ情報の数量が取得要求によって取得することになるアクティビティ情報の対象数量以上である場合、ステップS207において、取得要求を受信したサーバは、局所的にアクティビティ情報の対象数量を取得し、取得した対象数量のアクティビティ情報を端末へ送信する。
【0066】
ステップS207における「局所的にアクティビティ情報の対象数量を取得し、取得した対象数量のアクティビティ情報を端末へ送信するステップ」の実行対象は、ステップS206における「対象アクティビティアカウントの局所的に格納されたアクティビティ情報の数量が、取得要求によって取得することになるアクティビティ情報の対象数量以上であるか否かを判断するステップ」の実行対象と同じである。
【0067】
取得されたデータベーステーブルから対象数量のアクティビティ情報が取得され、次いで、端末へ送信される。このとき取得されたデータベーステーブルにアクティビティ情報が残っていない場合、即ち、このときデータベーステーブルが空である場合、取得されたデータベーステーブルのデータベーステーブル識別子、データベーステーブルが属するデータベースのデータベース識別子、及びこのデータベーステーブルを有するデータベースが属するサーバのサーバ識別子が、記録を構成する。記録は第2の対応関係に格納される。データベーステーブルの取得されたデータベーステーブル識別子を含む記録は、第1の対応関係から削除される。
【0068】
例えば、1件のアクティビティ情報は1個の紅包であり、取得要求により取得することになる紅包の数量は5個であり、取得要求を受信したサーバに格納された紅包の数量は10個である。このとき、取得要求を受信したサーバに格納された紅包の数量10個は、取得要求によって取得することになる紅包の数量5個よりも大きい。そのため、取得要求を受信したサーバに格納された紅包の数量は、取得要求によって取得することになる紅包の数量を満たすことができると判定される。取得要求を受信したサーバに格納された10個の紅包から5個の紅包を選択することができ、端末へ送信される。このとき、取得要求を受信したサーバに残って格納されている紅包は5個だけである
【0069】
局所的に格納されたアクティビティ情報の数量が取得要求によって取得することになるアクティビティ情報の対象数量未満である場合、ステップS208において、取得要求を受信したサーバは、端末の位置情報に応じて、サーバグループ内の取得要求を受信していないサーバの中から端末に最も近いサーバを選択して取得要求を選択されたサーバへ送信する。
【0070】
こうして、選択されたサーバは、取得要求に応じ、ステップS206における、「対象アクティビティアカウントの局所的に格納されたアクティビティ情報の数量が、取得要求によって取得することになるアクティビティ情報の対象数量以上であるか否かを判断するステップ」を実行する。
【0071】
ステップS208における「サーバグループ内の取得要求を受信していないサーバの中から端末に最も近いサーバを選択して取得要求を選択されたサーバへ送信するステップ」の実行対象は、ステップS206における「対象アクティビティアカウントの局所的に格納されたアクティビティ情報の数量が、取得要求によって取得することになるアクティビティ情報の対象数量以上であるか否かを判断するステップ」の実行対象と同じである。
【0072】
サーバグループは複数のサーバを含む。これらのサーバは異なる場所に別々に配置され、いずれも対象アクティビティアカウントのアクティビティ情報を格納する。
【0073】
本発明の実施の形態では、局所的に格納されたアクティビティ情報の数量が、取得要求によって取得することになるアクティビティ情報の対象数量未満である場合、取得要求を受信したサーバに格納された紅包の数量が取得要求によって取得することになる対象数量の紅包に対する需要を満たすことができないと判定される。加えて、通信リンクの長さに起因する通信遅延を最大限短縮するため、サーバグループ内の取得要求を受信していないサーバの中から端末に最も近いサーバを選択することが必要である。次いで、取得要求が選択されたサーバへ送信され、その結果、選択されたサーバが取得要求を受信し、次いで、対象アクティビティアカウントの局所的に格納されたアクティビティ情報の数量が、取得要求によって取得することになるアクティビティ情報の対象数量以上であるか否かを判断する。局所的に格納されたアクティビティ情報の数量が、取得要求によって取得することになるアクティビティ情報の対象数量以上である場合、選択されたサーバは、「局所的に対象数量のアクティビティ情報を取得し、取得した対象数量のアクティビティ情報を端末へ送信するステップ」を実行する。局所的に格納されたアクティビティ情報の数量が取得要求によって取得することになるアクティビティ情報の対象数量未満である場合、選択されたサーバは、「サーバグループ内の取得要求を受信していないサーバの中から端末に最も近いサーバを選択して取得要求を選択されたサーバへ送信するステップ」を実行する。
【0074】
端末の位置情報に応じて、サーバグループ内の取得要求を受信していないサーバの中から端末に最も近いサーバを選択するステップは、以下の工程を用いて実施できる。この工程に以下が含まれる。
【0075】
21)局所的に格納された、サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、及びサーバ位置情報との間の第1の対応関係を取得する。
第1の対応関係における全ての記録内のアクティビティ識別子は、対象アクティビティアカウントの対象アクティビティ識別子と、他のアクティビティアカウントのアクティビティ識別子とを含む。
【0076】
22)取得要求を受信していない全てのサーバのサーバ識別子を含む記録を第1の対応関係から取得する。
【0077】
23)対象アクティビティ識別子を含む記録を第1の対応関係から取得する。
第1の対応関係における任意の記録について、記録に含まれるアクティビティ識別子が対象アクティビティ識別子であるか否かが判断される。記録に含まれるアクティビティ識別子が対象アクティビティ識別子である場合、その記録が取得される。対象アクティビティ識別子を含む記録全てを第1の対応関係から取得するため、上述の操作が他の記録のそれぞれに対して実行される。
【0078】
24)対象アクティビティ識別子を含む各記録からサーバ位置情報を別々に取得する。
取得された対象アクティビティ識別子を含む任意の記録について、記録内のサーバ位置情報が取得される。対象アクティビティ識別子を含む各記録内のサーバ位置情報を別々に取得するため、上述の操作が他の取得された対象アクティビティ識別子を含む記録のそれぞれに対して実行される。
【0079】
25)取得されたサーバ位置情報の中から端末の位置情報に最も近いサーバの位置情報を選択する。
ステップ24)において、1台のサーバのみの位置情報が取得された場合、取得されたサーバ位置情報が、端末の位置情報に最も近いサーバの位置情報として用いられる。
ステップ24)において、複数のサーバの位置情報が取得された場合、任意のサーバの取得された位置情報について、サーバの位置情報と端末の位置情報との間の距離が計算される。上述の操作は、他のサーバのそれぞれの取得された位置情報に対して実行される。こうして、各サーバの取得された位置情報と端末の位置情報との間の距離を取得することができ、次いで、算出された距離に応じて端末の位置情報に最も近いサーバの位置情報を選択できる。
【0080】
26)端末の位置情報に最も近いサーバの位置情報を含む記録を、第1の対応関係から判定する。
具体的には、第1の対応関係において、第1の記録が取得され、記録がステップ25)において選択されたサーバ位置情報を含むか否かが判断される。記録がステップ25)において選択されたサーバ位置情報を含む場合、第1の記録が、端末の位置情報に最も近いサーバの位置情報を含む記録として用いられる。記録が端末の位置情報に最も近いサーバの位置情報を含まない場合、記録は端末の位置情報に最も近いサーバの位置情報を含む記録ではないと判定される。次いで、第2の記録が取得され、取得された記録がステップ25)において選択されたサーバ位置情報を含むまで上述の操作が連続して実行される。取得された記録は、端末の位置情報に最も近いサーバの位置情報を含む記録として用いられる。
【0081】
27)端末の位置情報に最も近いサーバの位置情報を含む記録内のサーバ識別子に対応するサーバを端末に最も近いサーバとして用いる。
例えば、1件のアクティビティ情報が1個の紅包であるとき、取得要求によって取得することになるアクティビティ情報の数量が5個であれば、取得することになる紅包の数量は5個である。サーバに格納されている最新の取得された紅包の数量が3個だけであると仮定すると、サーバに格納されている最新の取得された紅包の3個の数量は取得要求によって取得することになる紅包の数量である5個未満であり、したがってサーバに格納されている最新の取得された紅包の数量は取得要求によって取得することになる対象数量の紅包に対する需要を満たすことができないと判定される。結果として、5個の紅包のみを他のサーバから取得して端末へ返信することができる。
【0082】
ステップS209において、選択されたサーバは、取得要求を受信し、ステップS206における対象アクティビティアカウントの局所的に格納されたアクティビティ情報の数量が、取得要求によって取得することになるアクティビティ情報の対象数量以上であるか否かを判断するステップを実行する。
選択されたサーバが取得要求を受信すると、選択されたサーバは、即座に取得要求を受信したサーバとして機能する。
次いで、ステップS207における「局所的にアクティビティ情報の対象数量を取得し、取得した対象数量のアクティビティ情報を端末へ送信するステップ」、又はステップS208における「サーバグループ内の取得要求を受信していないサーバの中から端末に最も近いサーバを選択して取得要求を選択されたサーバへ送信するステップ」が実行される。
【0083】
従来技術では、対象アクティビティアカウントの複数のアクティビティ情報が1つのサーバに格納されるに過ぎない。多くのユーザが対象アクティビティアカウントのアクティビティ情報を取得するための取得要求を同時にサーバへ送信すると、サーバは、単位時間内に多数の取得要求を受信することがある。単位時間内にサーバによって受信される取得要求の数は、単位時間内にサーバが処理できる取得要求の数を容易に超えてしまう。どの結果、サーバは、単位時間内に受信した取得要求のうちの一部の取得要求しか処理できず、他の取得要求は後で処理するしかなく、その結果、サーバが他の取得要求に応答する速度は低下し、応答効率は低下する。
【0084】
しかし、
図2に示す実施の形態では、多くのユーザが対象アクティビティアカウントのアクティビティ情報を取得するための取得要求を同時にサーバへ送信した場合、対象アクティビティアカウントの複数のアクティビティ情報がそれぞれ異なる場所にある複数のサーバに予め格納されているため、この複数のサーバ多くのユーザによって送信される取得要求を分け合うことができる。こうして、単位時間内に各サーバによって受信される取得要求の数を減らすことができ、その結果、単位時間内に各サーバによって受信される取得要求の数を単位時間内にサーバが処理できる取得要求の数よりも少なくすることができる。そのため、各サーバは、それぞれ単位時間内に受信した処理要求全ての処理を完了することができ、その結果、多くのユーザによって送信される取得要求に応答する速度が全体として高まって、応答効率が向上する。
【0085】
例えば、従来技術では、サーバは取得要求を毎秒200件処理できる。異なる場所にいる10,000人のユーザ全員が対象アクティビティアカウントのアクティビティ情報を取得する必要がある場合、各ユーザが、1件の取得要求をサーバに別々へ送信する。サーバは、単位時間内に10,000件の取得要求を受信し、これらの処理要求の処理を完了するのに50秒を必要とする。そのため、全体として応答時間が長くなり、応答効率が低下する。
【0086】
しかし、本発明の
図2に示す実施の形態では、異なる場所に位置する50台のサーバ全てが対象アクティビティアカウントのアクティビティ情報を格納し、各サーバは、取得要求を毎秒200件処理できる。異なる場所にいる10,000人のユーザ全員が対象アクティビティアカウントのアクティビティ情報を取得する必要がある場合、10,000人のユーザによって一斉へ送信される10,000件の取得要求を50台のサーバが分け合う。例えば、各サーバが、200件の取得要求を受信する。こうして、各サーバは、それぞれ受信した処理要求を処理するのにわずか1秒しか必要とせず、そのため、全体として応答時間が短縮し、応答効率が高まる。
【0087】
図4は、例示の実施の形態による情報処理装置のブロック図である。
図4を参照し、本装置は:
対象アクティビティアカウントのアクティビティ情報を取得するために用いられ端末によって送信される取得要求が受信されたか否かを判断するように構成された第1の判断モジュール11であって、前記取得要求は、前記端末の位置情報と、前記対象アクティビティアカウントの対象アクティビティ識別子と、取得することになる前記アクティビティ情報の対象数量とを含む、第1の判断モジュール11と;
前記取得要求が受信された場合に、前記対象アクティビティ識別子に対応する前記対象アクティビティアカウントのアクティビティ情報の、局所的に格納された数量が、前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上であるか否かを判断するように構成された第2の判断モジュール12と;
前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上である場合に、局所的にアクティビティ情報の前記対象数量を取得するように構成された第1の取得モジュール13と;
アクティビティ情報の前記取得した対象数量を前記端末へ送信するように構成された第1の送信モジュール14と;
前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量未満である場合に、前記端末の前記位置情報に応じて、前記サーバグループ内の前記取得要求を受信していないサーバの中から前記端末に最も近いサーバを選択するように構成された選択モジュール15と;
前記選択されたサーバが、前記取得要求に応じて、前記対象アクティビティアカウントの、局所的に格納されたアクティビティ情報の数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上であるか否かを判断する前記ステップを実行するように、前記取得要求を前記選択されたサーバへ送信するように構成された第2の送信モジュール16と;を備える。
【0088】
従来技術では、対象アクティビティアカウントの複数のアクティビティ情報が1つのサーバに格納されるに過ぎない。多くのユーザが対象アクティビティアカウントのアクティビティ情報を取得するための取得要求を同時にサーバへ送信すると、サーバは、単位時間内に多数の取得要求を受信することがある。単位時間内にサーバによって受信される取得要求の数は、単位時間内にサーバが処理できる取得要求の数を容易に超えてしまう。結果として、サーバは、単位時間内に受信した取得要求のうちの一部の取得要求しか処理できず、他の取得要求は後で処理するしかなく、その結果、サーバが他の取得要求に応答する速度は低下し、応答効率は低下する。
【0089】
しかし、
図4に示す実施の形態では、多くのユーザが対象アクティビティアカウントのアクティビティ情報を取得するための取得要求を同時にサーバへ送信した場合、対象アクティビティアカウントの複数のアクティビティ情報がそれぞれ異なる場所にある複数のサーバに予め格納されているため、この複数のサーバが多くのユーザによって送信される取得要求を分け合うことができる。こうして、単位時間内に各サーバによって受信される取得要求の数を減らすことができ、その結果、単位時間内に各サーバによって受信される取得要求の数を単位時間内にサーバが処理できる取得要求の数よりも少なくすることができる。そのため、各サーバは、それぞれ単位時間内に受信した処理要求全ての処理を完了することができ、その結果、多くのユーザによって送信される取得要求に応答する速度が全体として高まって、応答効率が向上する。
【0090】
前記選択モジュール15は:
サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の、局所的に格納された第1の対応関係を取得するように構成された第1の取得ユニットと;
前記取得要求を受信していない全てのサーバのサーバ識別子を含む記録を、前記第1の対応関係から取得するように構成された第2の取得ユニットと;
前記取得要求を受信していない全てのサーバのサーバ識別子を含む記録の中から前記対象アクティビティ識別子を含む記録を取得するように構成された第3の取得ユニットと;
前記対象アクティビティ識別子を含む各記録からサーバ位置情報を別々に取得するように構成された第4の取得ユニットと;
前記取得されたサーバ位置情報の中から前記端末の前記位置情報に最も近いサーバの位置情報を選択するように構成された選択ユニットと;
前記端末の前記位置情報に最も近いサーバの前記位置情報を含む記録を、前記第1の対応関係から判定するように構成された第1の判定ユニットと;
前記端末の前記位置情報に最も近いサーバの前記位置情報を含む前記記録におけるサーバ識別子に対応するサーバを、前記端末に最も近いサーバとして用いるように構成された第2の判定ユニットと;を備える。
【0091】
更に、本装置は:
対象アクティビティアカウントを作成するように構成された作成モジュールであって、前記対象アクティビティアカウントが、複数のアクティビティ情報と、前記対象アクティビティアカウントの対象アクティビティ識別子とを含む、作成モジュールと;
前記複数のアクティビティ情報を格納するための複数の対象サーバを取得し、前記対象サーバのそれぞれの位置情報を取得するように構成された第2の取得モジュールと;
前記対象アクティビティアカウントの前記アクティビティ情報の数量と前記対象サーバの数とに応じてアクティビティ情報を前記対象サーバのそれぞれに割り当てるように構成された割り当てモジュールと;
前記対象サーバのそれぞれについて、前記対象サーバに割り当てられた前記アクティビティ情報を前記対象サーバの対象データベースの対象データベーステーブルに格納するように構成された第1の格納モジュールと;
前記対象サーバの対象サーバ識別子と、前記対象データベースの対象データベース識別子と、前記対象データベーステーブルの対象データベーステーブル識別子と、前記対象アクティビティアカウントの前記対象アクティビティ識別子と、前記対象サーバの前記位置情報とを、サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の、局所的に格納される第1の対応関係に格納するように構成された第2の格納モジュールと;を更に備える。
【0092】
前記第2の取得モジュールが:
サーバ識別子と、データベース識別子と、情報を格納していないデータベーステーブルの識別子との間の、局所的に格納される第2の対応関係を取得するように構成された第5の取得ユニットと;
前記第2の対応関係に含まれる全てのサーバ識別子を取得するように構成された第6の取得ユニットと;
前記取得された全てのサーバ識別子の中の同一のサーバ識別子に対して削除操作を実行し、前記同一のサーバ識別子のうちの1つのみを保持するように構成された削除ユニットと;
残ったサーバ識別子に対応する全てのサーバを前記対象サーバとして用いるように構成された第3の判定ユニットと;を備える。
【0093】
前記第1の格納モジュールが:
前記対象サーバを含む対象記録を、前記第2の対応関係から取得するように構成された第7の取得ユニットと;
前記対象記録の中のデータベース識別子を対象データベース識別子として用い、前記対象記録の中のデータベーステーブル識別子を対象データベーステーブル識別子として用いるように構成された第4の判定ユニットと;
前記対象サーバに割り当てられた前記アクティビティ情報を、前記対象サーバにおける対象データベースの対象データベーステーブルに格納するように構成された格納ユニットであって、前記対象データベースは対象データベース識別子に対応するデータベースであり、前記対象データベーステーブルは対象データベーステーブル識別子に対応するデータベーステーブルである、格納ユニットと;を備える。
【0094】
上記実施の形態における装置に関し、各モジュールが操作を実行する特定の方式は方法に関する実施の形態において詳細に記載したので、ここでは詳細に説明しない。
【0095】
本明細書を検討し、本明細書に開示された発明を実施すれば、当業者は、本発明の他の実施解決策を容易に想到することができる。本願は、本願のいずれかの変形、使用法、又は適用法を包含するように意図されている。そのような変形、使用法、又は適用法は、本発明の一般的原理に従うものであり、本発明において開示されていない周知の事実又は本技術分野における従来の技術的手段を含む。明細書および実施の形態は例示に過ぎないとみなされ、本発明の真の範囲および趣旨は以下の特許請求の範囲に示されている。
【0096】
当然ながら、本発明は、上記及び付帯する図面に示された正確な構造に限定されるものではなく、本発明の範囲から逸脱することなく本発明に様々な変形および変更を加えることができる。本発明の範囲は、付帯する特許請求の範囲によってのみ限定される。
[第1の局面]
サーバに適用される情報処理方法であって、前記サーバは、サーバグループ内の1つのサーバであり、前記サーバグループ内の各サーバは、異なる場所に配置され、対象アクティビティアカウントのアクティビティ情報を別々に格納する、前記情報処理方法は:
前記対象アクティビティアカウントのアクティビティ情報を取得するために用いられ端末によって送信される取得要求が受信されたか否かを判断するステップであって、前記取得要求は、前記端末の位置情報と、前記対象アクティビティアカウントの対象アクティビティ識別子と、取得することになる前記アクティビティ情報の対象数量とを含む、判断するステップと;
前記取得要求が受信された場合に、局所的に格納された、前記対象アクティビティ識別子に対応する前記対象アクティビティアカウントのアクティビティ情報の数量が、前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上であるか否かを判断するステップと;
前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上である場合に、局所的にアクティビティ情報の前記対象数量を取得し、アクティビティ情報の前記取得した対象数量を前記端末へ送信するステップと;
前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量未満である場合に、前記端末の前記位置情報に応じて、前記サーバグループ内の前記取得要求を受信していないサーバの中から前記端末に最も近いサーバを選択し、前記選択されたサーバが、前記取得要求に従い、前記対象アクティビティアカウントの局所的に格納されたアクティビティ情報の数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上であるか否かを判断する前記ステップを実行するように、前記取得要求を前記選択されたサーバへ送信するステップと;を備える、
サーバに適用される情報処理方法。
[第2の局面]
前記端末の前記位置情報に応じて、前記サーバグループ内の前記取得要求を受信していないサーバの中から前記端末に最も近いサーバを選択する前記ステップが:
サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の、局所的に格納された第1の対応関係を取得するステップと;
前記取得要求を受信していない全てのサーバのサーバ識別子を含む記録を、前記第1の対応関係から取得するステップと;
前記取得要求を受信していない全てのサーバのサーバ識別子を含む記録の中から前記対象アクティビティ識別子を含む記録を取得するステップと;
前記対象アクティビティ識別子を含む各記録からサーバ位置情報を別々に取得するステップと;
前記取得されたサーバ位置情報の中から前記端末の前記位置情報に最も近いサーバの位置情報を選択するステップと;
前記端末の前記位置情報に最も近いサーバの前記位置情報を含む記録を、前記第1の対応関係から判定するステップと;
前記端末の前記位置情報に最も近いサーバの前記位置情報を含む前記記録におけるサーバ識別子に対応するサーバを、前記端末に最も近いサーバとして用いるステップと;を備える、
第1の局面に記載の方法。
[第3の局面]
対象アクティビティアカウントを作成するステップであって、前記対象アクティビティアカウントが、複数のアクティビティ情報と、前記対象アクティビティアカウントの対象アクティビティ識別子とを含む、作成するステップと;
前記複数のアクティビティ情報を格納するための複数の対象サーバを取得し、前記対象サーバのそれぞれの位置情報を取得するステップと;
前記対象アクティビティアカウントの前記アクティビティ情報の数量と前記対象サーバの数とに応じてアクティビティ情報を前記対象サーバのそれぞれに割り当てるステップと;
前記対象サーバのそれぞれについて、前記対象サーバに割り当てられた前記アクティビティ情報を前記対象サーバの対象データベースの対象データベーステーブルに格納し;前記対象サーバの対象サーバ識別子と、前記対象データベースの対象データベース識別子と、前記対象データベーステーブルの対象データベーステーブル識別子と、前記対象アクティビティアカウントの前記対象アクティビティ識別子と、前記対象サーバの前記位置情報とを、サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の、局所的に格納される第1の対応関係に格納するステップと;を更に備える、
第1の局面に記載の方法。
[第4の局面]
前記複数のアクティビティ情報を格納するための複数の対象サーバを取得する前記ステップが:
サーバ識別子と、データベース識別子と、情報を格納していないデータベーステーブルの識別子との間の、局所的に格納される第2の対応関係を取得するステップと;
前記第2の対応関係に含まれる全てのサーバ識別子を取得するステップと;
前記取得された全てのサーバ識別子の中の同一のサーバ識別子に対して削除操作を実行し、前記同一のサーバ識別子のうちの1つのみを保持するステップと;
残ったサーバ識別子に対応する全てのサーバを前記対象サーバとして用いるステップと;を備える、
第3の局面に記載の方法。
[第5の局面]
前記対象サーバに割り当てられた前記アクティビティ情報を前記対象サーバの対象データベースの対象データベーステーブルに格納する前記ステップが:
前記対象サーバを含む対象記録を、前記第2の対応関係から取得するステップと;
前記対象記録の中のデータベース識別子を対象データベース識別子として用い、前記対象記録の中のデータベーステーブル識別子を対象データベーステーブル識別子として用いるステップと;
前記対象サーバに割り当てられた前記アクティビティ情報を、前記対象サーバにおける対象データベースの対象データベーステーブルに格納するステップであって、前記対象データベースは対象データベース識別子に対応するデータベースであり、前記対象データベーステーブルは対象データベーステーブル識別子に対応するデータベーステーブルである、格納するステップと;を備える、
第4の局面に記載の方法。
[第6の局面]
情報処理装置であって:
対象アクティビティアカウントのアクティビティ情報を取得するために用いられ端末によって送信される取得要求が受信されたか否かを判断するように構成された第1の判断モジュールであって、前記取得要求は、前記端末の位置情報と、前記対象アクティビティアカウントの対象アクティビティ識別子と、取得することになる前記アクティビティ情報の対象数量とを含む、第1の判断モジュールと;
前記取得要求が受信された場合に、前記対象アクティビティ識別子に対応する前記対象アクティビティアカウントのアクティビティ情報の、局所的に格納された数量が、前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上であるか否かを判断するように構成された第2の判断モジュールと;
前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上である場合に、局所的にアクティビティ情報の前記対象数量を取得するように構成された第1の取得モジュールと;
アクティビティ情報の前記取得した対象数量を前記端末へ送信するように構成された第1の送信モジュールと;
前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量未満である場合に、前記端末の前記位置情報に応じて、前記サーバグループ内の前記取得要求を受信していないサーバの中から前記端末に最も近いサーバを選択するように構成された選択モジュールと;
前記選択されたサーバが、前記取得要求に応じて、前記対象アクティビティアカウントの、局所的に格納されたアクティビティ情報の数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上であるか否かを判断する前記ステップを実行するように、前記取得要求を前記選択されたサーバへ送信するように構成された第2の送信モジュールと;を備える、
情報処理装置。
[第7の局面]
前記選択モジュールが:
サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の、局所的に格納された第1の対応関係を取得するように構成された第1の取得ユニットと;
前記取得要求を受信していない全てのサーバのサーバ識別子を含む記録を、前記第1の対応関係から取得するように構成された第2の取得ユニットと;
前記取得要求を受信していない全てのサーバのサーバ識別子を含む記録の中から前記対象アクティビティ識別子を含む記録を取得するように構成された第3の取得ユニットと;
前記対象アクティビティ識別子を含む各記録からサーバ位置情報を別々に取得するように構成された第4の取得ユニットと;
前記取得されたサーバ位置情報の中から前記端末の前記位置情報に最も近いサーバの位置情報を選択するように構成された選択ユニットと;
前記端末の前記位置情報に最も近いサーバの前記位置情報を含む記録を、前記第1の対応関係から判定するように構成された第1の判定ユニットと;
前記端末の前記位置情報に最も近いサーバの前記位置情報を含む前記記録におけるサーバ識別子に対応するサーバを、前記端末に最も近いサーバとして用いるように構成された第2の判定ユニットと;を備える、
第6の局面に記載の装置。
[第8の局面]
対象アクティビティアカウントを作成するように構成された作成モジュールであって、前記対象アクティビティアカウントが、複数のアクティビティ情報と、前記対象アクティビティアカウントの対象アクティビティ識別子とを含む、作成モジュールと;
前記複数のアクティビティ情報を格納するための複数の対象サーバを取得し、前記対象サーバのそれぞれの位置情報を取得するように構成された第2の取得モジュールと;
前記対象アクティビティアカウントの前記アクティビティ情報の数量と前記対象サーバの数とに応じてアクティビティ情報を前記対象サーバのそれぞれに割り当てるように構成された割り当てモジュールと;
前記対象サーバのそれぞれについて、前記対象サーバに割り当てられた前記アクティビティ情報を前記対象サーバの対象データベースの対象データベーステーブルに格納するように構成された第1の格納モジュールと;
前記対象サーバの対象サーバ識別子と、前記対象データベースの対象データベース識別子と、前記対象データベーステーブルの対象データベーステーブル識別子と、前記対象アクティビティアカウントの前記対象アクティビティ識別子と、前記対象サーバの前記位置情報とを、サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の、局所的に格納される第1の対応関係に格納するように構成された第2の格納モジュールと;を更に備える、
第6の局面に記載の装置。
[第9の局面]
前記第2の取得モジュールが:
サーバ識別子と、データベース識別子と、情報を格納していないデータベーステーブルの識別子との間の、局所的に格納される第2の対応関係を取得するように構成された第5の取得ユニットと;
前記第2の対応関係に含まれる全てのサーバ識別子を取得するように構成された第6の取得ユニットと;
前記取得された全てのサーバ識別子の中の同一のサーバ識別子に対して削除操作を実行し、前記同一のサーバ識別子のうちの1つのみを保持するように構成された削除ユニットと;
残ったサーバ識別子に対応する全てのサーバを前記対象サーバとして用いるように構成された第3の判定ユニットと;を備える、
第8の局面に記載の装置。
[第10の局面]
前記第1の格納モジュールが:
前記対象サーバを含む対象記録を、前記第2の対応関係から取得するように構成された第7の取得ユニットと;
前記対象記録の中のデータベース識別子を対象データベース識別子として用い、前記対象記録の中のデータベーステーブル識別子を対象データベーステーブル識別子として用いるように構成された第4の判定ユニットと;
前記対象サーバに割り当てられた前記アクティビティ情報を、前記対象サーバにおける対象データベースの対象データベーステーブルに格納するように構成された格納ユニットであって、前記対象データベースは対象データベース識別子に対応するデータベースであり、前記対象データベーステーブルは対象データベーステーブル識別子に対応するデータベーステーブルである、格納ユニットと;を備える、
第9の局面に記載の装置。