JP6734303B2 - 情報処理方法及び装置 - Google Patents

情報処理方法及び装置 Download PDF

Info

Publication number
JP6734303B2
JP6734303B2 JP2017564122A JP2017564122A JP6734303B2 JP 6734303 B2 JP6734303 B2 JP 6734303B2 JP 2017564122 A JP2017564122 A JP 2017564122A JP 2017564122 A JP2017564122 A JP 2017564122A JP 6734303 B2 JP6734303 B2 JP 6734303B2
Authority
JP
Japan
Prior art keywords
target
server
activity
identifier
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017564122A
Other languages
English (en)
Other versions
JP2018520431A (ja
JP2018520431A5 (ja
Inventor
ユー,ジュンザ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2018520431A publication Critical patent/JP2018520431A/ja
Publication of JP2018520431A5 publication Critical patent/JP2018520431A5/ja
Application granted granted Critical
Publication of JP6734303B2 publication Critical patent/JP6734303B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Description

本願は、2015年6月8日に提出され「情報処理方法及び装置」と題された中国特許出願第2015103091806号の優先権を主張し、上記中国特許出願は参照によってその全体が本願に組み込まれる。
本発明は、インターネット技術の分野に関し、特に、情報処理方法及び装置に関する。
インターネット技術の急速な発展に伴い、デジタル電子方式での相互作用(インタラクション)が益々普及している。相互作用においては、多くのユーザが同じアカウントに同時にアクセスする可能性があり、アクセスされたアカウントは、人気のアカウントとなる。
例えば、販売業者は、サーバにおいて、複数のアクティビティ情報を含むアクティビティアカウントを作成する。アクティビティのアクティビティ情報を取得する必要がある場合、ユーザは、そのアクティビティアカウントのアクティビティ情報を取得するために用いられる要求を、端末を通じてサーバへ送信することができる。サーバは、アクティビティアカウントから1件のアクティビティ情報を取得し、そのアクティビティ情報を端末へ送信する。
マーケティングビジネスにおいて紅包(赤い紙で包んだご祝儀等)を配布するアクティビティを例に取ると、販売業者は、サーバにおいて、紅包を配布するためのアクティビティアカウントを設け、アクティビティアカウントは、配布予定の10,000個の紅包を含み、各ユーザは、紅包を1個しか取得できない。アクティビティアカウントにおいて紅包を取得する必要がある場合、ユーザは、アクティビティアカウントの紅包を取得するために用いられる要求を、端末を通じてサーバへ送信することができる。サーバは、アクティビティアカウントから1個の紅包を取得し、その紅包を端末へ送信する。
しかし、多くのユーザがアクティビティアカウントのアクティビティ情報を取得するための要求を同時にサーバへ送信した場合、単位時間内にサーバが受信する要求の数が、単位時間内にサーバが処理できる要求の数よりも多いと、一部のユーザによって送信された要求にサーバが応答する速度が低下するか、場合によっては一部のユーザによって送信された要求にサーバが応答できなくなり、それにより応答効率が低下する。
従来技術におけるこの問題を解決するため、本発明は情報処理方法及び装置を提供する。
本願の実施の形態の第1の態様により、情報処理方法が提供され、本方法はサーバに適用され、前記サーバは、サーバグループ内の1つのサーバであり、前記サーバグループ内の各サーバは、異なる場所に配置され、対象アクティビティアカウントのアクティビティ情報を別々に格納し、本方法は:
前記対象アクティビティアカウントのアクティビティ情報を取得するために用いられ端末によって送信される取得要求が受信されたか否かを判断するステップであって、前記取得要求は、前記端末の位置情報と、前記対象アクティビティアカウントの対象アクティビティ識別子と、取得することになる前記アクティビティ情報の対象数量とを含む、判断するステップと;
前記取得要求が受信された場合に、局所的に格納された、前記対象アクティビティ識別子に対応する前記対象アクティビティアカウントのアクティビティ情報の数量が、前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量に等しい又はそれより多いか、否かを判断するステップと;
前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量に等しい又はそれより多い場合に、局所的にアクティビティ情報の前記対象数量を取得し、アクティビティ情報の前記取得した対象数量を前記端末へ送信するステップと;
前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量未満である場合に、前記端末の前記位置情報に応じて、前記サーバグループ内の前記取得要求を受信していないサーバの中から前記端末に最も近いサーバを選択し、前記選択されたサーバが、前記取得要求に従い、前記対象アクティビティアカウントの局所的に格納されたアクティビティ情報の数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量に等しい又はそれより多いか、否かを判断する前記ステップを実行するように、前記取得要求を前記選択されたサーバへ送信するステップと;を備える。
前記端末の前記位置情報に応じて、前記サーバグループ内の前記取得要求を受信していないサーバの中から前記端末に最も近いサーバを選択する前記ステップが:
サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の、局所的に格納された第1の対応関係を取得するステップと;
前記取得要求を受信していない全てのサーバのサーバ識別子を含む記録を、前記第1の対応関係から取得するステップと;
前記取得要求を受信していない全てのサーバのサーバ識別子を含む記録の中から前記対象アクティビティ識別子を含む記録を取得するステップと;
前記対象アクティビティ識別子を含む各記録からサーバ位置情報を別々に取得するステップと;
前記取得されたサーバ位置情報の中から前記端末の前記位置情報に最も近いサーバの位置情報を選択するステップと;
前記端末の前記位置情報に最も近いサーバの前記位置情報を含む記録を、前記第1の対応関係から判定するステップと;
前記端末の前記位置情報に最も近いサーバの前記位置情報を含む前記記録におけるサーバ識別子に対応するサーバを、前記端末に最も近いサーバとして用いるステップと;を備える。
更に、本方法は:
対象アクティビティアカウントを作成するステップであって、前記対象アクティビティアカウントが、複数のアクティビティ情報と、前記対象アクティビティアカウントの対象アクティビティ識別子とを含む、作成するステップと;
前記複数のアクティビティ情報を格納するための複数の対象サーバを取得し、前記対象サーバのそれぞれの位置情報を取得するステップと;
前記対象アクティビティアカウントの前記アクティビティ情報の数量と前記対象サーバの数とに応じてアクティビティ情報を前記対象サーバのそれぞれに割り当てるステップと;
前記対象サーバのそれぞれについて、前記対象サーバに割り当てられた前記アクティビティ情報を前記対象サーバの対象データベースの対象データベーステーブルに格納し;前記対象サーバの対象サーバ識別子と、前記対象データベースの対象データベース識別子と、前記対象データベーステーブルの対象データベーステーブル識別子と、前記対象アクティビティアカウントの前記対象アクティビティ識別子と、前記対象サーバの前記位置情報とを、サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の、局所的に格納される第1の対応関係に格納するステップと;を更に備える。
前記複数のアクティビティ情報を格納するための複数の対象サーバを取得する前記ステップが:
サーバ識別子と、データベース識別子と、情報を格納していないデータベーステーブルの識別子との間の、局所的に格納される第2の対応関係を取得するステップと;
前記第2の対応関係に含まれる全てのサーバ識別子を取得するステップと;
前記取得された全てのサーバ識別子の中の同一のサーバ識別子に対して削除操作を実行し、前記同一のサーバ識別子のうちの1つのみを保持するステップと;
残ったサーバ識別子に対応する全てのサーバを前記対象サーバとして用いるステップと;を備える。
前記対象サーバに割り当てられた前記アクティビティ情報を前記対象サーバの対象データベースの対象データベーステーブルに格納する前記ステップが:
前記対象サーバを含む対象記録を、前記第2の対応関係から取得するステップと;
前記対象記録の中のデータベース識別子を対象データベース識別子として用い、前記対象記録の中のデータベーステーブル識別子を対象データベーステーブル識別子として用いるステップと;
前記対象サーバに割り当てられた前記アクティビティ情報を、前記対象サーバにおける対象データベースの対象データベーステーブルに格納するステップであって、前記対象データベースは対象データベース識別子に対応するデータベースであり、前記対象データベーステーブルは対象データベーステーブル識別子に対応するデータベーステーブルである、格納するステップと;を備える。
本願の実施の形態の第2の態様により、情報処理装置が提供され、本装置は:
対象アクティビティアカウントのアクティビティ情報を取得するために用いられ端末によって送信される取得要求が受信されたか否かを判断するように構成された第1の判断モジュールであって、前記取得要求は、前記端末の位置情報と、前記対象アクティビティアカウントの対象アクティビティ識別子と、取得することになる前記アクティビティ情報の対象数量とを含む、第1の判断モジュールと;
前記取得要求が受信された場合に、前記対象アクティビティ識別子に対応する前記対象アクティビティアカウントのアクティビティ情報の、局所的に格納された数量が、前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量に等しい又はそれより多いか、否かを判断するように構成された第2の判断モジュールと;
前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量に等しい又はそれより多い場合に、局所的にアクティビティ情報の前記対象数量を取得するように構成された第1の取得モジュールと;
アクティビティ情報の前記取得した対象数量を前記端末へ送信するように構成された第1の送信モジュールと;
前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量未満である場合に、前記端末の前記位置情報に応じて、前記サーバグループ内の前記取得要求を受信していないサーバの中から前記端末に最も近いサーバを選択するように構成された選択モジュールと;
前記選択されたサーバが、前記取得要求に応じて、前記対象アクティビティアカウントの、局所的に格納されたアクティビティ情報の数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量に等しい又はそれより多いか、否かを判断する前記ステップを実行するように、前記取得要求を前記選択されたサーバへ送信するように構成された第2の送信モジュールと;を備える。
前記選択モジュールが:
サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の、局所的に格納された第1の対応関係を取得するように構成された第1の取得ユニットと;
前記取得要求を受信していない全てのサーバのサーバ識別子を含む記録を、前記第1の対応関係から取得するように構成された第2の取得ユニットと;
前記取得要求を受信していない全てのサーバのサーバ識別子を含む記録の中から前記対象アクティビティ識別子を含む記録を取得するように構成された第3の取得ユニットと;
前記対象アクティビティ識別子を含む各記録からサーバ位置情報を別々に取得するように構成された第4の取得ユニットと;
前記取得されたサーバ位置情報の中から前記端末の前記位置情報に最も近いサーバの位置情報を選択するように構成された選択ユニットと;
前記端末の前記位置情報に最も近いサーバの前記位置情報を含む記録を、前記第1の対応関係から判定するように構成された第1の判定ユニットと;
前記端末の前記位置情報に最も近いサーバの前記位置情報を含む前記記録におけるサーバ識別子に対応するサーバを、前記端末に最も近いサーバとして用いるように構成された第2の判定ユニットと;を備える。
更に、本装置は:
対象アクティビティアカウントを作成するように構成された作成モジュールであって、前記対象アクティビティアカウントが、複数のアクティビティ情報と、前記対象アクティビティアカウントの対象アクティビティ識別子とを含む、作成モジュールと;
前記複数のアクティビティ情報を格納するための複数の対象サーバを取得し、前記対象サーバのそれぞれの位置情報を取得するように構成された第2の取得モジュールと;
前記対象アクティビティアカウントの前記アクティビティ情報の数量と前記対象サーバの数とに応じてアクティビティ情報を前記対象サーバのそれぞれに割り当てるように構成された割り当てモジュールと;
前記対象サーバのそれぞれについて、前記対象サーバに割り当てられた前記アクティビティ情報を前記対象サーバの対象データベースの対象データベーステーブルに格納するように構成された第1の格納モジュールと;
前記対象サーバの対象サーバ識別子と、前記対象データベースの対象データベース識別子と、前記対象データベーステーブルの対象データベーステーブル識別子と、前記対象アクティビティアカウントの前記対象アクティビティ識別子と、前記対象サーバの前記位置情報とを、サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の、局所的に格納される第1の対応関係に格納するように構成された第2の格納モジュールと;を更に備える。
前記第2の取得モジュールが:
サーバ識別子と、データベース識別子と、情報を格納していないデータベーステーブルの識別子との間の、局所的に格納される第2の対応関係を取得するように構成された第5の取得ユニットと;
前記第2の対応関係に含まれる全てのサーバ識別子を取得するように構成された第6の取得ユニットと;
前記取得された全てのサーバ識別子の中の同一のサーバ識別子に対して削除操作を実行し、前記同一のサーバ識別子のうちの1つのみを保持するように構成された削除ユニットと;
残ったサーバ識別子に対応する全てのサーバを前記対象サーバとして用いるように構成された第3の判定ユニットと;を備える。
前記第1の格納モジュールが:
前記対象サーバを含む対象記録を、前記第2の対応関係から取得するように構成された第7の取得ユニットと;
前記対象記録の中のデータベース識別子を対象データベース識別子として用い、前記対象記録の中のデータベーステーブル識別子を対象データベーステーブル識別子として用いるように構成された第4の判定ユニットと;
前記対象サーバに割り当てられた前記アクティビティ情報を、前記対象サーバにおける対象データベースの対象データベーステーブルに格納するように構成された格納ユニットであって、前記対象データベースは対象データベース識別子に対応するデータベースであり、前記対象データベーステーブルは対象データベーステーブル識別子に対応するデータベーステーブルである、格納ユニットと;を備える。
本発明の実施の形態において提供される技術的解決策は、以下の有益な効果を含むことができる。従来技術では、対象アクティビティアカウントの複数のアクティビティ情報が1つのサーバに格納されるに過ぎない。多くのユーザが対象アクティビティアカウントのアクティビティ情報を取得するための取得要求を同時にサーバへ送信すると、サーバは、単位時間内に多数の取得要求を受信することがある。単位時間内にサーバによって受信される取得要求の数は、単位時間内にサーバが処理できる取得要求の数を容易に超えてしまう。結果として、サーバは、単位時間内に受信した取得要求のうちの一部の取得要求しか処理できず、他の取得要求は後で処理するしかなく、その結果、サーバが他の取得要求に応答する速度は低下し、応答効率は低下する。
しかし、本発明の図面において、多くのユーザが対象アクティビティアカウントのアクティビティ情報を取得するための取得要求を同時にサーバへ送信した場合、対象アクティビティアカウントの複数のアクティビティ情報が、それぞれ異なる場所にある複数のサーバに予め格納されているため、この複数のサーバが多くのユーザによって送信される取得要求を分け合うことができる。こうして、単位時間内に各サーバによって受信される取得要求の数を減らすことができ、その結果、単位時間内に各サーバによって受信される取得要求の数を単位時間内にサーバが処理できる取得要求の数よりも少なくすることができる。そのため、各サーバは、それぞれ単位時間内に受信した処理要求全ての処理を完了することができ、その結果、多くのユーザによって送信される取得要求に応答する速度が全体として高まって、応答効率が向上する。
当然ながら、上述の一般的な説明及び以下の詳細な説明は単なる例示及び説明用であり、本発明を限定するものではない。
本明細書に付帯する図面は、本明細書に組み込まれ、その一部を構成する。図面は、本発明と一致する実施の形態を示し、本明細書と共に本発明の原理を説明するのに用いられる。
図1は、例示の実施の形態による情報処理方法のフローチャートである。 図2は、例示の実施の形態による情報処理方法のフローチャートである。 図3は、例示の実施の形態によるシナリオの概略図である。 図4は、例示の実施の形態による情報処理装置のブロック図である。
例示の実施の形態をここで詳細に説明し、その例を付帯する図面に示す。付帯する図面に関する以下の説明において、異なる図面における同一の番号は、別段の指示がない限り同一又は類似の要素を示す。以下の例示の実施の形態に記載する実施は、本発明と一致する全ての実施の形態を表すものではない。それどころか、それらは、付帯する請求項に詳細に記載されている本発明の、一部の態様に一致する装置及び方法の例に過ぎない。
図1は、例示の実施の形態による情報処理方法のフローチャートである。本方法は、サーバに適用され、前記サーバは、サーバグループ内の1つのサーバである。前記サーバグループ内の各サーバは、異なる場所に配置され、対象アクティビティアカウントのアクティビティ情報を別々に格納する。図1に示すように、本方法は、以下のステップを含む。
ステップS101では、前記対象アクティビティアカウントのアクティビティ情報を取得するために用いられ端末によって送信される取得要求が、受信されたか否かが判断される。
前記取得要求は、前記端末の位置情報と、前記対象アクティビティアカウントの対象アクティビティ識別子と、取得することになる前記アクティビティ情報の対象数量とを含む。
ステップS102では、前記取得要求が受信された場合に、局所的に格納された、前記対象アクティビティ識別子に対応する前記対象アクティビティアカウントのアクティビティ情報の数量が、前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上であるか否かが判断される。
ステップS103では、前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上である場合に、前記取得要求を受信したサーバがアクティビティ情報の前記対象数量を局所的に取得し、アクティビティ情報の前記取得した対象数量を前記端末へ送信する。
ステップS104では、前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量未満である場合に、前記サーバグループ内の前記取得要求を受信していないサーバの中から前記端末に最も近いサーバが選択され、前記取得要求が前記選択されたサーバへ送信される。
ステップS105では、前記選択されたサーバが、前記取得要求を受信し、前記対象アクティビティアカウントの局所的に格納されたアクティビティ情報の数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上であるか否かを判断するステップS102を実行する。
選択されたサーバが取得要求を受信すると、選択されたサーバは即座に取得要求を受信したサーバとして機能する。
従来技術では、対象アクティビティアカウントの複数のアクティビティ情報が1つのサーバに格納されるに過ぎない。多くのユーザが対象アクティビティアカウントのアクティビティ情報を取得するための取得要求を同時にサーバへ送信すると、サーバは、単位時間内に多数の取得要求を受信することがある。単位時間内にサーバによって受信される取得要求の数は、単位時間内にサーバが処理できる取得要求の数を容易に超えてしまう。その結果、サーバは、単位時間内に受信した取得要求のうちの一部の取得要求しか処理できず、他の取得要求は後で処理するしかなく、その結果、サーバが他の取得要求に応答する速度は低下し、応答効率は低下する。
しかし、図1に示す実施の形態では、多くのユーザが対象アクティビティアカウントのアクティビティ情報を取得するための取得要求を同時にサーバへ送信した場合、対象アクティビティアカウントの複数のアクティビティ情報が、それぞれ異なる場所にある複数のサーバに予め格納されているため、この複数のサーバは、多くのユーザから送信された取得要求を分け合うことができる。こうして、単位時間内に各サーバが受信する取得要求の数を減らすことができ、その結果、単位時間内に各サーバによって受信される取得要求の数を単位時間内にサーバが処理できる取得要求の数よりも少なくすることができる。これにより、各サーバは、それぞれ単位時間内に受信した処理要求全ての処理を完了することができ、その結果、多くのユーザから送信される取得要求に応答する速度が全体として高まって、応答効率が向上する。
例えば、従来技術では、サーバは毎秒200件の取得要求を処理できる。それぞれの場所にいる10,000人のユーザ全員が対象アクティビティアカウントのアクティビティ情報を取得する必要がある場合、各ユーザは、1件の取得要求をサーバへ別々に送信する。サーバは、単位時間内に10,000件の取得要求を受信し、これらの処理要求の処理を完了するのに50秒を必要とする。そのため、全体として応答時間が長くなり、応答効率が低下する。
しかし、本発明の図1に示す実施の形態では、異なる場所に位置する50台のサーバ全てが対象アクティビティアカウントのアクティビティ情報を格納し、各サーバは、取得要求を1秒当たり200件処理できる。異なる場所にいる10,000人のユーザ全員が対象アクティビティアカウントのアクティビティ情報を取得する必要がある場合、10,000人のユーザによって一斉に送信される10,000件の取得要求を50台のサーバが分け合う。例えば、各サーバが、200件の取得要求を受信する。こうして、各サーバは、それぞれ受信した処理要求の処理をわずか1秒で完了することができ、そのため、全体として応答時間が短縮し、応答効率が高まる。
図2は、例示の実施の形態による情報処理方法のフローチャートである。図2に示すように、この方法は以下のステップを含む。
ステップS201において、対象アクティビティに対応する対象アクティビティアカウントを作成する。
対象アクティビティアカウントは、複数のアクティビティ情報と、対象アクティビティアカウントの対象アクティビティ識別子とを含み、対象アクティビティ識別子は、対象アクティビティの名前及び/又は番号などであってもよい。
対象アクティビティは、紅包を手に入れるアクティビティ、商品を買うアクティビティ、ボーナスポイントを獲得するアクティビティなどであってもよい。
例えば、対象アクティビティが紅包を手に入れるアクティビティである場合、各アクティビティ情報は、ある金額が入った紅包、例えば、5元の紅包や10元の紅包であってもよい。対象アクティビティが商品を買うアクティビティである場合、各アクティビティ情報は、購入が制限される商品数、例えば、1個、2個などであってもよい。
ステップS202では、前記複数のアクティビティ情報を格納するための複数の対象サーバが取得され、前記対象サーバのそれぞれの位置情報が取得される。
技術者は、異なる場所にサーバを予め配備する。これらのサーバは、相互にデータ通信を実行でき、それぞれデータを格納する、例えば、アクティビティ情報などを格納するためのデータベースとデータベーステーブルを含む。これらのサーバは全て、共同で1つのクライアントターミナルに対応する。ユーザがクライアントターミナルに対応するバックグラウンドサーバにログオンする必要がある場合、クライアントターミナルは、ログイン用にユーザに最も近いサーバを選択する。
例えば、技術者がペキン、シャンハイ、コワンチョウ、シーニン、インチョワン、クンミン、及びハルビンの各都市に予めサーバを配備すると、存在するサーバは合計で7台になる。7台のサーバは、共同でクライアントターミナル「Tmall」に対応する。ユーザは、クライアントターミナル「Tmall」を自身の携帯電話にインストールできる。ユーザがペキンにいて、クライアントターミナル「Tmall」のバックグラウンドサーバにログインする必要がある場合、クライアントターミナル「Tmall」は、ユーザの携帯電話に最も近いサーバをログイン用に選択できる、即ち、ペキンに位置するサーバをログイン用に選択することができる。
具体的に、このステップは、以下の工程を用いることにより実施でき、工程には以下が含まれる。
11)サーバ識別子と、データベース識別子と、情報を格納していないデータベーステーブルの識別子との間の局所的に格納される第2の対応関係を取得する。
配備されたサーバは相互にデータ通信を実行する。したがって、配備された任意のサーバについて、サーバは、そのサーバの局所的構成状況を認識しているだけでなく、他のサーバ全ての構成状況、即ち、各サーバのデータベースにおけるデータベーステーブルがデータを格納しているか否かも認識している。サーバは、サーバの局所的構成状況及び他のサーバ全ての構成状況に応じて、サーバ識別子と、データベース識別子と、情報を格納していないデータベーステーブルの識別子との間の第2の対応関係をサーバにおいて局所的に確立することができる。第2の対応関係における各記録の中の情報を格納していないデータベーステーブルの識別子に対応するデータベーステーブルは、データを格納していない。
サーバ識別子は、サーバの名前及び/又は番号などである。データベース識別子は、データベースの名前及び/又は番号などである。データベーステーブルの識別子は、データベーステーブルの名前及び/又は番号などである。
ただし、第2の対応関係における記録の中の情報を格納していないデータベーステーブルの識別子に対応するデータベースが1件のデータを格納した後、その記録は第2の対応関係から削除される。
データがデータベーステーブルから削除されてデータベーステーブルを空にする場合、データベーステーブルのデータベーステーブル識別子が取得され、データベーステーブルが属するデータベースのデータベース識別子が取得され、データベースが属するサーバのサーバ識別子が取得される。このサーバ識別子、データベース識別子、及びデータベーステーブル識別子は、第2の対応関係に格納される。
12)第2の対応関係に含まれる全てのサーバ識別子を取得する。
第2の対応関係における各記録が取得され、各記録におけるサーバ識別子が別々に取得されて、第2の対応関係に含まれる全てのサーバ識別子が取得される。
13)取得された全てのサーバ識別子の中の同一のサーバ識別子に対して削除操作を実行し、同一のサーバ識別子のうちの1つのみを残す。
全ての取得されたサーバ識別子の中の複数のサーバ識別子はおそらく同一のサーバ識別子である。したがって、同一のサーバ識別子に対して削除操作を実行する必要があり、同一のサーバ識別子のうちの1つのみが残される。残ったサーバ識別子のうち、どの2つをとってもサーバ識別子は異なる。
14)残された各サーバ識別子に対応するサーバを対象サーバとして用いる。
ステップS203では、前記対象アクティビティアカウントの前記アクティビティ情報の数量と前記対象サーバの数とに応じてアクティビティ情報が前記対象サーバのそれぞれに割り当てられる。
アクティビティ情報は、アクティビティ情報の数量と対象サーバの数とに応じて対象サーバのそれぞれに均等に割り当てることができる。そのため、どの2台の対象サーバをとっても、割り当てられるアクティビティ情報の数量は、同じ又はほとんど差がなく、大きな差を生じさせることは不可能である。
例えば、10台の対象サーバと1000件のアクティビティ情報が存在すると仮定すると、アクティビティ情報を対象サーバのそれぞれに均等に割り当てるため、100件のアクティビティ情報が対象サーバのそれぞれに割り当てられる。即ち、どの2台の対象サーバをとっても、割り当てられる対象情報の数量は同じである。
別の例では、10台の対象サーバと998件のアクティビティ情報が存在すると仮定すると、2台の対象サーバが10台の対象サーバから選択されて99件のアクティビティ情報がその2台の対象サーバのそれぞれに割り当てられ、100件の対象情報が他の8台の対象サーバのそれぞれに割り当てられる。そのため、どの2台の対象サーバをとっても、割り当てられる対象情報の数量は同じ又は1件差である。
異なる地域のユーザのアクティビティの程度を、過去の経験から分析することができ、異なる数量のアクティビティ情報が異なる場所にあるサーバに割り当てられる。ユーザのアクティビティの程度が高い地域に配備されたサーバにはより多くのアクティビティ情報が割り当てられ、ユーザのアクティビティの程度が低い地域に配備されたサーバには、より少ないアクティビティ情報が割り当てられる。
例えば、7台の対象サーバが存在してペキン、シャンハイ、コワンチョウ、シーニン、インチョワン、クンミン、及びハルビンに別々に位置しており、ペキン、シャンハイ、及びコワンチョウのユーザはアクティビティの程度が高く、シーニン、インチョワン、クンミン、及びハルビンのユーザはアクティビティの程度が低いとする。ペキン、シャンハイ、及びコワンチョウのサーバにはより多くのアクティビティ情報を割り当て、シーニン、インチョワン、クンミン、及びハルビンのサーバには、より少ないアクティビティ情報を割り当てることができ、それによりアクティビティ情報の合理的な割り当てが実現される。
ステップS204では、あらゆる対象サーバについて、前記対象サーバに割り当てられた前記アクティビティ情報が前記対象サーバの対象データベースの対象データベーステーブルに格納される。上記動作は、他の対象サーバのそれぞれについて実行される。
具体的に、前記対象サーバの対象サーバ識別子を含む対象記録が、前記第2の対応関係から取得される。前記対象記録の中のデータベース識別子が対象データベース識別子として用いられ、前記対象記録の中のデータベーステーブル識別子が対象データベーステーブル識別子として用いられる。前記対象サーバに割り当てられた前記アクティビティ情報が、前記対象サーバにおける対象データベースの対象データベーステーブルに格納され、前記対象データベースは対象データベース識別子に対応するデータベースであり、前記対象データベーステーブルは対象データベーステーブル識別子に対応するデータベーステーブルである。
更に、第2の対応関係から対象記録が削除される。対象サーバの対象サーバ識別子、対象データベースの対象データベース識別子、対象データベーステーブルの対象データベーステーブル識別子、対象アクティビティアカウントの対象アクティビティ識別子、及び対象サーバの位置情報が、局所的に格納される、サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の第1の対応関係に格納される。
上述の操作が、他の対象サーバのそれぞれに対して実行される。
更に、格納が終了した後、図3を参照すると、全ての対象サーバがサーバグループを構成する。サーバグループ内の各サーバは、インターネットに接続することができる。そのため、サーバグループ内の対象サーバは、互いに通信することができる。図3において、A1乃至Anは対象サーバを表す。
こうして、ステップS201乃至S204の工程を通じ、対象アクティビティアカウントの複数のアクティビティ情報が異なる場所にある複数の対象サーバへ別々に格納される。同時に、対象アクティビティが速やかに有効になされる。その後、ユーザは、対象アクティビティアカウントのアクティビティ情報を取得できる。ユーザが対象アクティビティアカウントのアクティビティ情報を取得する必要がある場合、対象サーバは、ユーザによって取得することになるアクティビティ情報を、以下のステップS205乃至S209の工程を通じてユーザに配信できる。
ステップS205において、サーバグループ内の各サーバは、対象アクティビティアカウントのアクティビティ情報を取得するために用いられ且つ端末によって送信される取得要求がそれぞれ受信されたか否かを判断する。
対象アクティビティが有効になされた後、配備された各対象サーバは、ステップS205の操作を実行する。対象サーバが取得要求を受信した場合、対象サーバは、ステップS206乃至S209の工程を通じ、取得要求によって取得することになるアクティビティ情報を取得し、取得されたアクティビティ情報を端末へ送信する。
取得要求は、端末の位置情報と、対象アクティビティアカウントの対象アクティビティ識別子と、取得することになるアクティビティ情報の対象数量とを伴っている。サーバグループ内の各サーバは異なる場所に位置して、対象アクティビティアカウントのアクティビティ情報を別々に格納している。
端末は、ユーザが用いる携帯電話、タブレットコンピュータ、ノートブックコンピュータなどのいずれであってもよい。
ユーザは、対象アクティビティのアクティビティページを端末で閲覧し、次いで、クリック又はタッチすることで対象アクティビティアカウントのアクティビティ情報を取得するために用いられる取得要求をサーバへ送信することができる。サーバは、取得要求を受信し、ステップS206乃至S209の工程を通じて処理を実行する。
例えば、対象アクティビティは紅包の配布であって、1件のアクティビティ情報は1個の紅包である。端末に表示される対象アクティビティページは、少なくとも紅包取得ボタンと紅包取得数量選択ボックスとを含む。ユーザは、紅包取得数量選択ボックスで取得することになる紅包の対象数量を選択し、次いで、取得ボタンをクリックする。ユーザによる取得ボタンをクリックするクリック操作を受信した後、端末は、ユーザにより紅包取得数量選択ボックスで選択された取得することになる紅包の対象数量を取得し、対象数量、端末の位置情報、及び対象アクティビティアカウントの対象アクティビティ識別子に応じて取得要求を生成し、取得要求をサーバへ送信する。
端末により端末の位置情報を取得する方式は、従来技術における任意の方式であってよく、本発明では限定されない。
サーバグループ内の1台のサーバが取得要求を受信すると、ステップS206において、取得要求を受信したサーバは、対象アクティビティ識別子に対応する対象アクティビティアカウントの局所的に格納されたアクティビティ情報の数量が、取得要求によって取得することになるアクティビティ情報の対象数量以上であるか否かを判断する。
具体的には、データベース識別子とデータベーステーブル識別子とが、端末の位置情報に最も近いサーバの位置情報を含む記録から取得される。取得されたデータベース識別子に対応するデータベースにおけるデータベーステーブルは、取得されたサーバから判定され、ここで、データベーステーブルは、取得されたデータベーステーブル識別子に対応するデータベーステーブルである。取得されたデータベーステーブルに格納されたアクティビティ情報の数量が取得される。取得されたデータベーステーブルに格納されたアクティビティ情報の数量が、取得要求によって取得することになるアクティビティ情報数量以上であるか否かが判断される。
局所的に格納されたアクティビティ情報の数量が取得要求によって取得することになるアクティビティ情報の対象数量以上である場合、ステップS207において、取得要求を受信したサーバは、局所的にアクティビティ情報の対象数量を取得し、取得した対象数量のアクティビティ情報を端末へ送信する。
ステップS207における「局所的にアクティビティ情報の対象数量を取得し、取得した対象数量のアクティビティ情報を端末へ送信するステップ」の実行対象は、ステップS206における「対象アクティビティアカウントの局所的に格納されたアクティビティ情報の数量が、取得要求によって取得することになるアクティビティ情報の対象数量以上であるか否かを判断するステップ」の実行対象と同じである。
取得されたデータベーステーブルから対象数量のアクティビティ情報が取得され、次いで、端末へ送信される。このとき取得されたデータベーステーブルにアクティビティ情報が残っていない場合、即ち、このときデータベーステーブルが空である場合、取得されたデータベーステーブルのデータベーステーブル識別子、データベーステーブルが属するデータベースのデータベース識別子、及びこのデータベーステーブルを有するデータベースが属するサーバのサーバ識別子が、記録を構成する。記録は第2の対応関係に格納される。データベーステーブルの取得されたデータベーステーブル識別子を含む記録は、第1の対応関係から削除される。
例えば、1件のアクティビティ情報は1個の紅包であり、取得要求により取得することになる紅包の数量は5個であり、取得要求を受信したサーバに格納された紅包の数量は10個である。このとき、取得要求を受信したサーバに格納された紅包の数量10個は、取得要求によって取得することになる紅包の数量5個よりも大きい。そのため、取得要求を受信したサーバに格納された紅包の数量は、取得要求によって取得することになる紅包の数量を満たすことができると判定される。取得要求を受信したサーバに格納された10個の紅包から5個の紅包を選択することができ、端末へ送信される。このとき、取得要求を受信したサーバに残って格納されている紅包は5個だけである
局所的に格納されたアクティビティ情報の数量が取得要求によって取得することになるアクティビティ情報の対象数量未満である場合、ステップS208において、取得要求を受信したサーバは、端末の位置情報に応じて、サーバグループ内の取得要求を受信していないサーバの中から端末に最も近いサーバを選択して取得要求を選択されたサーバへ送信する。
こうして、選択されたサーバは、取得要求に応じ、ステップS206における、「対象アクティビティアカウントの局所的に格納されたアクティビティ情報の数量が、取得要求によって取得することになるアクティビティ情報の対象数量以上であるか否かを判断するステップ」を実行する。
ステップS208における「サーバグループ内の取得要求を受信していないサーバの中から端末に最も近いサーバを選択して取得要求を選択されたサーバへ送信するステップ」の実行対象は、ステップS206における「対象アクティビティアカウントの局所的に格納されたアクティビティ情報の数量が、取得要求によって取得することになるアクティビティ情報の対象数量以上であるか否かを判断するステップ」の実行対象と同じである。
サーバグループは複数のサーバを含む。これらのサーバは異なる場所に別々に配置され、いずれも対象アクティビティアカウントのアクティビティ情報を格納する。
本発明の実施の形態では、局所的に格納されたアクティビティ情報の数量が、取得要求によって取得することになるアクティビティ情報の対象数量未満である場合、取得要求を受信したサーバに格納された紅包の数量が取得要求によって取得することになる対象数量の紅包に対する需要を満たすことができないと判定される。加えて、通信リンクの長さに起因する通信遅延を最大限短縮するため、サーバグループ内の取得要求を受信していないサーバの中から端末に最も近いサーバを選択することが必要である。次いで、取得要求が選択されたサーバへ送信され、その結果、選択されたサーバが取得要求を受信し、次いで、対象アクティビティアカウントの局所的に格納されたアクティビティ情報の数量が、取得要求によって取得することになるアクティビティ情報の対象数量以上であるか否かを判断する。局所的に格納されたアクティビティ情報の数量が、取得要求によって取得することになるアクティビティ情報の対象数量以上である場合、選択されたサーバは、「局所的に対象数量のアクティビティ情報を取得し、取得した対象数量のアクティビティ情報を端末へ送信するステップ」を実行する。局所的に格納されたアクティビティ情報の数量が取得要求によって取得することになるアクティビティ情報の対象数量未満である場合、選択されたサーバは、「サーバグループ内の取得要求を受信していないサーバの中から端末に最も近いサーバを選択して取得要求を選択されたサーバへ送信するステップ」を実行する。
端末の位置情報に応じて、サーバグループ内の取得要求を受信していないサーバの中から端末に最も近いサーバを選択するステップは、以下の工程を用いて実施できる。この工程に以下が含まれる。
21)局所的に格納された、サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、及びサーバ位置情報との間の第1の対応関係を取得する。
第1の対応関係における全ての記録内のアクティビティ識別子は、対象アクティビティアカウントの対象アクティビティ識別子と、他のアクティビティアカウントのアクティビティ識別子とを含む。
22)取得要求を受信していない全てのサーバのサーバ識別子を含む記録を第1の対応関係から取得する。
23)対象アクティビティ識別子を含む記録を第1の対応関係から取得する。
第1の対応関係における任意の記録について、記録に含まれるアクティビティ識別子が対象アクティビティ識別子であるか否かが判断される。記録に含まれるアクティビティ識別子が対象アクティビティ識別子である場合、その記録が取得される。対象アクティビティ識別子を含む記録全てを第1の対応関係から取得するため、上述の操作が他の記録のそれぞれに対して実行される。
24)対象アクティビティ識別子を含む各記録からサーバ位置情報を別々に取得する。
取得された対象アクティビティ識別子を含む任意の記録について、記録内のサーバ位置情報が取得される。対象アクティビティ識別子を含む各記録内のサーバ位置情報を別々に取得するため、上述の操作が他の取得された対象アクティビティ識別子を含む記録のそれぞれに対して実行される。
25)取得されたサーバ位置情報の中から端末の位置情報に最も近いサーバの位置情報を選択する。
ステップ24)において、1台のサーバのみの位置情報が取得された場合、取得されたサーバ位置情報が、端末の位置情報に最も近いサーバの位置情報として用いられる。
ステップ24)において、複数のサーバの位置情報が取得された場合、任意のサーバの取得された位置情報について、サーバの位置情報と端末の位置情報との間の距離が計算される。上述の操作は、他のサーバのそれぞれの取得された位置情報に対して実行される。こうして、各サーバの取得された位置情報と端末の位置情報との間の距離を取得することができ、次いで、算出された距離に応じて端末の位置情報に最も近いサーバの位置情報を選択できる。
26)端末の位置情報に最も近いサーバの位置情報を含む記録を、第1の対応関係から判定する。
具体的には、第1の対応関係において、第1の記録が取得され、記録がステップ25)において選択されたサーバ位置情報を含むか否かが判断される。記録がステップ25)において選択されたサーバ位置情報を含む場合、第1の記録が、端末の位置情報に最も近いサーバの位置情報を含む記録として用いられる。記録が端末の位置情報に最も近いサーバの位置情報を含まない場合、記録は端末の位置情報に最も近いサーバの位置情報を含む記録ではないと判定される。次いで、第2の記録が取得され、取得された記録がステップ25)において選択されたサーバ位置情報を含むまで上述の操作が連続して実行される。取得された記録は、端末の位置情報に最も近いサーバの位置情報を含む記録として用いられる。
27)端末の位置情報に最も近いサーバの位置情報を含む記録内のサーバ識別子に対応するサーバを端末に最も近いサーバとして用いる。
例えば、1件のアクティビティ情報が1個の紅包であるとき、取得要求によって取得することになるアクティビティ情報の数量が5個であれば、取得することになる紅包の数量は5個である。サーバに格納されている最新の取得された紅包の数量が3個だけであると仮定すると、サーバに格納されている最新の取得された紅包の3個の数量は取得要求によって取得することになる紅包の数量である5個未満であり、したがってサーバに格納されている最新の取得された紅包の数量は取得要求によって取得することになる対象数量の紅包に対する需要を満たすことができないと判定される。結果として、5個の紅包のみを他のサーバから取得して端末へ返信することができる。
ステップS209において、選択されたサーバは、取得要求を受信し、ステップS206における対象アクティビティアカウントの局所的に格納されたアクティビティ情報の数量が、取得要求によって取得することになるアクティビティ情報の対象数量以上であるか否かを判断するステップを実行する。
選択されたサーバが取得要求を受信すると、選択されたサーバは、即座に取得要求を受信したサーバとして機能する。
次いで、ステップS207における「局所的にアクティビティ情報の対象数量を取得し、取得した対象数量のアクティビティ情報を端末へ送信するステップ」、又はステップS208における「サーバグループ内の取得要求を受信していないサーバの中から端末に最も近いサーバを選択して取得要求を選択されたサーバへ送信するステップ」が実行される。
従来技術では、対象アクティビティアカウントの複数のアクティビティ情報が1つのサーバに格納されるに過ぎない。多くのユーザが対象アクティビティアカウントのアクティビティ情報を取得するための取得要求を同時にサーバへ送信すると、サーバは、単位時間内に多数の取得要求を受信することがある。単位時間内にサーバによって受信される取得要求の数は、単位時間内にサーバが処理できる取得要求の数を容易に超えてしまう。どの結果、サーバは、単位時間内に受信した取得要求のうちの一部の取得要求しか処理できず、他の取得要求は後で処理するしかなく、その結果、サーバが他の取得要求に応答する速度は低下し、応答効率は低下する。
しかし、図2に示す実施の形態では、多くのユーザが対象アクティビティアカウントのアクティビティ情報を取得するための取得要求を同時にサーバへ送信した場合、対象アクティビティアカウントの複数のアクティビティ情報がそれぞれ異なる場所にある複数のサーバに予め格納されているため、この複数のサーバ多くのユーザによって送信される取得要求を分け合うことができる。こうして、単位時間内に各サーバによって受信される取得要求の数を減らすことができ、その結果、単位時間内に各サーバによって受信される取得要求の数を単位時間内にサーバが処理できる取得要求の数よりも少なくすることができる。そのため、各サーバは、それぞれ単位時間内に受信した処理要求全ての処理を完了することができ、その結果、多くのユーザによって送信される取得要求に応答する速度が全体として高まって、応答効率が向上する。
例えば、従来技術では、サーバは取得要求を毎秒200件処理できる。異なる場所にいる10,000人のユーザ全員が対象アクティビティアカウントのアクティビティ情報を取得する必要がある場合、各ユーザが、1件の取得要求をサーバに別々へ送信する。サーバは、単位時間内に10,000件の取得要求を受信し、これらの処理要求の処理を完了するのに50秒を必要とする。そのため、全体として応答時間が長くなり、応答効率が低下する。
しかし、本発明の図2に示す実施の形態では、異なる場所に位置する50台のサーバ全てが対象アクティビティアカウントのアクティビティ情報を格納し、各サーバは、取得要求を毎秒200件処理できる。異なる場所にいる10,000人のユーザ全員が対象アクティビティアカウントのアクティビティ情報を取得する必要がある場合、10,000人のユーザによって一斉へ送信される10,000件の取得要求を50台のサーバが分け合う。例えば、各サーバが、200件の取得要求を受信する。こうして、各サーバは、それぞれ受信した処理要求を処理するのにわずか1秒しか必要とせず、そのため、全体として応答時間が短縮し、応答効率が高まる。
図4は、例示の実施の形態による情報処理装置のブロック図である。図4を参照し、本装置は:
対象アクティビティアカウントのアクティビティ情報を取得するために用いられ端末によって送信される取得要求が受信されたか否かを判断するように構成された第1の判断モジュール11であって、前記取得要求は、前記端末の位置情報と、前記対象アクティビティアカウントの対象アクティビティ識別子と、取得することになる前記アクティビティ情報の対象数量とを含む、第1の判断モジュール11と;
前記取得要求が受信された場合に、前記対象アクティビティ識別子に対応する前記対象アクティビティアカウントのアクティビティ情報の、局所的に格納された数量が、前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上であるか否かを判断するように構成された第2の判断モジュール12と;
前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上である場合に、局所的にアクティビティ情報の前記対象数量を取得するように構成された第1の取得モジュール13と;
アクティビティ情報の前記取得した対象数量を前記端末へ送信するように構成された第1の送信モジュール14と;
前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量未満である場合に、前記端末の前記位置情報に応じて、前記サーバグループ内の前記取得要求を受信していないサーバの中から前記端末に最も近いサーバを選択するように構成された選択モジュール15と;
前記選択されたサーバが、前記取得要求に応じて、前記対象アクティビティアカウントの、局所的に格納されたアクティビティ情報の数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上であるか否かを判断する前記ステップを実行するように、前記取得要求を前記選択されたサーバへ送信するように構成された第2の送信モジュール16と;を備える。
従来技術では、対象アクティビティアカウントの複数のアクティビティ情報が1つのサーバに格納されるに過ぎない。多くのユーザが対象アクティビティアカウントのアクティビティ情報を取得するための取得要求を同時にサーバへ送信すると、サーバは、単位時間内に多数の取得要求を受信することがある。単位時間内にサーバによって受信される取得要求の数は、単位時間内にサーバが処理できる取得要求の数を容易に超えてしまう。結果として、サーバは、単位時間内に受信した取得要求のうちの一部の取得要求しか処理できず、他の取得要求は後で処理するしかなく、その結果、サーバが他の取得要求に応答する速度は低下し、応答効率は低下する。
しかし、図4に示す実施の形態では、多くのユーザが対象アクティビティアカウントのアクティビティ情報を取得するための取得要求を同時にサーバへ送信した場合、対象アクティビティアカウントの複数のアクティビティ情報がそれぞれ異なる場所にある複数のサーバに予め格納されているため、この複数のサーバが多くのユーザによって送信される取得要求を分け合うことができる。こうして、単位時間内に各サーバによって受信される取得要求の数を減らすことができ、その結果、単位時間内に各サーバによって受信される取得要求の数を単位時間内にサーバが処理できる取得要求の数よりも少なくすることができる。そのため、各サーバは、それぞれ単位時間内に受信した処理要求全ての処理を完了することができ、その結果、多くのユーザによって送信される取得要求に応答する速度が全体として高まって、応答効率が向上する。
前記選択モジュール15は:
サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の、局所的に格納された第1の対応関係を取得するように構成された第1の取得ユニットと;
前記取得要求を受信していない全てのサーバのサーバ識別子を含む記録を、前記第1の対応関係から取得するように構成された第2の取得ユニットと;
前記取得要求を受信していない全てのサーバのサーバ識別子を含む記録の中から前記対象アクティビティ識別子を含む記録を取得するように構成された第3の取得ユニットと;
前記対象アクティビティ識別子を含む各記録からサーバ位置情報を別々に取得するように構成された第4の取得ユニットと;
前記取得されたサーバ位置情報の中から前記端末の前記位置情報に最も近いサーバの位置情報を選択するように構成された選択ユニットと;
前記端末の前記位置情報に最も近いサーバの前記位置情報を含む記録を、前記第1の対応関係から判定するように構成された第1の判定ユニットと;
前記端末の前記位置情報に最も近いサーバの前記位置情報を含む前記記録におけるサーバ識別子に対応するサーバを、前記端末に最も近いサーバとして用いるように構成された第2の判定ユニットと;を備える。
更に、本装置は:
対象アクティビティアカウントを作成するように構成された作成モジュールであって、前記対象アクティビティアカウントが、複数のアクティビティ情報と、前記対象アクティビティアカウントの対象アクティビティ識別子とを含む、作成モジュールと;
前記複数のアクティビティ情報を格納するための複数の対象サーバを取得し、前記対象サーバのそれぞれの位置情報を取得するように構成された第2の取得モジュールと;
前記対象アクティビティアカウントの前記アクティビティ情報の数量と前記対象サーバの数とに応じてアクティビティ情報を前記対象サーバのそれぞれに割り当てるように構成された割り当てモジュールと;
前記対象サーバのそれぞれについて、前記対象サーバに割り当てられた前記アクティビティ情報を前記対象サーバの対象データベースの対象データベーステーブルに格納するように構成された第1の格納モジュールと;
前記対象サーバの対象サーバ識別子と、前記対象データベースの対象データベース識別子と、前記対象データベーステーブルの対象データベーステーブル識別子と、前記対象アクティビティアカウントの前記対象アクティビティ識別子と、前記対象サーバの前記位置情報とを、サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の、局所的に格納される第1の対応関係に格納するように構成された第2の格納モジュールと;を更に備える。
前記第2の取得モジュールが:
サーバ識別子と、データベース識別子と、情報を格納していないデータベーステーブルの識別子との間の、局所的に格納される第2の対応関係を取得するように構成された第5の取得ユニットと;
前記第2の対応関係に含まれる全てのサーバ識別子を取得するように構成された第6の取得ユニットと;
前記取得された全てのサーバ識別子の中の同一のサーバ識別子に対して削除操作を実行し、前記同一のサーバ識別子のうちの1つのみを保持するように構成された削除ユニットと;
残ったサーバ識別子に対応する全てのサーバを前記対象サーバとして用いるように構成された第3の判定ユニットと;を備える。
前記第1の格納モジュールが:
前記対象サーバを含む対象記録を、前記第2の対応関係から取得するように構成された第7の取得ユニットと;
前記対象記録の中のデータベース識別子を対象データベース識別子として用い、前記対象記録の中のデータベーステーブル識別子を対象データベーステーブル識別子として用いるように構成された第4の判定ユニットと;
前記対象サーバに割り当てられた前記アクティビティ情報を、前記対象サーバにおける対象データベースの対象データベーステーブルに格納するように構成された格納ユニットであって、前記対象データベースは対象データベース識別子に対応するデータベースであり、前記対象データベーステーブルは対象データベーステーブル識別子に対応するデータベーステーブルである、格納ユニットと;を備える。
上記実施の形態における装置に関し、各モジュールが操作を実行する特定の方式は方法に関する実施の形態において詳細に記載したので、ここでは詳細に説明しない。
本明細書を検討し、本明細書に開示された発明を実施すれば、当業者は、本発明の他の実施解決策を容易に想到することができる。本願は、本願のいずれかの変形、使用法、又は適用法を包含するように意図されている。そのような変形、使用法、又は適用法は、本発明の一般的原理に従うものであり、本発明において開示されていない周知の事実又は本技術分野における従来の技術的手段を含む。明細書および実施の形態は例示に過ぎないとみなされ、本発明の真の範囲および趣旨は以下の特許請求の範囲に示されている。
当然ながら、本発明は、上記及び付帯する図面に示された正確な構造に限定されるものではなく、本発明の範囲から逸脱することなく本発明に様々な変形および変更を加えることができる。本発明の範囲は、付帯する特許請求の範囲によってのみ限定される。
[第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の局面に記載の装置。

Claims (8)

  1. サーバに適用される情報処理方法であって、前記サーバは、サーバグループ内の1つのサーバであり、前記サーバグループ内の各サーバは、異なる場所に配置され、対象アクティビティアカウントのアクティビティ情報を別々に格納し;
    前記情報処理方法は:
    前記対象アクティビティアカウントのアクティビティ情報を取得するために用いられ端末によって送信される取得要求が受信されたか否かを判断するステップであって、前記取得要求は、前記端末の位置情報と、前記対象アクティビティアカウントの対象アクティビティ識別子と、取得することになる前記アクティビティ情報の対象数量とを含む、前記判断するステップと;
    前記取得要求が受信された場合に、局所的に格納された、前記対象アクティビティ識別子に対応する前記対象アクティビティアカウントのアクティビティ情報の数量が、前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上であるか否かを判断するステップと;
    前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上である場合に、局所的にアクティビティ情報の前記対象数量を取得し、アクティビティ情報の前記取得した対象数量を前記端末へ送信するステップと;
    前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量未満である場合に、前記端末の前記位置情報に応じて、前記サーバグループ内の前記取得要求を受信していないサーバの中から前記端末に最も近いサーバを選択し、前記選択されたサーバが、前記取得要求に応じて、前記対象アクティビティアカウントの局所的に格納されたアクティビティ情報の数量が、前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上であるか否かを判断する前記ステップを実行するように、前記取得要求を前記選択されたサーバへ送信するステップと;
    を備え
    前記端末の前記位置情報に応じて、前記サーバグループ内の前記取得要求を受信していないサーバの中から前記端末に最も近いサーバを選択する前記ステップが:
    サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の、局所的に格納された第1の対応関係を取得するステップと;
    前記取得要求を受信していない全てのサーバのサーバ識別子を含む記録を、前記第1の対応関係から取得するステップと;
    前記取得要求を受信していない全てのサーバのサーバ識別子を含む記録の中から、前記対象アクティビティ識別子を含む記録を取得するステップと;
    前記対象アクティビティ識別子を含む各記録からサーバ位置情報を別々に取得するステップと;
    前記取得されたサーバ位置情報の中から前記端末の前記位置情報に最も近いサーバの位置情報を選択するステップと;
    前記端末の前記位置情報に最も近いサーバの前記位置情報を含む記録を、前記第1の対応関係から判定するステップと;
    前記端末の前記位置情報に最も近いサーバの前記位置情報を含む記録におけるサーバ識別子に対応するサーバを、前記端末に最も近いサーバとして用いるステップと;
    を備える、
    サーバに適用される情報処理方法。
  2. 対象アクティビティアカウントを作成するステップであって、前記対象アクティビティアカウントが、複数のアクティビティ情報と、前記対象アクティビティアカウントの対象アクティビティ識別子とを含む、前記作成するステップと;
    前記複数のアクティビティ情報を格納するための複数の対象サーバを取得し、前記対象サーバのそれぞれの位置情報を取得するステップと;
    前記対象アクティビティアカウントの前記アクティビティ情報の数量と前記対象サーバの数とに応じてアクティビティ情報を前記対象サーバのそれぞれに割り当てるステップと;
    前記対象サーバのそれぞれについて、前記対象サーバに割り当てられた前記アクティビティ情報を前記対象サーバの対象データベースの対象データベーステーブルに格納し;前記対象サーバの対象サーバ識別子と、前記対象データベースの対象データベース識別子と、前記対象データベーステーブルの対象データベーステーブル識別子と、前記対象アクティビティアカウントの前記対象アクティビティ識別子と、前記対象サーバの前記位置情報とを、サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の、局所的に格納された第1の対応関係に格納するステップと;を更に備える、
    請求項1に記載の情報処理方法。
  3. 前記複数のアクティビティ情報を格納するための複数の対象サーバを取得する前記ステップが:
    サーバ識別子と、データベース識別子と、情報を格納していないデータベーステーブルの識別子との間の、局所的に格納された第2の対応関係を取得するステップと;
    前記第2の対応関係に含まれる全てのサーバ識別子を取得するステップと;
    前記取得された全てのサーバ識別子の中の同一のサーバ識別子に対して削除操作を実行し、前記同一のサーバ識別子のうちの1つのみを保持するステップと;
    残ったサーバ識別子に対応する全てのサーバを前記対象サーバとして用いるステップと;を備える、
    請求項に記載の情報処理方法。
  4. 前記対象サーバに割り当てられた前記アクティビティ情報を前記対象サーバの対象データベースの対象データベーステーブルに格納する前記ステップが:
    前記対象サーバを含む対象記録を、前記第2の対応関係から取得するステップと;
    前記対象記録の中のデータベース識別子を対象データベース識別子として用い、前記対象記録の中のデータベーステーブル識別子を対象データベーステーブル識別子として用いるステップと;
    前記対象サーバに割り当てられた前記アクティビティ情報を、前記対象サーバにおける対象データベースの対象データベーステーブルに格納するステップであって、前記対象データベースは対象データベース識別子に対応するデータベースであり、前記対象データベーステーブルは対象データベーステーブル識別子に対応するデータベーステーブルである、前記格納するステップと;を備える、
    請求項に記載の情報処理方法。
  5. 情報処理装置であって、前記情報処理装置は、サーバグループ内の1つのサーバであり、
    対象アクティビティアカウントのアクティビティ情報を取得するために用いられ端末によって送信される取得要求が受信されたか否かを判断するように構成された第1の判断モジュールであって、前記取得要求は、前記端末の位置情報と、前記対象アクティビティアカウントの対象アクティビティ識別子と、取得することになる前記アクティビティ情報の対象数量とを含む、前記第1の判断モジュールと;
    前記取得要求が受信された場合に、局所的に格納された、前記対象アクティビティ識別子に対応する前記対象アクティビティアカウントのアクティビティ情報の数量が、前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上であるか否かを判断するように構成された第2の判断モジュールと;
    前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上である場合に、局所的にアクティビティ情報の前記対象数量を取得するように構成された第1の取得モジュールと;
    アクティビティ情報の前記取得した対象数量を前記端末へ送信するように構成された第1の送信モジュールと;
    前記局所的に格納されたアクティビティ情報の前記数量が前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量未満である場合に、前記端末の前記位置情報に応じて、前記サーバグループ内の前記取得要求を受信していないサーバの中から前記端末に最も近いサーバを選択するように構成された選択モジュールと;
    前記選択されたサーバが、前記取得要求に応じて、前記対象アクティビティアカウントの局所的に格納されたアクティビティ情報の数量が、前記取得要求によって取得することになる前記アクティビティ情報の前記対象数量以上であるか否かを判断するように、前記取得要求を前記選択されたサーバへ送信するように構成された第2の送信モジュールと;
    を備え
    前記選択モジュールが:
    サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の、局所的に格納された第1の対応関係を取得するように構成された第1の取得ユニットと;
    前記取得要求を受信していない全てのサーバのサーバ識別子を含む記録を、前記第1の対応関係から取得するように構成された第2の取得ユニットと;
    前記取得要求を受信していない全てのサーバのサーバ識別子を含む記録の中から、前記対象アクティビティ識別子を含む記録を取得するように構成された第3の取得ユニットと;
    前記対象アクティビティ識別子を含む各記録からサーバ位置情報を別々に取得するように構成された第4の取得ユニットと;
    前記取得されたサーバ位置情報の中から前記端末の前記位置情報に最も近いサーバの位置情報を選択するように構成された選択ユニットと;
    前記端末の前記位置情報に最も近いサーバの前記位置情報を含む記録を、前記第1の対応関係から判定するように構成された第1の判定ユニットと;
    前記端末の前記位置情報に最も近いサーバの前記位置情報を含む記録におけるサーバ識別子に対応するサーバを、前記端末に最も近いサーバとして用いるように構成された第2の判定ユニットと;
    を備える、
    情報処理装置。
  6. 対象アクティビティアカウントを作成するように構成された作成モジュールであって、前記対象アクティビティアカウントが、複数のアクティビティ情報と、前記対象アクティビティアカウントの対象アクティビティ識別子とを含む、前記作成モジュールと;
    前記複数のアクティビティ情報を格納するための複数の対象サーバを取得し、前記対象サーバのそれぞれの位置情報を取得するように構成された第2の取得モジュールと;
    前記対象アクティビティアカウントの前記アクティビティ情報の数量と前記対象サーバの数とに応じてアクティビティ情報を前記対象サーバのそれぞれに割り当てるように構成された割り当てモジュールと;
    前記対象サーバのそれぞれについて、前記対象サーバに割り当てられた前記アクティビティ情報を前記対象サーバの対象データベースの対象データベーステーブルに格納するように構成された第1の格納モジュールと;
    前記対象サーバの対象サーバ識別子と、前記対象データベースの対象データベース識別子と、前記対象データベーステーブルの対象データベーステーブル識別子と、前記対象アクティビティアカウントの前記対象アクティビティ識別子と、前記対象サーバの前記位置情報とを、サーバ識別子と、データベース識別子と、データベーステーブル識別子と、アクティビティ識別子と、サーバ位置情報との間の、局所的に格納された第1の対応関係に格納するように構成された第2の格納モジュールと;を更に備える、
    請求項に記載の情報処理装置。
  7. 前記第2の取得モジュールが:
    サーバ識別子と、データベース識別子と、情報を格納していないデータベーステーブルの識別子との間の、局所的に格納された第2の対応関係を取得するように構成された第5の取得ユニットと;
    前記第2の対応関係に含まれる全てのサーバ識別子を取得するように構成された第6の取得ユニットと;
    前記取得された全てのサーバ識別子の中の同一のサーバ識別子に対して削除操作を実行し、前記同一のサーバ識別子のうちの1つのみを保持するように構成された削除ユニットと;
    残ったサーバ識別子に対応する全てのサーバを前記対象サーバとして用いるように構成された第3の判定ユニットと;を備える、
    請求項に記載の情報処理装置。
  8. 前記第1の格納モジュールが:
    前記対象サーバを含む対象記録を、前記第2の対応関係から取得するように構成された第7の取得ユニットと;
    前記対象記録の中のデータベース識別子を対象データベース識別子として用い、前記対象記録の中のデータベーステーブル識別子を対象データベーステーブル識別子として用いるように構成された第4の判定ユニットと;
    前記対象サーバに割り当てられた前記アクティビティ情報を、前記対象サーバにおける対象データベースの対象データベーステーブルに格納するように構成された格納ユニットであって、前記対象データベースは対象データベース識別子に対応するデータベースであ
    り、前記対象データベーステーブルは対象データベーステーブル識別子に対応するデータベーステーブルである、前記格納ユニットと;を備える、
    請求項に記載の情報処理装置。
JP2017564122A 2015-06-08 2016-06-01 情報処理方法及び装置 Active JP6734303B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201510309180.6A CN106302608B (zh) 2015-06-08 2015-06-08 一种信息处理方法及装置
CN201510309180.6 2015-06-08
PCT/CN2016/084225 WO2016197839A2 (zh) 2015-06-08 2016-06-01 一种信息处理方法及装置

Publications (3)

Publication Number Publication Date
JP2018520431A JP2018520431A (ja) 2018-07-26
JP2018520431A5 JP2018520431A5 (ja) 2020-02-06
JP6734303B2 true JP6734303B2 (ja) 2020-08-05

Family

ID=57502893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017564122A Active JP6734303B2 (ja) 2015-06-08 2016-06-01 情報処理方法及び装置

Country Status (7)

Country Link
US (1) US10491707B2 (ja)
EP (1) EP3306898A4 (ja)
JP (1) JP6734303B2 (ja)
KR (1) KR102091949B1 (ja)
CN (1) CN106302608B (ja)
SG (1) SG11201709643SA (ja)
WO (1) WO2016197839A2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113099247B (zh) * 2021-03-17 2023-01-20 北京达佳互联信息技术有限公司 虚拟资源处理方法、装置、服务器、存储介质及程序产品

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6003030A (en) * 1995-06-07 1999-12-14 Intervu, Inc. System and method for optimized storage and retrieval of data on a distributed computer network
US5742598A (en) * 1995-10-19 1998-04-21 International Business Machines Corp. Network for efficiently locating resources and routing service requests received from individual node connections
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
EP1061710B1 (en) * 1999-06-17 2010-12-08 Level 3 Communications, LLC System and method for integrated load distribution and resource management on internet environment
EP1252577A1 (en) * 2000-01-28 2002-10-30 Ibeam Broadcasting Corporation A system and method for determining optimal server in a distributed network for serving content streams
US7020698B2 (en) * 2000-05-31 2006-03-28 Lucent Technologies Inc. System and method for locating a closest server in response to a client domain name request
CN1367439A (zh) * 2002-02-10 2002-09-04 苏州市蜗牛电子有限公司 多客户端互动的负载均衡方法及***
JP2007034889A (ja) * 2005-07-29 2007-02-08 Toshiba Corp 映像信号処理装置及び映像信号処理方法
US7822808B2 (en) * 2006-04-21 2010-10-26 Motenet, Inc. Collection and distribution of sense-on-demand data
US8581721B2 (en) * 2007-03-08 2013-11-12 Cfph, Llc Game access device with privileges
US20150156460A1 (en) * 2009-10-06 2015-06-04 Google Inc. System and method of filling in gaps in image data
US8266126B2 (en) * 2010-03-24 2012-09-11 Matrixx Software, Inc. System with multiple conditional commit databases
US9158610B2 (en) * 2011-08-04 2015-10-13 Microsoft Technology Licensing, Llc. Fault tolerance for tasks using stages to manage dependencies
US20130166622A1 (en) * 2011-12-27 2013-06-27 Citrix Systems, Inc Using Mobile Device Location Data with Remote Resources
CN103544153B (zh) * 2012-07-10 2016-07-27 阿里巴巴集团控股有限公司 一种基于数据库的数据更新方法和***
US20140095925A1 (en) * 2012-10-01 2014-04-03 Jason Wilson Client for controlling automatic failover from a primary to a standby server
JP5526209B2 (ja) * 2012-10-09 2014-06-18 株式会社Ubic フォレンジックシステムおよびフォレンジック方法並びにフォレンジックプログラム
CN103796154B (zh) * 2012-10-31 2017-10-10 华为技术有限公司 一种wlan中应用信息的获取方法、设备和***
US20140196038A1 (en) * 2013-01-08 2014-07-10 Commvault Systems, Inc. Virtual machine management in a data storage system
CN104077302B (zh) * 2013-03-28 2017-07-25 ***股份有限公司 一种大用户量账户存储和检索及认证***
CN103825835A (zh) * 2013-11-29 2014-05-28 中邮科通信技术股份有限公司 一种互联网高并发秒杀***
CN103678697A (zh) * 2013-12-26 2014-03-26 乐视网信息技术(北京)股份有限公司 倒排索引存储方法及其***
CN103716251B (zh) * 2014-01-14 2017-06-27 三星电子(中国)研发中心 用于内容分发网络的负载均衡方法及设备
CN103838855A (zh) * 2014-03-17 2014-06-04 广东创能科技有限公司 余票更新的方法
US10051035B2 (en) * 2014-06-03 2018-08-14 Verizon Patent And Licensing Inc. Method and apparatus for providing secure file transmission
CN105446985B (zh) * 2014-06-30 2018-12-14 北京金山安全软件有限公司 一种缓存文件夹识别方法及装置
JP6272190B2 (ja) * 2014-09-02 2018-01-31 株式会社日立製作所 計算機システム、計算機、負荷分散方法及びそのプログラム
US10191895B2 (en) * 2014-11-03 2019-01-29 Adobe Systems Incorporated Adaptive modification of content presented in electronic forms
CN104363300B (zh) * 2014-11-26 2018-06-05 浙江宇视科技有限公司 一种服务器集群中计算任务分布式调度装置
CN104636957B (zh) * 2015-02-04 2018-07-24 上海瀚之友信息技术服务有限公司 一种处理高并发数据请求的***和方法
GB2527672B (en) * 2015-05-22 2016-06-01 Gamesys Ltd Measuring device analysis

Also Published As

Publication number Publication date
WO2016197839A3 (zh) 2017-02-09
US10491707B2 (en) 2019-11-26
EP3306898A4 (en) 2019-01-02
KR20180016506A (ko) 2018-02-14
SG11201709643SA (en) 2017-12-28
JP2018520431A (ja) 2018-07-26
EP3306898A2 (en) 2018-04-11
CN106302608B (zh) 2020-02-04
US20180109647A1 (en) 2018-04-19
KR102091949B1 (ko) 2020-03-23
CN106302608A (zh) 2017-01-04
WO2016197839A2 (zh) 2016-12-15

Similar Documents

Publication Publication Date Title
JP6626211B2 (ja) ショートリンクを処理する方法及び装置並びにショートリンクサーバ
CN105530175B (zh) 一种消息处理方法、装置及***
JP6306187B2 (ja) 動的電話番号割り当て
CN111327647B (zh) 一种容器对外提供服务的方法、装置及电子设备
CN110557284B (zh) 基于客户端网关的数据聚合方法及装置
JP5579084B2 (ja) インスタントメッセージングの方法およびシステム
WO2016000507A1 (zh) 省流量模式搜索服务的方法、服务器、客户端和***
KR101783431B1 (ko) 크라우드 펀딩 시스템을 통해 엔터테인먼트 관련 펀딩 정보 및 컨설팅 정보를 제공하는 방법
CN104618388B (zh) 快速注册登录方法及对应的重置服务器、信息服务器
CN110166499A (zh) 一种获取用户画像数据的方法和服务器
WO2015117558A1 (en) Promotion method, apparatus, and system based on microblog message
CN109981745A (zh) 一种日志文件处理方法及服务器
WO2014151507A1 (en) System and method for omni-channel identity matching
CN104023087A (zh) 一种多个服务器之间的轮询方法和装置
JP6263547B2 (ja) ユーザ記述子を使用するソーシャル・ネットワーキング・システム・ユーザへのサードパーティ通信
CN113361913A (zh) 一种通信业务编排方法、装置、计算机设备及存储介质
CN107483565B (zh) 一种服务后台识别方法、代理服务器及计算机存储介质
JP6734303B2 (ja) 情報処理方法及び装置
KR20140009581A (ko) 네트워크 어플리케이션 간 스위칭 방법, 시스템과 장치, 컴퓨터 저장 매체
CN109862134B (zh) 一种ip地址的租约时间配置方法和***及dhcp客户端
CN105025042B (zh) 一种确定数据信息的方法及***、代理服务器
CN111093281B (zh) 分配资源的方法和装置
CN109768897B (zh) 一种服务器部署方法及装置
CN112231566A (zh) 信息推送方法、装置、***和可读存储介质
CN112035760A (zh) 一种任务分配方法及计算机设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191223

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20191223

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200220

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200310

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20200601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200610

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200706

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200709

R150 Certificate of patent or registration of utility model

Ref document number: 6734303

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250