Methods and systems for batch processing in an on-demand service environment
First Claim
1. A non-transitory computer readable storage medium having computer instructions stored thereon that are capable of causing a computer to implement operations comprising:
- receiving a first batch request from a user of a database service, wherein the first batch request specifies;
processing logic including instructions for performing at least one operation; and
a data group indicative of data stored by the database service that is to be processed using the processing logic;
dividing the data group into a plurality of data sub-groups;
queuing the first batch request in a batch processing queue of the database service; and
when the first batch request in the batch processing queue is to be processed, determining to process a portion of the plurality of data sub-groups using the processing logic and re-queue remaining unprocessed portions of the plurality of data sub-groups behind a second, different batch request in the batch processing queue such that the remaining unprocessed portions are to be processed using the processing logic after processing at least a portion of the second, different batch request.
0 Assignments
0 Petitions
Accused Products
Abstract
In accordance with embodiments disclosed herein, there are provided mechanisms and methods for batch processing in an on-demand service environment. For example, in one embodiment, mechanisms include receiving a processing request for a multi-tenant database, in which the processing request specifies processing logic and a processing target group within the multi-tenant database. Such an embodiment further includes dividing or chunking the processing target group into a plurality of processing target sub-groups, queuing the processing request with a batch processing queue for the multi-tenant database among a plurality of previously queued processing requests, and releasing each of the plurality of processing target sub-groups for processing in the multi-tenant database via the processing logic at one or more times specified by the batch processing queue.
152 Citations
20 Claims
-
1. A non-transitory computer readable storage medium having computer instructions stored thereon that are capable of causing a computer to implement operations comprising:
-
receiving a first batch request from a user of a database service, wherein the first batch request specifies; processing logic including instructions for performing at least one operation; and a data group indicative of data stored by the database service that is to be processed using the processing logic; dividing the data group into a plurality of data sub-groups; queuing the first batch request in a batch processing queue of the database service; and when the first batch request in the batch processing queue is to be processed, determining to process a portion of the plurality of data sub-groups using the processing logic and re-queue remaining unprocessed portions of the plurality of data sub-groups behind a second, different batch request in the batch processing queue such that the remaining unprocessed portions are to be processed using the processing logic after processing at least a portion of the second, different batch request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system comprising:
-
one or more processors; and a memory having program instructions stored thereon that are executable by the one or more processors to perform operations comprising; receiving a first batch request from a customer of a database service, wherein the first batch request specifies; processing logic including instructions for performing at least one operation; and a data group indicative of data within the database service that is to be processed using the processing logic; dividing the data group into a plurality of data sub-groups; queuing a first indication of the plurality of data sub-groups in a batch processing queue of the database service; and when the first indication in the batch processing queue is to be processed, determining to process a portion of the plurality of data sub-groups using the processing logic and queue, in the batch processing queue, a second indication of remaining unprocessed portions of the plurality of data sub-groups such that the remaining unprocessed portions are to be processed using the processing logic after processing at least a portion of data sub-groups associated with a second batch request.
-
-
16. A method comprising:
-
receiving a first batch request from a user of a database service, wherein the first batch request specifies; processing logic including instructions for performing at least one operation; and a data group indicative of data stored by the database service that is to be processed using the processing logic; dividing the data group into a plurality of data sub-groups; queuing a first indication of the plurality of data sub-groups in a batch processing queue of the database service; and when the first indication in the batch processing queue is to be processed, making a determination to process a portion of the plurality of data sub-groups using the processing logic and re-queue the first indication in the batch processing queue such that remaining unprocessed portions of the plurality of data sub-groups are to be processed using the processing logic after processing at least a portion of data sub-groups associated with a second batch request. - View Dependent Claims (17, 18, 19, 20)
-
Specification