Metadata-based general request translator for distributed computer systems
Abstract
A method of transforming requests into queries on a data store is disclosed. The method comprises receiving, by a processor, a request for data stored in a data store, the request being in a request query language based on a domain model, the request including a first part specifying a navigation path of one or more joins and one or more aggregations, the request including a second part specifying details of the one or more joins and aggregations; mapping, by the processor, entities specified in the request to a plurality of tables and a plurality of fields in the data store using metadata associated with the domain model; creating table aliases based on the plurality of tables or the one or more joins; creating field aliases based on the plurality of fields or the one or more aggregations; assembling the table aliases and the field aliases into one or more queries associated with the data store; sending the one or more queries to the data store.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A computer-implemented method of transforming requests into queries on a data store, comprising:
receiving, by a processor, a request for data stored in a data store, the request being in a request query language based on a domain model, the request including a first part specifying a navigation path of one or more joins and one or more aggregations, the request including a second part specifying details of the one or more joins and aggregations; mapping, by the processor, entities specified in the request to a plurality of tables and a plurality of fields in the data store using metadata associated with the domain model; creating table aliases based on the plurality of tables or the one or more joins; creating field aliases based on the plurality of fields or the one or more aggregations; assembling the table aliases and the field aliases into one or more queries associated with the data store; sending the one or more queries to the data store.
2 . The computer-implemented method of claim 1 , the creating field aliases recursively starting from a lowest level of aggregation in the request, leading to the one or more queries in a nested structure.
3 . The computer-implemented method of claim 1 , the creating field aliases ensuring that all occurrences of a field mapped from the request refer to the same alias.
4 . The computer-implemented method of claim 1 , the navigation path consisting of names of the entities, association symbols to denote the one or more joins, aggregation symbols to denote the one or more aggregations, or characters denoting abbreviation.
5 . The computer-implemented method of claim 1 , the details indicating fields on which a join is based or types of aggregation.
6 . The computer-implemented method of claim 1 ,
the domain model describing names and data types of objects, attributes, and associations of data stored in the data store in a storage-agnostic manner, the domain model being read-accessible for creating requests.
7 . The computer-implemented method of claim 1 ,
the one or more queries being in a query language associated with the data store, the assembling comprising merging keywords for certain constructs of the query language with the table aliases and field aliases.
8 . The computer-implemented method of claim 1 , further comprising:
receiving a result from executing the one or more queries on the data store; sending response data based on the result to a device from which the request was received.
9 . The computer-implemented method of claim 8 , further comprising generating the response data in a transport format or a format specific to the device.
10 . The computer-implemented method of claim 1 , further comprising:
monitoring usage patterns of the data store; creating indexes and materialized database views for the data store based on the usage patterns; updating the domain model to enable use of definitions of the materialized database views in a navigation path of a request.
11 . A computer-readable, non-transitory storage medium storing computer-executable instructions, which when executed implement a method of transforming requests into queries on a data store, the method comprising:
receiving a request for data stored in a data store, the request being in a request query language based on a domain model, the request including a first part specifying a navigation path of one or more joins and one or more aggregations, the request including a second part specifying details of the one or more joins and aggregations; mapping entities specified in the request to a plurality of tables and a plurality of fields in the data store using metadata associated with the domain model; creating table aliases based on the plurality of tables or the one or more joins; creating field aliases based on the plurality of fields or the one or more aggregations; assembling the table aliases and the field aliases into one or more queries associated with the data store; sending the one or more queries to the data store.
12 . The computer-readable, non-transitory storage medium of claim 11 , the creating field aliases recursively starting from a lowest level of aggregation in the request, leading to the one or more queries in a nested structure.
13 . The computer-readable, non-transitory storage medium of claim 11 , the creating field aliases ensuring that all occurrences of a field mapped from the request refer to the same alias.
14 . The computer-readable, non-transitory storage medium of claim 11 , the navigation path consisting of names of the entities, association symbols to denote the one or more joins, aggregation symbols to denote the one or more aggregations, or characters denoting abbreviation.
15 . The computer-readable, non-transitory storage medium of claim 11 , the details indicating fields on which a join is based or types of aggregation.
16 . The computer-readable, non-transitory storage medium of claim 11 ,
the domain model describing names and data types of objects, attributes, and associations of data stored in the data store in a storage-agnostic manner, the domain model being read-accessible for creating requests.
17 . The computer-readable, non-transitory storage medium of claim 11 ,
the one or more queries being in a query language associated with the data store, the assembling comprising merging keywords for certain constructs of the query language with the table aliases and field aliases.
18 . The computer-readable, non-transitory storage medium of claim 11 , the method further comprising:
receiving a result from executing the one or more queries on the data store; sending response data based on the result to a device from which the request was received.
19 . The computer-readable, non-transitory storage medium of claim 18 , the method further comprising generating the response data in a transport format or a format specific to the device.
20 . The computer-readable, non-transitory storage medium of claim 11 , the method further comprising:
monitoring usage patterns of the data store; creating indexes and materialized database views for the data store based on the usage patterns; updating the domain model to enable use of definitions of the materialized database views in a navigation path of a request.Join the waitlist — get patent alerts
Track US2022300499A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.