Interoperable shared query based on heterogeneous data sources
First Claim
1. A computer-implemented method executed by at least one processor, the method comprising:
- receiving, by a computer system, a request to execute a shared query, wherein the shared query comprises one of a plurality of pre-defined shared queries, and the shared query comprises a pre-defined query specification associated with the shared query, the query specification comprising pre-defined connections to a first and a second data sources associated with the shared query, the query specification specifying the shared query on a semantic layer and including search terms, parameters, filters, and aspects of the shared query to be used at runtime upon execution of the shared query, where each pre-defined shared query of the plurality of pre-defined shared queries is associated with a corresponding set of access rights, and wherein the request to execute the shared query represents a specific request to execute a particular shared query from the plurality of pre-defined shared queries from a particular application or user;
in response to receiving the request, determining whether the particular application or user is allowed to access the shared query based on the set of access rights associated with the shared query;
allowing execution of the shared query upon a determination that the particular application or user is allowed to access the shared query, wherein allowing execution of the share query includes;
identifying the pre-defined query specification associated with the shared query;
in response to the identifying the pre-defined query specification, identifying the first data source and the second data source based on the identified query specification;
generating a native query for each respective data source of the identified first and second data sources based on the identified query specification;
executing the generated native queries at the respective data sources to collect a set of query results from the respective data sources; and
formatting the set of query results from the respective data sources into a unified set of query results; and
rejecting the execution request upon a determination that the particular application or user is not allowed to access the shared query.
2 Assignments
0 Petitions
Accused Products
Abstract
The disclosure generally describes computer-implemented methods, software, and systems for creating and using shared queries based on heterogeneous data sources. One example method includes receiving a request to execute a shared query, identifying at least one data source and a query specification associated with the shared query, generating a native query for each identified data source based on the identified query specification, executing the generated native queries at the respective data sources to collect a set of query results from the respective data sources, and formatting the set of query results from the respective data sources into a unified set of query results.
30 Citations
17 Claims
-
1. A computer-implemented method executed by at least one processor, the method comprising:
-
receiving, by a computer system, a request to execute a shared query, wherein the shared query comprises one of a plurality of pre-defined shared queries, and the shared query comprises a pre-defined query specification associated with the shared query, the query specification comprising pre-defined connections to a first and a second data sources associated with the shared query, the query specification specifying the shared query on a semantic layer and including search terms, parameters, filters, and aspects of the shared query to be used at runtime upon execution of the shared query, where each pre-defined shared query of the plurality of pre-defined shared queries is associated with a corresponding set of access rights, and wherein the request to execute the shared query represents a specific request to execute a particular shared query from the plurality of pre-defined shared queries from a particular application or user; in response to receiving the request, determining whether the particular application or user is allowed to access the shared query based on the set of access rights associated with the shared query; allowing execution of the shared query upon a determination that the particular application or user is allowed to access the shared query, wherein allowing execution of the share query includes; identifying the pre-defined query specification associated with the shared query; in response to the identifying the pre-defined query specification, identifying the first data source and the second data source based on the identified query specification; generating a native query for each respective data source of the identified first and second data sources based on the identified query specification; executing the generated native queries at the respective data sources to collect a set of query results from the respective data sources; and formatting the set of query results from the respective data sources into a unified set of query results; and rejecting the execution request upon a determination that the particular application or user is not allowed to access the shared query. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer program product encoded on a tangible, non-transitory storage medium, the product comprising computer readable instructions for causing one or more processors to perform operations comprising:
-
receiving, by a computer system, a request to execute a shared query, wherein the shared query comprises one of a plurality of pre-defined shared queries, and the shared query comprises a pre-defined query specification associated with the shared query, the query specification comprising pre-defined connections to a first and a second data sources associated with the shared query, the query specification specifying the shared query on a semantic layer and including search terms, parameters, filters, and aspects of the shared query to be used at runtime upon execution of the shared query, where each pre-defined shared query of the plurality of pre-defined shared queries is associated with a corresponding set of access rights, and wherein the request to execute the shared query represents a specific request to execute a particular shared query from the plurality of pre-defined shared queries from a particular application or user; in response to receiving the request, determining whether the particular application or user is allowed to access the shared query based on the set of access rights associated with the shared query; allowing execution of the shared query upon a determination that the particular application or user is allowed to access the shared query, wherein allowing execution of the share query includes; identifying the pre-defined query specification associated with the shared query; in response to the identifying the pre-defined query specification, identifying the first data source and the second data source based on the identified query specification; generating a native query for each respective data source of the identified first and second data sources based on the identified query specification; executing the generated native queries at the respective data sources to collect a set of query results from the respective data sources; and formatting the set of query results from the respective data sources into a unified set of query results; and rejecting the execution request upon a determination that the particular application or user is not allowed to access the shared query. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A system, comprising:
-
one or more processors; memory storing one or more programs for execution by the one or more processors, the one or more programs operable when executed to; receive a request to execute a shared query, wherein the shared query comprises one of a plurality of pre-defined shared queries, and the shared query comprises a pre-defined query specification associated with the shared query, the query specification comprising pre-defined connections to a first and a second data sources associated with the shared query, the query specification specifying the shared query on a semantic layer and including search terms, parameters, filters, and aspects of the shared query to be used at runtime upon execution of the shared query, where each pre-defined query of the plurality of pre-defined shared queries is associated with a corresponding set of access rights, and wherein the request to execute the shared query represents a specific request to execute a particular shared query from the plurality of pre-defined shared queries from a particular application or user; in response to receiving the request, determining whether the particular application or user is allowed to access the shared query based on the set of access rights associated with the shared query; allow execution of the shared query upon a determination that the particular application or user is allowed to access the shared query, wherein allowing execution of the share query includes; identify the pre-defined query specification associated with the shared query; in response to the identifying the query specification, identify the first data source and the second data source based on the identified query specification; generate a native query for each respective data source of the identified first and second data sources based on the identified query specification; execute the generated native queries at the respective data sources to collect a set of query results from the respective data sources; and format the set of query results from the respective data sources into a unified set of query results; and reject the execution request upon a determination that the particular application or user is not allowed to access the shared query. - View Dependent Claims (17)
-
Specification