Worker thread processing
AssigneeSap SE
InventorViren Kumar
Life of this patent
Estimating the term…
Abstract
A system includes reception of a request to display a first dashboard, transmission of a request for a first dashboard data file associated with the first dashboard from a server system, reception of the first dashboard data file associated with the first dashboard from the server system, issuance a first plurality of queries of the first dashboard data file to the server system, reception of result sets in response to the first plurality of queries, building of results based on the result sets and the model data, rendering of one or more data visualizations based on the results, and presentation of the one or more data visualizations on the display.
Claims18
A system comprising:
- a display;
- a memory storing processor-executable process steps;
- and
- a processor to execute the processor-executable process steps to:
- receive a request to display a dashboard including one or more data visualizations;
- fetch a data file associated with the dashboard from a remote data source, the data file comprising:
- 1. a definition, based on model data, of each of the one or more data visualizations, 2. model data defining dimensions and measures against which a plurality of queries are to be run, and 3. the plurality of queries associated with the one or more data visualizations;
- issue, via a worker thread, at least one outstanding query of the plurality of queries to the remote data source, wherein a priority queue algorithm limits a number of outstanding queries issued at a time;
- determine a response is received to the at least one outstanding query;
- in response to the determination of the received response:
- transmit the received response to a main execution thread, wherein the main execution thread is different from the worker threads, and
- issue a remaining outstanding query of the plurality of queries;
- build results based on responses and the model data, as the response to each outstanding query is received;
- render, by the main execution thread and while the worker thread issues the outstanding queries, the one or more data visualizations based on the results;
- and
- present the one or more data visualizations on the display.
A computer-implemented method comprising:
- receiving a request to display a dashboard including one or more data visualizations;
- fetching a data file associated with the dashboard from a remote data source, the data file comprising:
- 1. a definition, based on model data, of each of the one or more data visualizations, 2. model data defining dimensions and measures against which a plurality of queries are to be run, and 3. the plurality of queries associated with the one or more data visualizations;
- issuing, via a worker thread, at least one outstanding query of the plurality of queries to the remote data source, wherein a priority queue algorithm limits a number of outstanding queries issued at a time;
- determining a response is received to the at least one outstanding query;
- in response to the determination of the received response:
- transmitting the received response to a main execution thread, wherein the main execution thread is different from the worker threads, and
- issuing a remaining outstanding query of the plurality of queries;
- building results based on responses and the model data, as the response to each outstanding query is received;
- rendering, by the main execution thread and while the worker thread issues the outstanding queries, the one or more data visualizations based on the results;
- and
- presenting the one or more data visualizations on the display.
A system comprising:
- a server system comprising a memory system, the memory system storing a plurality of dashboard data files, each of the plurality of dashboard data files comprising:
- 1. a definition, based on model data, of each of one or more data visualizations, 2. model data defining dimensions and measures against which a plurality of queries are to be run, and 3. the plurality of queries associated with the one or more data visualizations;
- and
- a client system comprising:
- a display;
- and
- a processor to control the client system to:
- receive a request to display a first dashboard;
- transmit a request for a first dashboard data file associated with the first dashboard from the server system;
- receive the first dashboard data file associated with the first dashboard from the server system;
- issue, via a worker thread, at least one outstanding query of a first plurality of queries of the first dashboard data file to the server system, wherein a priority queue algorithm limits a number of outstanding queries at a time;
- determine a response is received to the at least one outstanding query;
- in response to the determination of the received response:
- transmit the received response to a main execution thread, wherein the main execution thread is different from the worker threads, and
- issue a remaining outstanding query of the plurality of queries;
- build results based on responses and model data of the first dashboard file, as the response to each outstanding query is received;
- render, by the main execution thread and while the worker thread issues the outstanding queries, one or more data visualizations based on the results;
- and
- present the one or more data visualizations on the display.
Dependencies are inferred from the claim text.