Virtual mode execution manager
US-12118376-B2 · Oct 15, 2024 · US
US10013278B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10013278-B2 |
| Application number | US-201414288324-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 27, 2014 |
| Priority date | Apr 20, 2010 |
| Publication date | Jul 3, 2018 |
| Grant date | Jul 3, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 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. 2. The non-transitory computer readable storage medium of claim 1 , wherein the processing logic comprises customer logic to be applied to the data group in the database service; and wherein the customer logic is applied to each of the plurality of data sub-groups in the database service when processed. 3. The non-transitory computer readable storage medium of claim 1 , further comprising: sending a completion notification to an originator of the first batch request. 4. The non-transitory computer readable storage medium of claim 3 , wherein the completion notification comprises a completion report specifying: each of the plurality of data sub-groups processed in the database service; and a completion status for each of the plurality of data sub-groups indicating a successful or unsuccessful completion for each data sub-group. 5. The non-transitory computer readable storage medium of claim 1 , wherein the first batch request is received at a host organization having the database service operating therein; and wherein the first batch request is one of a plurality of requests received from a plurality of users associated with customer organizations, wherein each customer organization is one of: a separate and distinct remote organization, an organizational group within the host organization, a business partner of the host organization, or a customer organization that subscribes to cloud computing services provided by the host organization. 6. The non-transitory computer readable storage medium of claim 1 , wherein the data group specified by the first batch request comprises at least one of a plurality of rows within one or more tables of a relational data store in the database service and a plurality of objects in a non-relational data store in the database service. 7. The non-transitory computer readable storage medium of claim 1 , wherein the database service comprises elements of hardware and software that are shared by a plurality of separate and distinct customer organizations, each of the separate and distinct customer organizations being remotely located from a host organization having the database service operating therein; and wherein the data group specified by the first batch request comprises at least one of a plurality of rows within one or more tables of a relational data store in the database service and a plurality of objects in a non-relational data store in the database service. 8. The non-transitory computer readable storage medium of claim 1 , wherein dividing the data group into a plurality of data sub-groups is based on a size threshold. 9. The non-transitory computer readable storage medium of claim 1 , wherein processing the portion of the plurality of data sub-groups using the processing logic comprises concurrently processing a set of the portion of the plurality of data sub-groups. 10. The non-transitory computer readable storage medium of claim 1 , wherein the operations further comprise performing synchronous transaction requests for the database service. 11. The non-transitory computer readable storage medium of claim 1 , wherein the determination is based on one or more release limits not being violated, wherein the one or more release limits specify constraints on usage of system resources. 12. The non-transitory computer readable storage medium of claim 11 , wherein the operations further comprise throttling releases of batch processing jobs responsive to a violation of one of the one or more release limits. 13. The non-transitory computer readable storage medium of claim 1 , further comprising terminating processing of a given one of the portion of the plurality of data sub-groups responsive to an error in processing the given one of the portion of the plurality of data sub-groups. 14. The non-transitory computer readable storage medium of claim 1 , wherein the operations further comprise: when a third batch request in the batch processing queue is to be processed, determining to process each of a plurality of data sub-groups of the third batch request using the processing logic. 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. 17. The method of claim 16 , further comprising retrieving current computational loading of the database service to determine whether to release data sub-groups for processing. 18. The method of claim
by program, e.g. task dispatcher, supervisor, operating system · CPC title
Request control · CPC title
Transaction processing · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.