IP Library › Granted Patent US 10,803,083
Granted Patent B2
US 10,803,083 · App. 15/247,677 · Granted Oct 13, 2020

System and method of generating platform-agnostic abstract syntax tree

Inventors: Navin Budhiraja (Palo Alto, CA); Sudipto Shankar Dasgupta (Bangalore, IN); Mayoor Rao (Mangalore, IN)
Assignee: Infosys Limited
G06F16/258
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,803,083
App. No.
15/247,677
Granted
Oct 13, 2020
Kind
B2
Abstract

A method generating a platform-agnostic abstract syntax tree (AST) comprises receiving data in a predefined format, through an input unit; subsequently parsing the data to extract model information corresponding to the predefined format of the data; and transforming, by a processing server, the model information to an abstract syntax tree (AST) structure. The above steps aid in generating, by the processing server, a platform-agnostic AST by combining predefined metadata and the abstract syntax tree (AST) structure.

Claims (47)

1. A method, implemented through a computing system, of generating a platform-agnostic abstract syntax tree (AST) comprising:

receiving, through an input unit, user input data in a predefined format;

parsing the user input data, by a first parser, to extract at least one model information corresponding to the predefined format of the user input data;

transforming, by a processing server, the at least one model information to a transformed abstract syntax tree (AST) structure which is free of metadata;

generating, by the processing server, a platform-agnostic AST by adding a predefined metadata, a file type, and a schema definition to the transformed AST structure that is free of metadata, wherein the predefined metadata, the file type, and the schema definition are retrieved from a metastore which is separate from the processing server;

parsing the platform-agnostic AST, through a second parser, to obtain an interim data model;

selecting, by a transformation engine, a transformer corresponding to a target execution engine and passing the interim data model to the transformer; and

generating, by the transformer, a platform-specific query to be executed by the target execution engine;

wherein the predefined metadata comprises location information, wherein the location information comprises a pointer to data to be loaded into a memory of the computing system for processing and analysis by the processing server.

2. The method as claimed in claim 1 , wherein the at least one model information comprises of at least a set of table names.

3. The method as claimed in claim 1 , wherein a transformation engine is configured to filter a noise data from the user input data to retain relevant information constituting the transformed AST structure, wherein the noise data comprises information which is relevant to rendering the transformed AST structure.

4. The method as claimed in claim 1 , wherein the processing server is configured to generate a model execution path for enrichment of the transformed AST structure by adding at least one AST enrichment parameter to the transformed AST structure.

5. The method as claimed in claim 4 , wherein the at least one AST enrichment parameter is selected from the predefined metadata.

6. A system of template creation for a data extraction tool comprising:

one or more processors; and

one or more memories operatively coupled to at least one of the one or more processors and having instructions stored thereon that, when executed by at least one of the one or more processors, cause at least one of the one or more processors to:

receive, through an input unit, user input data in a predefined format;

parse the user input data, by a first parser, to extract at least one model information corresponding to the predefined format of the user input data;

transform, by a processing server, the at least one model information to a transformed abstract syntax tree (AST) structure which is free of metadata, wherein only tables, selected columns, aggregate function, filter condition, and join information are retained in the transformed AST structure;

generate, by the processing server, a platform-agnostic AST by adding a predefined metadata, a file type, and a schema definition to the transformed AST structure that is free of metadata, wherein the predefined metadata, the file type, and the schema definition are retrieved from a metastore which is separate from the processing server;

parse the platform-agnostic AST, through a second parser, to obtain an interim data model;

select, by a transformation engine, a transformer corresponding to a target execution engine and pass the interim data model to the transformer; and

generate, by the transformer, a platform-specific query to be executed by the target execution engine;

wherein the predefined metadata comprises location information, wherein the location information comprises a pointer to data to be loaded into a memory of a computing system for processing and analysis by the processing server.

7. The system as claimed in claim 6 , wherein the input unit comprises a Graphical User modeler configured to define relations between at least two underlying tables.

8. The system as claimed in claim 6 , wherein a transformation engine is configured to filter a noise data from the user input data to retain relevant information constituting the transformed AST structure, wherein the noise data comprises information which is relevant to rendering the transformed AST structure.

9. The system as claimed in claim 6 , wherein the processing server is configured to generate a model execution path for enrichment of the transformed AST structure and generate an enriched AST structure by adding at least one AST enrichment parameter to the transformed AST structure.

10. The system as claimed in claim 9 , wherein the enriched AST structure is stored in the metastore.

11. One or more non-transitory computer-readable media comprising computer-executable instructions that cause a computing system to perform a method of generating a platform-agnostic abstract syntax tree (AST) comprising:

receiving, through an input unit, user input data comprising a query construct;

parsing the user input data to extract at least one model information corresponding to the query construct of the user input data;

transforming the at least one model information to a transformed abstract syntax tree (AST) structure which is free of metadata, wherein only tables, selected columns, aggregate function, filter condition, and join information are retained in the transformed AST structure;

generating an enriched, platform-agnostic AST by adding a predefined metadata, a file type, and a schema definition to the transformed AST structure that is free of metadata, wherein the predefined metadata, the file type, and the schema definition are retrieved from a metastore which is separate from a processing server;

generating an interim data model by parsing the enriched, platform-agnostic AST;

selecting a transformer corresponding to a target execution engine and passing the interim data model to the transformer; and

generating a platform-specific query to be executed by the target execution engine;

wherein the transformer comprises a map reduce job on Hadoop, a Hive query transformer, or a Spark query transformer.

12. The one or more non-transitory computer-readable media as claimed in claim 11 ,

wherein the predefined metadata comprises location information, wherein the location information comprises a pointer to data to be loaded into a memory of the computing system for processing and analysis by the processing server.

13. The system as claimed in claim 6 wherein the system supports a transformer for map reduce jobs on Hadoop, a transformer for Hive queries, and a transformer for Spark queries.

14. The method as claimed in claim 1 ,

wherein the transformation engine supports a map reduce job on Hadoop transformer, a Hive query transformer, and a Spark query transformer.

15. The method as claimed in claim 1 , wherein the predefined format comprises an SQL query construct.

16. The method as claimed in claim 1 , wherein the target execution engine is selected from the metastore where it is stored in a preconfigured state.

17. The system as claimed in claim 6 , wherein the predefined format comprises an SQL query construct.

18. The system as claimed in claim 6 , wherein the target execution engine is selected from the metastore where it is stored in a preconfigured state.

19. The one or more non-transitory computer-readable media as claimed in claim 11 , wherein the target execution engine is selected from the metastore where it is stored in a preconfigured state.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2020
From: BUDHIRAJA, NAVIN; DASGUPTA, SUDIPTO SHANKAR; RAO, MAYOOR
To: INFOSYS LIMITED
Reel/Frame 053138/0653 →
Priority Claims (1)
IN 4511/CHE/2015 · Aug 27, 2015 · national
Continuity (1)
Related Publication 20170060910A1 · Mar 2, 2017
Cited By (1)
US 12,361,025