Scalable multi-database event processing system using universal subscriber-specific data and universal global data
First Claim
1. A method for processing an event in an event processing system comprising a plurality of databases, wherein the event processing system is associated with a plurality of accounts, and wherein each database in the plurality of databases is configured to store account data for a unique subset of accounts in the plurality of accounts, the method comprising:
- receiving, at a first server configured to manage a first database in the plurality of databases, an event associated with an account in the plurality of accounts,wherein processing the event requires access to account data for the account, andwherein the first database stores account data for a first subset of accounts;
if the account is included in the first subset of accounts, retrieving the account data for the account from the first database;
else if the account is not included in the first subset of accounts;
accessing a data structure stored on the first database,wherein the data structure includes, for each account in the plurality of accounts, an identifier uniquely identifying said each account and location information indicating a database in the plurality of databases on which account data for said each account is stored;
determining, based on the data structure, a second database in the plurality of databases that stores the account data for the account,wherein the second database stores account data for a second subset of accounts distinct from the first subset; and
retrieving the account data for the account from the second database; and
processing the event utilizing the account data for the account.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods and architectures for implementing a scalable multi-database event processing system are provided. In one embodiment, selected account data is aggregated for all subscribers (aggregated subscriber-specific data) and a copy included on each database. In one embodiment, selected data that is not subscriber specific and that may apply to many accounts (“global data”) is also maintained and copied to each database. The global data preferably includes business data that is frequently required during operation of the system, such as pricing data. A transaction that requires business data and access to an account is processed using the copy of the business data that is on the database on which the account is located. In an embodiment, the aggregated subscriber-specific data is used in performing searches.
-
Citations
10 Claims
-
1. A method for processing an event in an event processing system comprising a plurality of databases, wherein the event processing system is associated with a plurality of accounts, and wherein each database in the plurality of databases is configured to store account data for a unique subset of accounts in the plurality of accounts, the method comprising:
-
receiving, at a first server configured to manage a first database in the plurality of databases, an event associated with an account in the plurality of accounts, wherein processing the event requires access to account data for the account, and wherein the first database stores account data for a first subset of accounts; if the account is included in the first subset of accounts, retrieving the account data for the account from the first database; else if the account is not included in the first subset of accounts; accessing a data structure stored on the first database, wherein the data structure includes, for each account in the plurality of accounts, an identifier uniquely identifying said each account and location information indicating a database in the plurality of databases on which account data for said each account is stored; determining, based on the data structure, a second database in the plurality of databases that stores the account data for the account, wherein the second database stores account data for a second subset of accounts distinct from the first subset; and retrieving the account data for the account from the second database; and processing the event utilizing the account data for the account. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A machine-readable medium for a computer system, the machine-readable medium having stored thereon a series of instructions which, when executed by a processing component, cause the processing component to process an event in an event processing system comprising a plurality of databases, wherein the event processing system is associated with a plurality of accounts, and wherein each database in the plurality of databases is configured to store account data for a unique subset of accounts in the plurality of accounts, by:
-
receiving, at a first server configured to manage a first database in the plurality of databases, an event associated with an account in the plurality of accounts, wherein processing the event requires access to account data for the account, and wherein the first database stores account data for a first subset of accounts; if the account is included in the first subset of accounts, retrieving the account data for the account from the first database; else if the account is not included in the first subset of accounts; accessing a data structure stored on the first database, wherein the data structure includes, for each account in the plurality of accounts, an identifier uniquely identifying said each account and location information indicating a database in the plurality of databases on which account data for said each account is stored; determining, based on the data structure, a second database in the plurality of databases that stores the account data for the account, wherein the second database stores account data for a second subset of accounts distinct from the first subset; and retrieving the account data for the account from the second database; and processing the event utilizing the account data for the account. - View Dependent Claims (7, 8, 9, 10)
-
Specification