Methods and systems for bulk uploading of data in an on-demand service environment
First Claim
1. A method in a host organization having at least a processor and a memory therein, wherein the method comprises:
- receiving a bulk transaction request from a client device communicatively interfaced to the host organization at a web-server interface of the host organization executing via the processor and memory of the host organization, wherein the bulk transaction request specifies 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 from the web-server interface of the host organization, 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 a current computational load of the database system based on a plurality of real-time transaction requests and a plurality of bulk transaction requests awaiting processing via the database system; and
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, 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 further 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.
126 Citations
20 Claims
-
1. A method in a host organization having at least a processor and a memory therein, wherein the method comprises:
-
receiving a bulk transaction request from a client device communicatively interfaced to the host organization at a web-server interface of the host organization executing via the processor and memory of the host organization, wherein the bulk transaction request specifies 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 from the web-server interface of the host organization, 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 a current computational load of the database system based on a plurality of real-time transaction requests and a plurality of bulk transaction requests awaiting processing via the database system; and 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, 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 further 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. Non-transitory computer readable storage media having instructions stored thereupon that, when executed by a processor and a memory of a host organization, the instructions cause the host organization to perform operations comprising:
-
receiving a bulk transaction request from a client device communicatively interfaced to the host organization at a web-server interface of the host organization executing via the processor and memory of the host organization, wherein the bulk transaction request specifies 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 from the web-server interface of the host organization, 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 a current computational load of the database system based on a plurality of real-time transaction requests and a plurality of bulk transaction requests awaiting processing via the database system; and 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, 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 further 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 (12, 13, 14, 15)
-
-
16. A host organization comprising:
-
a processor and a memory; a web-server to execute via the processor and the memory of the host organization; wherein the web-server is to receive a bulk transaction request from a client communicatively interfaced to the host organization, wherein the bulk transaction request specifies a plurality of database transactions to be processed against a database system of the host organization; the web-server to send a response from the web-server interface of the host organization 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;a load analyzer to determine a current computational load of the database system based on a plurality of real-time transaction requests and a plurality of bulk transaction requests awaiting processing via the database system; a distribution module to distribute for processing via the database system of the host organization, a subset of the plurality of database transactions specified by the bulk transaction request 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 further 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 (17, 18, 19, 20)
-
Specification