Methods and systems for bulk uploading of data in an on-demand service environment
First Claim
1. A method in a host organization, wherein the method comprises:
- receiving, from a client device communicatively interfaced to the host organization, a bulk transaction request specifying a plurality of database transactions to be processed against a database system of the host organization;
sending a response to the client device having submitted the bulk transaction request, wherein the response provides at least;
(a) an indication of successful receipt of the bulk transaction request and (b) an acknowledgement that the bulk transaction request is queued for processing or queued for asynchronous processing;
retrieving the bulk transaction request from a transaction queue;
determining a current computational load of the database system;
processing a subset of the plurality of database transactions specified by the bulk transaction request against the database system when the current computational load is below a threshold;
updating a bulk transaction results log based on the subset of the plurality of database transactions processed;
wherein the plurality of real-time transaction requests are assigned a higher priority than the plurality of bulk transaction requests and are selected for processing against the database system based on the higher priority; and
wherein the plurality of bulk transaction requests are assigned a lower priority than the plurality of real-time transaction requests and are selected for processing against the database system based on the lower priority and based further on the determined current computational load of the database system.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems for bulk uploading of data in an on-demand service environment are described. In one embodiment, such a method includes retrieving a bulk transaction request from a transaction queue within a host organization, where the bulk transaction request specifies a plurality of database transactions to be processed against a multi-tenant database system of the host organization. Such a method further includes determining a current computational load of the multi-tenant database system, processing a subset of the plurality of database transactions specified by the bulk transaction request against the multi-tenant database system when the current computational load is below a threshold, and updating a bulk transaction results log based on the subset of the plurality of database transactions processed. Remaining database transactions specified by the bulk transaction request may then be re-queued for later processing.
132 Citations
23 Claims
-
1. A method in a host organization, wherein the method comprises:
-
receiving, from a client device communicatively interfaced to the host organization, a bulk transaction request specifying a plurality of database transactions to be processed against a database system of the host organization; sending a response to the client device having submitted the bulk transaction request, wherein the response provides at least;
(a) an indication of successful receipt of the bulk transaction request and (b) an acknowledgement that the bulk transaction request is queued for processing or queued for asynchronous processing;retrieving the bulk transaction request from a transaction queue; determining a current computational load of the database system; processing a subset of the plurality of database transactions specified by the bulk transaction request against the database system when the current computational load is below a threshold; updating a bulk transaction results log based on the subset of the plurality of database transactions processed; wherein the plurality of real-time transaction requests are assigned a higher priority than the plurality of bulk transaction requests and are selected for processing against the database system based on the higher priority; and wherein the plurality of bulk transaction requests are assigned a lower priority than the plurality of real-time transaction requests and are selected for processing against the database system based on the lower priority and based further on the determined current computational load of the database system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. Non-transitory computer readable storage medium having instructions stored thereon that, when executed by a processor in a host organization, the instructions cause the host organization to perform operations comprising:
-
receiving, from a client device communicatively interfaced to the host organization, a bulk transaction request specifying a plurality of database transactions to be processed against a database system of the host organization; sending a response to the client device having submitted the bulk transaction request, wherein the response provides at least;
(a) an indication of successful receipt of the bulk transaction request and (b) an acknowledgement that the bulk transaction request is queued for processing or queued for asynchronous processing;retrieving the bulk transaction request from a transaction queue; determining a current computational load of the database system; processing a subset of the plurality of database transactions specified by the bulk transaction request against the database system when the current computational load is below a threshold; updating a bulk transaction results log based on the subset of the plurality of database transactions processed; wherein the plurality of real-time transaction requests are assigned a higher priority than the plurality of bulk transaction requests and are selected for processing against the database system based on the higher priority; and wherein the plurality of bulk transaction requests are assigned a lower priority than the plurality of real-time transaction requests and are selected for processing against the database system based on the lower priority and based further on the determined current computational load of the database system. - View Dependent Claims (21)
-
-
22. A host organization comprising:
-
a processor and a memory; receiving via a web-server, a bulk transaction request from a client, the bulk transaction request specifying a plurality of database transactions to be processed against a database system of the host organization; queuing via a transaction queue, the bulk transaction request for processing among a plurality of pending transactions; sending via the web-server, a response to the client device having submitted the bulk transaction request, wherein the response provides at least;
(a) an indication of successful receipt of the bulk transaction request and (b) an acknowledgement that the bulk transaction request is queued for processing or queued for asynchronous processing;determining via a load analyzer, a current computational load of the database system; receiving via a load balancer, the bulk transaction request from the transaction queue; distributing via a distribution module, at least a subset of the plurality of database transactions specified by the bulk transaction to the database system for processing when the current computational load is below a threshold; wherein the plurality of real-time transaction requests are assigned a higher priority than the plurality of bulk transaction requests and are selected for processing against the database system based on the higher priority; and wherein the plurality of bulk transaction requests are assigned a lower priority than the plurality of real-time transaction requests and are selected for processing against the database system based on the lower priority and based further on the determined current computational load of the database system. - View Dependent Claims (23)
-
Specification