System and method for configuring a dynamic query builder mechanism
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- JIO PLATFORMS LTD
- Filing Date
- 2024-06-18
- Publication Date
- 2026-05-20
AI Technical Summary
Conventional systems require users to have knowledge of backend database design and programming to configure query builders, making the troubleshooting process tedious and inefficient, especially when dealing with different types of databases.
A dynamic query builder mechanism that receives query creation requests in natural language, dynamically creates data interchange format queries, validates them against pre-created queries, and stores them in a database, allowing users to configure queries without needing database-specific knowledge, and enabling reuse across multiple databases.
Facilitates user-friendly query configuration and execution, eliminating the need for database-specific knowledge and improving efficiency by allowing queries to be reused across various databases, thus enhancing troubleshooting operations.
Smart Images

Figure IN2024050856_16012025_PF_FP_ABST
Abstract
Description
SYSTEM AND METHOD FOR CONFIGURING A DYNAMIC QUERY BUIEDER MECHANISMRESERVATION OF RIGHTS
[0001] A portion of the disclosure of this patent document contains material, which is subject to intellectual property rights such as, but are not limited to, copyright, design, trademark, Integrated Circuit (IC) layout design, and / or trade dress protection, belonging to Jio Platforms Limited (JPL) or its affiliates (hereinafter referred as owner). The owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights whatsoever. All rights to such intellectual property are fully reserved by the owner.TECHNICAL FIELD
[0002] The present disclosure relates to a field of communications network, and specifically to a system and a method for configuring a dynamic query builder mechanism with respect to adaptive troubleshooting operations management.BACKGROUND
[0003] The following description of related art is intended to provide background information pertaining to the field of the disclosure. This section may include certain aspects of the art that may be related to various features of the present disclosure. However, it should be appreciated that this section be used only to enhance the understanding of the reader with respect to the present disclosure, and not as admissions of prior art.
[0004] In general, in communications network, in order to manage troubleshooting operations, for different types of database, a dedicate query builder may be configured. In conventional systems and methods, a user may be requiredto have knowledge of backend database design and programming approach in order to provide data for query creation, making the entire process tedious and inefficient.
[0005] There is, therefore, a need in the art to provide a system and a method that can overcome the deficiencies of the prior arts.OBJECTS OF THE PRESENT DISCLOSURE
[0006] It is an object of the present disclosure to provide a system and a method for configuring a dynamic query builder mechanism.
[0007] It is an object of the present disclosure to provide a system and a method for configuring query builder that is database agnostic.
[0008] It is an object of the present disclosure to use a query for use with multiple other queries, if required, thereby making the process more efficient as compared to traditional systems and methods.SUMMARY OF THE PRESENT DISCLOSURE
[0009] The present disclosure discloses a system for configuring a dynamic query builder mechanism. The system comprises a processor configured to receive a query creation request from a user. The query creation request includes a set of parameters selected by the user. The query creation request is received in the form of a natural language. The system further comprises an analysis engine coupled to the processor. The analysis engine is configured to in response to the query creation request, dynamically create a data interchange format query based on the set of parameters selected by the user. The analysis engine is further configured to validate the data interchange format query against a plurality of pre-created data interchange format queries stored in a database. In addition, upon successful validation of the data interchange format query, the analysis engine is further configured to store the data interchange format query in the database.
[0010] In an embodiment, the set of parameters include at least one of a selection of a node name on which the data interchange format query is to be executed, a selection of a timestamp, and a selection of a type of query.
[0011] In an embodiment, the type of query comprises one or more of a simple query, a nested query, an aggregation query, a complex query, and a formula query.
[0012] In an embodiment, the analysis engine is further configured to generate a notification to inform the user upon unsuccessful validation of the data interchange format query.
[0013] In an embodiment, the natural language is indicative of a human readable format agnostic of any underlying database.
[0014] In an embodiment, the database is part of a distributed data lake.
[0015] The present disclosure also discloses a method for configuring a dynamic query builder mechanism. The method comprises receiving a query creation request from a user. The query creation request includes a set of parameters selected by the user. The query creation request is received in the form of a natural language. In an example, query such as circle = location 1, where location 1 can be a city / circle, in the form of the natural language may be provided. This results in obtaining users in location 1. In another example, query such as: circle = “location 1” not “sector 4” , where location 1 can be a city / circle and sector 4 may be specific area in the city / circle, in the form of the natural language may be provided. This results in listing the users in location 1 but filtering out the users from sector 4. In addition, the method comprises in response to the query creation request, dynamically creating a data interchange format query based on the set of parameters selected by the user. Further, the method comprises validating the data interchange format query against a plurality of pre-created data interchange format queriesstored in a database. Upon successful validation of the data interchange format query, the method comprises storing the data interchange format query in the database.
[0016] In an embodiment, the set of parameters include at least one of a selection of a node name on which the data interchange format query is to be executed, a selection of a timestamp, and a selection of a type of query.
[0017] In an embodiment, the type of query comprises one or more of a simple query, a nested query, an aggregation query, a complex query, and a formula query.
[0018] In an embodiment, the method further comprises generating a notification to inform the user upon unsuccessful validation of the data interchange format query.
[0019] In an embodiment, the method further comprises reusing the stored data interchange format queries across multiple databases of a data lake.
[0020] The present disclosure discloses a computer program product comprising a non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to receive a query creation request from a user. The query creation request includes a set of parameters selected by the user. The query creation request is received in the form of a natural language. In addition, the instructions cause the one or more processors to, in response to the query creation request, dynamically create a data interchange format query based on the set of parameters selected by the user. Further, the instructions cause the one or more processors to validate the data interchange format query against a plurality of pre-created data interchange format queries stored in a database. Upon successful validation of the data interchange format query, the instructions cause the one or more processors to store the data interchange format query in the database.BRIEF DESCRIPTION OF THE DRAWINGS
[0021] In the figures, similar components and / or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label with a second label that distinguishes among the similar components. If only the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label.
[0022] The diagrams are for illustration only, which thus is not a limitation of the present disclosure, and wherein:
[0023] FIG. 1A illustrates an exemplary network architecture, in which or with which embodiments of the present disclosure may be implemented.
[0024] FIG. IB illustrates an exemplary system architecture, in accordance with an embodiment of the present disclosure.
[0025] FIG. 2 illustrates an exemplary block diagram of the proposed system, in accordance with an embodiment of the present disclosure.
[0026] FIG. 3 illustrates an exemplary sequence flow diagram for implementing the proposed system, in accordance with an embodiment of the present disclosure.
[0027] FIG. 4 illustrates an exemplary computer system in which or with which embodiments of the present disclosure may be implemented.
[0028] FIG. 5 illustrates an exemplary computer system in which or with which embodiments of the present disclosure may be implemented.LIST OF REFERENCE NUMERALS100A - Network Architecture102-1, 102-2... 102-N - Users104-1, 104-2... 104-N - User Equipments106- Network108 -System100B - System Architecture202 - Processor(s)204 - Memory206 -Interface(s)208 - Processing Engine210 - Database212 - Analysis Engine214 - Other Engines400 - Computer System410 - External Storage Device420 - Bus430 - Main Memory440 - Read Only Memory450 - Mass Storage Device460 - Communication Port470 - ProcessorDETAILED DESCRIPTION
[0029] In the following description, for the purposes of explanation, various specific details are set forth in order to provide a thorough understanding of embodiments of the present disclosure. It will be apparent, however, that embodiments of the present disclosure may be practiced without these specific details. Several features described hereafter can each be used independently of one another or with any combination of other features. An individual feature may notaddress all of the problems discussed above or might address only some of the problems discussed above. Some of the problems discussed above might not be fully addressed by any of the features described herein.
[0030] The ensuing description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the disclosure as set forth.
[0031] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.
[0032] Also, it is noted that individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed but could have additional steps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.
[0033] The word “exemplary” and / or “demonstrative” is used herein tomean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” and / or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive — in a manner similar to the term “comprising” as an open transition word — without precluding any additional or other elements.
[0034] Reference throughout this specification to “one embodiment” or “an embodiment” or “an instance” or “one instance” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0035] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and / or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. As used herein, the term “and / or” includes any and all combinations of one or more of the associated listed items.
[0036] The various embodiments of the present disclosure will be explainedin detail with reference to FIGs. 1 to 5.
[0037] FIG. 1A illustrates an exemplary network architecture (100A) in which or with which embodiments of the present disclosure may be implemented.
[0038] Referring to FIG. 1A, the network architecture (100A) may include one or more computing devices or user equipments (104-1, 104-2... 104-N) associated with one or more users (102-1, 102-2... 102-N) in an environment. A person of ordinary skill in the art will understand that one or more users (102-1, 102-2... 102-N) may be individually referred to as the user (102) and collectively referred to as the users (102). Similarly, a person of ordinary skill in the art will understand that one or more user equipments (104-1, 104-2... 104-N) may be individually referred to as the user equipment (104) and collectively referred to as the user equipment (104). A person of ordinary skill in the art will appreciate that the terms “computing device(s)” and “user equipment” may be used interchangeably throughout the disclosure. Although three user equipments (104) are depicted in FIG. 1, however any number of the user equipments (104) may be included without departing from the scope of the ongoing description.
[0039] In an embodiment, the user equipment (104) may include smart devices operating in a smart environment, for example, an Internet of Things (loT) system. In such an embodiment, the user equipment (104) may include, but is not limited to, smart phones, smart watches, smart sensors (e.g., mechanical, thermal, electrical, magnetic, etc.), networked appliances, networked peripheral devices, networked lighting system, communication devices, networked vehicle accessories, networked vehicular devices, smart accessories, tablets, smart television (TV), computers, smart security system, smart home system, other devices for monitoring or interacting with or for the users ( 102) and / or entities, or any combination thereof. A person of ordinary skill in the art will appreciate that the user equipment (104) may include, but is not limited to, intelligent, multi-sensing, network-connected devices, that can integrate seamlessly with each other and / or with a central server or a cloud-computing system or any other device that is network-connected.
[0040] In an embodiment, the user equipment (104) may include, but is not limited to, a handheld wireless communication device (e.g., a mobile phone, a smart phone, a phablet device, and so on), a wearable computer device(e.g., a headmounted display computer device, a head-mounted camera device, a wristwatch computer device, and so on), a Global Positioning System (GPS) device, a laptop computer, a tablet computer, or another type of portable computer, a media playing device, a portable gaming system, and / or any other type of computer device with wireless communication capabilities, and the like. In an embodiment, the user equipment (104) may include, but is not limited to, any electrical, electronic, electro-mechanical, or an equipment, or a combination of one or more of the above devices such as virtual reality (VR) devices, augmented reality (AR) devices, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, mainframe computer, or any other computing device, wherein the user equipment (104) may include one or more in-built or externally coupled accessories including, but not limited to, a visual aid device such as a camera, an audio aid, a microphone, a keyboard, and input devices for receiving input from the user (102) or the entity such as touch pad, touch enabled screen, electronic pen, and the like. A person of ordinary skill in the art will appreciate that the user equipment (104) may not be restricted to the mentioned devices and various other devices may be used.
[0041] Referring to FIG. 1A, the user equipment (104) may communicate with a system (108) through a network (106). In an embodiment, the network (106) may include at least one of a Fifth Generation (5G) network, 6G network, or the like. The network (106) may enable the user equipment (104) to communicate with other devices in the network architecture (100A) and / or with the system (108). The network (106) may include a wireless card or some other transceiver connection to facilitate this communication. In another embodiment, the network (106) may be implemented as, or include any of a variety of different communication technologies such as a wide area network (WAN), a local area network (LAN), a wireless network, a mobile network, a Virtual Private Network (VPN), the Internet,the Public Switched Telephone Network (PSTN), or the like.
[0042] The present disclosure discloses a system for configuring a dynamic query builder mechanism. As per the present disclosure a query creation request may be received from a user. The query creation request includes a set of parameters selected by the user. The query creation request is received in the form of a natural language. Further, in response to the query creation request, a data interchange format query may be dynamically created based on the set of parameters selected by the user. In examples, the data interchange format may include JavaScript Object Notation (JSON), Extensible Markup Language (XML), Yet Another Markup Language (YAML), comma-separated values (CSV), and the like.
[0043] The data interchange format query so created may be validated against a plurality of pre-created data interchange format queries stored in a database. In one example, one of the pre-created data interchange format query may be circle = Location 1 and Location 2, for fetching a list of users from location 1 and location 1. In another example, the pre-created data interchange format query circle = location 1 and blade = blade 2, which will obtain cell locations in location 1, having blade 2. As such, the plurality of pre -created data interchange format queries are created automatically based on number of times the queries are being used, and manually by the users themselves. Upon successful validation of the data interchange format query, the data interchange format query may be stored in the database. On the other hand, upon unsuccessful validation of the data interchange format query, a notification may be generated to inform the user.
[0044] In accordance with embodiments of the present disclosure, the system (108) may be designed for dynamic signature matching and query building. More specifically, the system (108) may find a database query from user input(s) on the fly without writing single line of code. The user (102) may configure, for example, but not limited to, count / metadata / aggregation query as per their need, and save this query for further use. Query may be attached to report / dashboard to monitor multiple queries for clear view of data. For example, the user (102) maywant to capture total success calls, so the system (108) may create a query from user inputs and execute the query in different database.
[0045] Although FIG. 1A shows exemplary components of the network architecture (100A), in other embodiments, the network architecture (100A) may include fewer components, different components, differently arranged components, or additional functional components than depicted in FIG. 1A. Additionally, or alternatively, one or more components of the network architecture (100 A) may perform functions described as being performed by one or more other components of the network architecture (100A).
[0046] FIG. IB illustrates an exemplary system architecture (100B), in accordance with an embodiment of the present disclosure.
[0047] Referring to FIG. IB, a user (e.g., 102) may provide inputs corresponding a query via a user interface (150) associated with a user equipment (e.g., 104) to a system (108). The inputs may be taken in a human readable format which may be agnostic of any underlying database being used or the kind of programming approach. In some embodiments, the system (108) may include, but not be limited to, a load balancer (151) and an analysis engine (152). In some other embodiments, the system (108) may be associated with the load balancer (151). The user inputs may be provided to the load balancer (151), which may balance the load of the analysis engine (152). It may be noted that although one analysis engine (152) is depicted in FIG. IB, however, there may be any number of analysis engines within the scope of the present disclosure. Accordingly, the load balancer (151) may transmit the request for query creation along with the user inputs to an appropriate analysis engine based on the load and / or metrics associated with each analysis engine. In some embodiments, the metrics may include, but not be limited to, latency, bandwidth, reachability, and / or interface level metrics, etc.
[0048] Referring to FIG. IB, the analysis engine (151) may then create the query based on the user inputs, which may be used for any other query and executed for the same or a different database. Therefore, the present disclosure eliminates theneed for creating and / or executing separate queries for different databases. In addition, the disclosure helps users to create queries even if they are not aware of using query language. The analysis engine (151) may store and / or validate the created query in a distributed data lake (154).
[0049] FIG. 2 illustrates an exemplary block diagram (200) of the proposed system (108), in accordance with an embodiment of the present disclosure.
[0050] In an aspect, the system (108) may include one or more processor(s) (202). The one or more processor(s) (202) may be implemented as one or more microprocessors, microcomputers, microcontrollers, edge or fog microcontrollers, digital signal processors, central processing units, logic circuitries, and / or any devices that process data based on operational instructions. Among other capabilities, one or more processor(s) (202) may be configured to fetch and execute computer-readable instructions stored in a memory (204) of the system (108). The memory (204) may be configured to store one or more computer-readable instructions or routines in a non-transitory computer-readable storage medium, which may be fetched and executed to create or share data packets over a network service. The memory (204) may comprise any non-transitory storage device including, for example, volatile memory such as Random-Access Memory (RAM), or non-volatile memory such as Erasable Programmable Read-Only Memory (EPROM), flash memory, and the like.
[0051] In an embodiment, the system (108) may include an interface(s) (206). The interface(s) (206) may include a variety of interfaces, for example, interfaces for data input and output devices, referred to as I / O devices, storage devices, and the like. The interface(s) (206) may facilitate communication of the system (108). The interface(s) (206) may also provide a communication pathway for one or more components of the system (108). Examples of such components include, but are not limited to, processing unit / engine(s) (208) and a database (210). In an example, the database (210) may be a part of the distributed data lake (154).
[0052] The processing unit / engine(s) (208) may be implemented as acombination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processing engine(s) (208). In examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processing engine(s) (208) may be processor-executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processing engine(s) (208) may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the machine-readable storage medium may store instructions that, when executed by the processing resource, implement the processing engine(s) (208). In such examples, the system (108) may comprise the machine -readable storage medium storing the instructions and the processing resource to execute the instructions, or the machine-readable storage medium may be separate but accessible to the system (108) and the processing resource. In other examples, the processing engine(s) (208) may be implemented by an electronic circuitry.
[0053] In some embodiments, the processing engine (208) may include a load balancer (211), an analysis engine (212), a data parameter engine (213) and other engine(s) (214). The analysis engine (212) may include sub-engines, as required. Although the load balancer (211) and the analysis engine (212) are numbered differently, the load balancer (211) and the analysis engine (212) are the same as load balancer (151) and the analysis engine (152) of FIG. IB. In examples, the analysis engine (212) is configured to create the query in data interchange format (in step 306) based on receiving a query creation request. The query creation request may include a set of parameters. The set of parameters may include at least one of a selection of a node name on which the data interchange format query is to be executed, a selection of a timestamp, and a selection of a type of query. The analysis engine (212) dynamically creates a data interchange format query based on the set of parameters selected by the user, in response to the query creation request. The analysis engine (212) may validate the created query against stored entries in the distributed data lake (154). In case the validation is successful, the informationmay be stored in the distributed data lake (154), and the user (102) may be notified that the query has been successfully created. The successfully created and stored data interchange format queries may be reused across multiple databases of a distributed data lake (154). However, if the validation fails, the analysis engine (212) may notify the user about the failure with the reason of failure, and the user may try again with the set of inputs.
[0054] In some embodiments, the database (210) may comprise data that may be either stored or generated as a result of functionalities implemented by any of the components of the processor(s) (202) or the processing engine(s) (208) or the system (108).
[0055] The present disclosure enables a user (102) to extract and configure numerous queries such as, but not limited to, simple query, aggregation query, complex query, and formula query. Using the simple query, the user (102) may extract required raw data fields from a database and count based on user given inputs. Further, using aggregation query, the user (102) may aggregate the data as per their requirements. For example, the user (102) may want success calls for each and every circle, accordingly, the user (102) may configure the aggregation query to visualize the data and take action if there is a discrepancy present on the data. Furthermore, using complex query, the user ( 102) may configure nested query using logical operator AND / OR / NOT between exiting queries. For example, the user (102) may want Minute of Usage (MOU) for all circles except a particular geographical location, so this requirement may be fulfilled by this type of query, i.e. complex query. Using formula query, the user (102) may build a query using arithmetic operators likeetc. For example, the user (102) may want to calculate total calls established which are addition of success and failure calls, so the user (102) may get the output with the help of this type of query.
[0056] Therefore, all types of queries may be reused to monitor the multiple type of requirements like MOU, Total Answered Calls, Total Attempt Calls, etc. The user may configure the dynamic report template with the help of stored queries.In some embodiments, the data may be extracted in a tabular or a graphical format as per user requirements.
[0057] Although FIG. 2 shows an exemplary block diagram (200) of the system (108), in other embodiments, the system (108) may include fewer components, different components, differently arranged components, or additional functional components than depicted in FIG. 2. Additionally, or alternatively, one or more components of the system (108) may perform functions described as being performed by one or more other components of the system (108).
[0058] FIG. 3 illustrates an exemplary sequence flow diagram (300) for implementing the proposed system, in accordance with an embodiment of the present disclosure.
[0059] Referring to FIG. 3, the load balancer (151) may receive a query creation request (in step 302) from a user (102) via the user interface (1 0). The load balancer (151) may send the query creation request to an analysis engine (e.g., 212) (in step 304). The query creation request may include a set of user inputs. In some embodiments, the user ( 102) may select a node name for which the query may be executed. Another input includes a timestamp field to apply time filter on the data. Further input includes a type of the query based on use case and requirements. Furthermore, the user (102) may also give an input related to the query, i.e. the user (102) may want to fetch data having circle = Location 1 and Location 2; cluster = Cluster 1; and Blade = Blade 3.
[0060] In examples, the analysis engine (152) may check with the previous stored query (310) if such a query existed. Otherwise, based on the analysis, the analysis engine (212) may create the query in data interchange format (in step 306) and validate the created query against stored entries in the distributed data lake (154). In case the validation is successful (in step 312 shown under step 308), the information may be stored in the distributed data lake (154) (in step 312), and the user (102) may be notified that the query has been successfully created (in step 316 and 318). The successfully created and stored data interchange format queries maybe reused across multiple databases of a distributed data lake (154). However, if the validation fails (in step 320), the user may be notified about the failure. In such a scenario, the user (102) may be notified about the reason of failure (in step 322), and the user may try again with the set of inputs.
[0061] FIG. 4 illustrates various steps of a method for configuring a dynamic query builder mechanism, in accordance with embodiments of the present disclosure.
[0062] At step (402), the processor (202) receives a query creation request from a user, the query creation request includes a set of parameters selected by the user. The query creation request may be received in the form of a natural language. The set of parameters include at least one of a selection of a node name on which the data interchange format query is to be executed, a selection of a timestamp, and a selection of a type of query.
[0063] At step (404), the analysis engine (212) in response to the query creation request, dynamically creates a data interchange format query based on the set of parameters selected by the user.
[0064] At step (406), the analysis engine (212) may validate the data interchange format query against a plurality of pre-created data interchange format queries stored in a database (210).
[0065] At step (408), the analysis engine (212) upon successful validation of the data interchange format query, store the data interchange format query in the database (210).
[0066] The method includes the analysis engine (212) generating a notification to inform the user upon unsuccessful validation of the data interchange format query.
[0067] In some embodiments, the method includes reusing the stored data interchange format queries across multiple databases of the data lake (154).
[0068] FIG. 5 illustrates an exemplary computer system (500) in which or with which embodiments of the present disclosure may be implemented.
[0069] As shown in FIG. 5, the computer system (500) may include an external storage device (510), a bus (520), a main memory (530), a read only memory (540), a mass storage device (550), a communication port (560), and a processor (570) . A person skilled in the art will appreciate that the computer system (500) may include more than one processor (570) and communication ports (560). The processor (570) may include various modules associated with embodiments of the present disclosure.
[0070] In an embodiment, the communication port (560) may be any of an RS-232 port for use with a modem-based dialup connection, a 10 / 100 Ethernet port, a Gigabit or 10 Gigabit port using copper or fiber, a serial port, a parallel port, or other existing or future ports. The communication port (560) may be chosen depending on a network, such a Local Area Network (LAN), Wide Area Network (WAN), or any network to which the computer system (500) connects.
[0071] In an embodiment, the memory (530) may be Random Access Memory (RAM), or any other dynamic storage device commonly known in the art. Read-only memory (540) may be any static storage device(s) e.g., but not limited to, a Programmable Read Only Memory (PROM) chips for storing static information e.g., start-up or Basic Input / Output System (BIOS) instructions for the processor (570).
[0072] In an embodiment, the mass storage (550) may be any current or future mass storage solution, which may be used to store information and / or instructions. Exemplary mass storage solutions include, but are not limited to, Parallel Advanced Technology Attachment (PATA) or Serial Advanced Technology Attachment (SATA) hard disk drives or solid-state drives (internal or external, e.g., having Universal Serial Bus (USB) and / or Firewire interfaces), one or more optical discs, Redundant Array of Independent Disks (RAID) storage, e.g., an array of disks (e.g., SATA arrays).
[0073] In an embodiment, the bus (520) communicatively couples the processor(s) (570) with the other memory, storage and communication blocks. The bus (520) may be, e.g., a Peripheral Component Interconnect (PCI) / PCI Extended (PCI-X) bus, Small Computer System Interface (SCSI), Universal Serial Bus (USB) or the like, for connecting expansion cards, drives and other subsystems as well as other buses, such a front side bus (FSB), which connects the processor (570) to the computer system (500).
[0074] Optionally, operator and administrative interfaces, e.g., a display, keyboard, joystick, and a cursor control device, may also be coupled to the bus (520) to support direct operator interaction with the computer system (500). Other operator and administrative interfaces may be provided through network connections connected through the communication port (560). Components described above are meant only to exemplify various possibilities. In no way should the aforementioned exemplary computer system (500) limit the scope of the present disclosure.
[0075] While the foregoing describes various embodiments of the present disclosure, other and further embodiments of the present disclosure may be devised without departing from the basic scope thereof. The scope of the present disclosure is determined by the claims that follow. The present disclosure is not limited to the described embodiments, versions or examples, which are included to enable a person having ordinary skill in the art to make and use the present disclosure when combined with information and knowledge available to the person having ordinary skill in the art.ADVANTAGES OF THE PRESENT DISCLOSURE
[0076] The present disclosure facilitates end users to run queries in a user- friendly manner.
[0077] The present disclosure provides a system and a method for configuring a query builder that is database agnostic.
[0078] The present disclosure facilitates to use a query with multiple other queries as and when required, thereby making the process more efficient as compared to traditional systems and methods.
[0079] The present disclosure does not require the users to have knowledge about backend database and programming approach, thereby making the present system and method database agnostic.
[0080] The present disclosure improves the user experience regardless of huge data being available in data lake, and having multiple formats and types of data, by providing an output to any type of query entered by a user via a user interface.
Claims
CLAIMSWe claim:
1. A system (106) for configuring a dynamic query builder mechanism, the system (106) comprising: a processor (202) configured to receive a query creation request from a user, the query creation request includes a set of parameters selected by the user, wherein the query creation request is received in the form of a natural language; an analysis engine (212) coupled to the processor (202), the analysis engine (212) is configured to: in response to the query creation request, dynamically create a data interchange format query based on the set of parameters selected by the user; validate the data interchange format query against a plurality of pre- created data interchange format queries stored in a database (210); and upon successful validation of the data interchange format query, store the data interchange format query in the database (210).
2. The system (106) as claimed in claim 1, wherein the set of parameters include at least one of a selection of a node name on which the data interchange format query is to be executed, a selection of a timestamp, and a selection of a type of query.
3. The system (106) as claimed in claim 2, wherein the type of query comprises one or more of a simple query, a nested query, an aggregation query, a complex query, and a formula query.
4. The system (106) as claimed in claim 1, wherein the analysis engine (212) is further configured to generate a notification to inform the user upon unsuccessful validation of the data interchange format query.
5. The system (106) as claimed in claim 1, wherein the natural language is indicativeof a human readable format agnostic of any underlying database.
6. The system (106) as claimed in claim 1, wherein the database (210) is part of a distributed data lake.
7. A method for configuring a dynamic query builder mechanism, the method comprising: receiving, by a processor (202), a query creation request from a user, the query creation request includes a set of parameters selected by the user, wherein the query creation request is received in the form of a natural language; in response to the query creation request, dynamically creating, by an analysis engine (212), a data interchange format query based on the set of parameters selected by the user; validating, by the analysis engine (212), the data interchange format query against a plurality of pre-created data interchange format queries stored in a database (210); and upon successful validation of the data interchange format query, storing, by the analysis engine (212), the data interchange format query in the database (210).
8. The method as claimed in claim 7, wherein the set of parameters include at least one of a selection of a node name on which the data interchange format query is to be executed, a selection of a timestamp, and a selection of a type of query.
9. The method as claimed in claim 8, wherein the type of query comprises one or more of a simple query, a nested query, an aggregation query, a complex query, and a formula query.
10. The method as claimed in claim 7, wherein the method further comprises generating a notification, by the analysis engine (212), to inform the user upon unsuccessful validation of the data interchange format query.
11. The method as claimed in claim 7, further comprises reusing the stored data interchange format queries across multiple databases of a data lake.
12. A user equipment (104) communicatively coupled with a network (106), the coupling comprises steps of: receiving, by the network (106), a connection request; sending an acknowledgment of the connection request to the UE (104); and transmitting a plurality of signals in response to the connection request, wherein the network (106) comprising a system (106) for configuring a dynamic query builder mechanism as claimed in claim 1.
13. A computer program product comprising a non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to: receive a query creation request from a user, the query creation request includes a set of parameters selected by the user, wherein the query creation request is received in the form of a natural language; in response to the query creation request, dynamically create a data interchange format query based on the set of parameters selected by the user; validate the data interchange format query against a plurality of pre-created data interchange format queries stored in a database (210); and upon successful validation of the data interchange format query, store the data interchange format query in the database (210).