High-throughput message generation
AssigneeResponsys, Inc.
InventorsJeffrey Taihana Tuatini, Arun Ananthanarayanan Tharuvai, Bradley Harold Sergeant
Life of this patent
Estimating the term…
Abstract
Personalized messages are generated from a message template with high throughput by transforming data sources of the message template to key-value data structures that are stored in-memory and performing data look-ups using the in-memory key-value data structures.
Claims15
A method to generate personalized messages, using data stored in a relational database, comprising:
- identifying, by a server computer having a processor, database records in a database, the database records corresponding to one or more relational database tables having message data, a relational database table of the one or more relational database tables comprising multiple entries stored in corresponding rows, an entry of the multiple entries corresponding to a primary key in a primary key column and a plurality of data fields;
- transforming, by the server computer, the relational database table of the one or more relational database tables into a key-value data structure stored in a memory, the transforming comprising, for each entry of the multiple entries, retaining the primary key of the relational database table as a look-up key for the key-value data structure, and binary encoding two or more of the plurality of data fields into a single value in a single-value field in the key-value data structure, wherein the key-value data structure comprises, for said each entry of the multiple entries, a respective primary key and a corresponding single value, and the key-value data structure has a same number of entries as a corresponding relational database table;
- and
- generating, by the server computer or another server computer having a processor, a personalized message by accessing a corresponding look-up key in the key-value data structure in the memory and retrieving and populating the corresponding single value in a corresponding single-value field into corresponding personalized sections of the personalized message, wherein the personalized message is generated in form of at least one of:
- a webpage, an advertisement, e-mail message, a text message or a mobile message, viewed via an application running in a client computer;
- wherein the accessing the corresponding look-up key comprises:
- identifying a personalized message template comprising one or more commands that are executed for identifying and retrieving the corresponding single value in the single-value field;
- parsing the personalized message template for one or more commands to be executed to look up data from the one or more relational database tables;
- identifying at least one command of the one or more commands from the personalized message template;
- identifying a first relational database table corresponding to the at least one command from the one or more relational database tables;
- and
- identifying the corresponding look-up key that corresponds to the first relational database table from the key-value data structure;
- and
- presenting the personalized message to the client computer via a network.
A system for generating personalized messages using data stored in a relational database, comprising:
- a computer processor to execute a set of program code instructions;
- a memory to hold the set of program code instructions, in which the set of program code instructions comprises program code which, when executed by the computer processor, causes the computer processor at least to:
- identify database records in a database, the database records corresponding to one or more relational database tables having message data, a relational database table of the one or more relational database tables comprising multiple entries stored in corresponding rows, an entry of the multiple entries corresponding to a primary key in a primary key column and a plurality of data fields;
- transform, the relational database table of the one or more relational database tables into a key-value data structure stored in a memory, the transform comprising, for each entry of the multiple entries, retaining the primary key of the relational database table as a look-up key for the key-value data structure, and binary encoding two or more of the plurality of data fields into a single value in a single-value field in the key-value data structure, wherein the key-value data structure comprises, for said each entry of the multiple entries, a respective primary key and a corresponding single value, and the key-value data structure has a same number of entries as a corresponding relational database table;
- and
- generate a personalized message by accessing a corresponding look-up key in the key-value data structure in the memory and retrieving and populating a corresponding single value in a corresponding single-value field into corresponding personalized sections of the personalized message, wherein the personalized message is generated in a form of at least one of:
- a web page, an advertisement, an e-mail message, a text message or a mobile message, viewed via an application running on a client computer;
- wherein the accessing the corresponding look-up key comprises:
- identifying a personalized message template comprising one or more commands that are executed for identifying and retrieving the corresponding single value in the single-value field;
- parsing the personalized message template for the one or more commands to be executed to look up data from the one or more relational database tables;
- identifying at least one command of the one or more commands from the personalized message template;
- identifying a first relational database table corresponding to the at least one command from the one or more relational database tables;
- and
- identifying the corresponding look-up key that corresponds to the first relational database table from the key-value data structure;
- and
- presenting the personalized message to the client computer via a network.
A computer program product embodied on a non-transitory computer readable medium, the non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor causes the processor to execute operations to generate personalized messages using data stored in a relational database, the operations comprising:
- identifying, by a computing system having a processor, database records in a database, the database records corresponding to one or more relational database tables having message data, a relational database table of the one or more relational database tables comprising multiple entries stored in corresponding rows, an entry of the multiple entries corresponding to a primary key in a primary key column and a plurality of data fields;
- transforming, by the computing system, the relational database table of the one or more relational database tables into at least a key-value data structure stored in a memory, the transforming comprising, for each entry of the multiple entries, retaining the primary key of the relational database table as a look-up key for the key-value data structure, and binary encoding two or more of the plurality of data fields into a single value in a single-value field in the key-value data structure, wherein the key-value data structure comprises, for said each entry of the multiple entries, a respective primary key and a corresponding single value, and the key-value data structure has a same number of entries as a corresponding relational database table;
- and
- generating a personalized message by accessing a corresponding look-up key in the key-value data structure in the memory and retrieving and populating a corresponding single value in a corresponding single-value field into corresponding personalized sections of the personalized message, wherein the personalized message is generated in a form of at least one of:
- a web page, an advertisement, an e-mail message, a text message or a mobile message, viewed via an application running on a client computer;
- wherein the accessing the corresponding look-up key comprises:
- identifying a personalized message template comprising one or more commands that are executed for identifying and retrieving the corresponding single value in the single-value field;
- parsing the personalized message template for the one or more commands to be executed to look up data from the one or more relational database tables;
- identifying at least one command of the one or more commands from the personalized message template;
- identifying a first relational database table corresponding to the at least one command from the one or more relational database tables;
- and
- identifying the corresponding look-up key that corresponds to the first relational database table from the key-value data structure;
- and
- presenting the personalized message to the client computer via a network.
Dependencies are inferred from the claim text.