System and method for query builder
The query builder system addresses the inefficiencies of manual query building by enabling dynamic and scheduled data retrieval, enhancing network management and optimization through accurate and timely data analysis.
Patent Information
- Application Number
- PCT/IN2025/050464
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-26
- Filing Date
- 2025-03-25
- Publication Date
- 2025-10-02
AI Technical Summary
Current network management and optimization processes rely on manual query building, which is tedious, error-prone, and time-consuming, leading to delays and inaccuracies in KPI analysis, and do not support real-time monitoring or quick adjustments due to varied data requirements among different teams.
A system and method for a query builder that allows users to create dynamic queries based on user inputs, auto-generate queries, and schedule their execution, enabling quick retrieval of data across different software versions and network elements.
Facilitates efficient, accurate, and real-time data retrieval, reducing manual effort and errors, and ensuring timely decision-making by aligning data requirements across teams.
Smart Images

Figure IN2025050464_02102025_PF_FP_ABST
Abstract
Description
SYSTEM AND METHOD FOR QUERY BUILDERRESERVATION 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 generally to the field of communication systems. More particularly, the present disclosure relates to systems and methods for a query builder.DEFINITIONS
[0003] As used in the present disclosure, the following terms are generally intended to have the meaning as set forth below, except to the extent that the context in which they are used to indicate otherwise.
[0004] The term “Graphical User Interface (GUI)” refers to a type of user interface that allows users to interact with a computer or software application through graphical elements rather than text-based commands.
[0005] The term “Query” refers to a request for information or data from a database. The query is used to retrieve, update, insert, or delete data stored in a database or from live network. In an example, the query is created to retrieve networkinformation, such as the status, performance metrics, or configurations of network nodes (e.g., base stations, towers, cells).
[0006] The term “Query Builder” refers to a tool or software component that allows users to construct database queries.
[0007] The term “Network elements” refers to physical components that make up the infrastructure of the network. The network elements include hardware devices such as base stations (gNodeBs), routers, switches, antennas, servers, etc.
[0008] The term “Software versions” refer to the specific iterations or releases of software applications or systems. Each software version includes updates, bug fixes, new features, and sometimes changes in compatibility.
[0009] The term “Live network” refers to a fully operational network that is currently in use for real-time communications and data transmission.
[0010] The term “Defined date” refers to a specific day that is specified for a particular event.
[0011] The term “Defined time” refers to a specific time that is specified for a particular event.
[0012] The term “Dynamic queries” refers to queries that are constructed and executed at runtime based on user input or other variables. Unlike static queries, which are predefined and do not change, the dynamic queries can adapt to different conditions and requirements provided by the user.
[0013] The term “Database query” refers to a request for data or information from the database. Queries are used to retrieve, manipulate, or manage data stored in the database.
[0014] The term “Autogenerated query” refers to a database query that is automatically generated by software or applications based on user input, system requirements, or predefined rules.
[0015] The term “Specified / predefined regions” refer to clearly defined geographical areas that are identified.
[0016] The term “Middleware” refers to a software that acts as an intermediary layer between different applications, services, or systems, enabling communication, data management, and functionality.
[0017] The term “System Consumable Query” refers to a type of query that is designed to efficiently retrieve data from the system.
[0018] The term “Query types” refer to different ways in which data can be requested or manipulated within the database.
[0019] These definitions are in addition to those expressed in the art.BACKGROUND
[0020] 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.
[0021] Wireless communication technology has rapidly evolved over the past few decades. The first generation of wireless communication technology was analog, offering only voice services. Further, text messaging and data services became possible when the second-generation (2G) technology was introduced. The third generation(3G) technology marked the introduction of high-speed internet access, mobile video calling, and location-based services. The fourth generation (4G) technology revolutionized the wireless communication with faster data speeds, improved network coverage, and security. Currently, fifth generation (5G) technology is being deployed, offering significantly faster data speeds, lower latency, and the ability to connect many devices simultaneously. These advancements represent a significant leap forward from previous generations, enabling enhanced mobile broadband, improved Internet of Things (loT) connectivity, and more efficient use of network resources. The sixth generation (6G) technology promises to build upon these advancements, pushing the boundaries of wireless communication even further. While the 5G technology is still being rolled out globally, research and development into the 6G are rapidly progressing, aiming to revolutionize how users connect and interact with technology.
[0022] Currently, multiple teams (network management, planning, optimization, and operations) need to perform numerous network configurations and key performance indicator (KPI) analyses for various purposes within the respective domains for multiple times per day. The teams regularly change or optimize network configurations based on performance data and specific needs, with each team focusing on different KPIs relevant to their responsibilities.
[0023] The information required for KPI analysis is extracted manually from various sources, such as network monitoring tools, logs, and databases. Different combinations of queries are then built and executed to obtain analyzed outputs. This manual extraction process is tedious and prone to error. Each team must perform monitoring tasks multiple times a day, which consumes significant time and resources. It can also lead to delays in decision-making, as teams wait for data to be compiled and analyzed.
[0024] Furthermore, manual extraction and query building can introduce errors, resulting in inaccurate analyses. Current processes may not support real-timemonitoring and quick adjustments, and coordination issues may arise, as different teams have varied data requirements, potentially leading to misalignment in objectives and strategies.
[0025] So, there is need of user-friendly interface to build queries according to the user’s requirements in the network management and optimization. Further, there is a need to scale up, speed up, provide multi-dimensional capabilities, and address multiple challenges in data extraction according to the user requirements.OBJECTIVES OF THE PRESENT DISCLOSURE
[0026] Some of the objectives of the present disclosure, which at least one embodiment herein satisfies, are as follows:
[0027] An objective of the present disclosure is to provide a system and a method for query builder.
[0028] Another objective of the present disclosure is to create a plurality of queries on the query builder.
[0029] Another objective of the present disclosure is to create the plurality of queries on the query builder upon receiving a manual request or an automated request.
[0030] Another objective of the present disclosure is to generate the plurality of queries to retrieve data based on user requests, scheduled time, different software versions associated with different network elements.
[0031] Yet another objective of the present disclosure is to retrieve data corresponding to network node configurations based on auto-generated queries based on user requirements / requests.
[0032] Yet another objective of the present disclosure is to provide quick results to flexible queries across multiple domains.
[0033] Other objectives and advantages of the present disclosure will be more apparent from the following description, which is not intended to limit the scope of the present disclosure.SUMMARY
[0034] In an exemplary embodiment, a method for creating a plurality of queries on a query builder is described. The method comprises receiving, by a communication unit, at least one request for query creation. The method further comprises receiving, by the communication unit, one or more parameters corresponding to the at least one request. The method comprises processing, by a processing unit, the one or more received parameters to determine a plurality of combinations of the one or more received parameters. The method comprises determining, by the processing unit, at least one combination corresponding to the at least one request. The method comprises creating, by the processing unit, at least one query using the at least one determined combination.
[0035] In some embodiments, the one or more parameters includes at least one or more of a number of nodes, a type of a node, a region, one or more software versions associated with the node, and one or more executing frequencies.
[0036] In some embodiments, the method further comprises checking, by the processing unit, whether details of the at least one created query are valid and based on checking, storing, by the processing unit, the at least one created query in a database.
[0037] In some embodiments, the method further comprises executing, by the processing unit, the at least one created query. The method further comprises generating, by the processing unit, at least one report for the at least one executed query.The method further comprises storing, by the processing unit, the at least one generated report in the database. The processing unit is configured to map the at least one generated report to the at least one created query in the database.
[0038] In some embodiments, the method further comprises scheduling, by the processing unit, an execution of the at least one created query at a defined date and a defined time as a one-time activity or in a recurring type for a defined duration and a defined executing frequency. In some embodiments, the method further comprises upon receiving a request for the at least one generated report, mapping, by the processing unit, the received request to the at least one generated report in the database and retrieving, by the processing unit, the at least one generated report from the database based on the mapping. The method further comprises communicating, by the communication unit, the at least one retrieved report.
[0039] In another exemplary embodiment, a system for creating a plurality of queries on a query builder is described. The system comprises the query builder. The query builder comprises a communication unit configured to receive at least one request for query creation and receive one or more parameters corresponding to the at least one request. A processing unit coupled with the communication unit is configured to process the one or more received parameters to determine a plurality of combinations of the one or more received parameters, determine at least one combination corresponding to the at least one request and create at least one query using the at least one determined combination.
[0040] In some embodiments, the processing unit is further configured to check whether details of the at least one created query are valid and based on checking, store the at least one created query in a database.
[0041] In some embodiments, the processing unit is configured to execute the at least one created query, generate at least one report for the at least one executed queryand store the at least one generated report in the database. The processing unit is configured to map the at least one generated report to the at least one created query in the database.
[0042] In some embodiments, the processing unit is configured to schedule an execution of the at least one created query at a defined date and a defined time as a one-time activity or in a recurring type for a defined duration and a defined executing frequency.
[0043] In some embodiments, upon receiving a request for at least one generated report, the processing unit is configured to map the received request to the at least one generated report in the database and retrieve the at least one generated report from the database based on the mapping. The communication unit is configured to communicate the at least one retrieved report.
[0044] In an aspect, 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 perform a method for creating a plurality of queries on a query builder is described. The method comprises receiving, by a communication unit, at least one request for query creation. The method further comprises receiving, by the communication unit, one or more parameters corresponding to the at least one request. The method comprises processing, by a processing unit, the one or more received parameters to determine a plurality of combinations of the one or more received parameters. The method comprises determining, by the processing unit, at least one combination corresponding to the at least one request. The method comprises creating, by the processing unit, at least one query using the at least one determined combination.
[0045] The foregoing general description of the illustrative embodiments and the following detailed description thereof are merely exemplary aspects of the teachings of this disclosure and are not restrictive.BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWING
[0046] The accompanying drawings, which are incorporated herein, and constitute a part of this disclosure, illustrate exemplary embodiments of the disclosed methods and systems in which like reference numerals refer to the same parts throughout the different drawings. Components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Some drawings may indicate the components using block diagrams and may not represent the internal circuitry of each component. It will be appreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components, electronic components or circuitry commonly used to implement such components.
[0047] FIG. 1A illustrates an exemplary network architecture for facilitating a system for creating a plurality of queries on a query builder, in accordance with an embodiment of the present disclosure.
[0048] FIG. IB illustrates an exemplary system architecture for creating the plurality of queries on the query builder, in accordance with an embodiment of the present disclosure.
[0049] FIG. 1C illustrates an exemplary block diagram of the system for creating the plurality of queries on the query builder, in accordance with an embodiment of the present disclosure.
[0050] FIG. 2 illustrates an exemplary flow diagram for creating the plurality of queries on the query builder, in accordance with an embodiment of the present disclosure.
[0051] FIG. 3 illustrates an exemplary flow diagram of a method for creating the plurality of queries on the query builder, in accordance with an embodiment of the present disclosure.
[0052] FIG. 4 illustrates an exemplary block diagram of a computer system in which or with which embodiments of the present disclosure may be implemented.
[0053] The foregoing shall be more apparent from the following more detailed description of the disclosure.LIST OF REFERENCE NUMERALS100 A - Network Architecture102-1, 102-2...102-N - Plurality of Users104-1, 104-2...104-N - Plurality of User Equipments106 - Network108 - System100B - System Architecture112 - Distributed File System (DFS)114 - Load Balancer116 - Web Server118 - Application Servers120 - Gateway Server122 - Reporting Servers124 - Services126 - Distributed Computing System Cluster 128 - Distributed Event Streaming Platform132-1 - Relational Database Management System132-2 - Non-relational Database Management System100C - Block Diagram111 - Processor 113 - Memory115 - Interface(s)130 - Query Builder131 - Communication Unit132 - Database 133 - Interfacing Unit134 - Processing Unit200 - Flow diagram300 - Flow Diagram400 - Computer System410 - External Storage Device420 - Bus430 - Main Memory440 - Read-Only Memory450 - Mass Storage Device460 - Communication Ports470 - ProcessorDETAILED DESCRIPTION
[0054] 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 not address any 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. Example embodiments of the present disclosure are described below, as illustrated in various drawings in which like reference numerals refer to the same parts throughout the different drawings.
[0055] 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 beunderstood 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.
[0056] 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.
[0057] Also, it is noted that individual embodiments may be described as a process that 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.
[0058] The word “exemplary” and / or “demonstrative” is used herein to mean 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, suchterms are intended to be inclusive like the term “comprising” as an open transition word without precluding any additional or other elements.
[0059] 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.
[0060] The terminology used herein is to describe particular embodiments only and is not intended to be limiting the disclosure. As used herein, the singular forms “a”, “an”, and “the” are intended to include the plural forms as well, unless the context 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 combinations of one or more of the associated listed items. It should be noted that the terms “mobile device”, “user equipment”, “user device”, “communication device”, “device” and similar terms are used interchangeably for the purpose of describing the invention. These terms are not intended to limit the scope of the invention or imply any specific functionality or limitations on the described embodiments. The use of these terms is solely for convenience and clarity of description. The invention is not limited to any particular type of device or equipment, and it should be understood that other equivalent terms or variations thereof may be used interchangeably without departing from the scope of the invention as defined herein.
[0061] While considerable emphasis has been placed herein on the components and component parts of the preferred embodiments, it will be appreciated that many embodiments can be made and that many changes can be made in the preferred embodiments without departing from the principles of the disclosure. These and other changes in the preferred embodiment as well as other embodiments of the disclosure will be apparent to those skilled in the art from the disclosure herein, whereby it is to be distinctly understood that the foregoing descriptive matter is to be interpreted merely as illustrative of the disclosure and not as a limitation.
[0062] Wireless communication technology has rapidly evolved over the past few decades. The first generation of wireless communication technology was analog, offering only voice services. Further, text messaging and data services became possible when the second-generation (2G) technology was introduced. The third generation (3G) technology marked the introduction of high-speed internet access, mobile video calling, and location-based services. The fourth generation (4G) technology revolutionized the wireless communication with faster data speeds, improved network coverage, and security. Currently, fifth generation (5G) technology is being deployed, offering significantly faster data speeds, lower latency, and the ability to connect many devices simultaneously. These advancements represent a significant leap forward from previous generations, enabling enhanced mobile broadband, improved Internet of Things (loT) connectivity, and more efficient use of network resources. The sixth generation (6G) technology promises to build upon these advancements, pushing the boundaries of wireless communication even further. While the 5G technology is still being rolled out globally, research and development into the 6G are rapidly progressing, aiming to revolutionize how users connect and interact with technology.
[0063] Currently, multiple teams (network management, planning, optimization, and operations) need to perform numerous network configurations and key performance indicator (KPI) analyses for various purposes within the respectivedomains for multiple times per day. These teams regularly change or optimize network configurations based on performance data and specific needs, with each team focusing on different KPIs relevant to their responsibilities.
[0064] The information required for KPI analysis is extracted manually from various sources, such as network monitoring tools, logs, and databases. Different combinations of queries are built and executed to obtain analyzed outputs. The manual extraction process is tedious and prone to error. Each team must perform monitoring tasks multiple times a day, which consumes significant time and resources. The manual extraction process can also lead to delays in decision-making, as teams wait for data to be compiled and analyzed.
[0065] Furthermore, manual extraction and query building can introduce errors, resulting in inaccurate analyses. Further, the current processes may not support realtime monitoring and quick adjustments, and coordination issues may arise, as different teams have varied data requirements, potentially leading to misalignment in objectives and strategies.
[0066] Accordingly, there is a need for systems and methods to build queries to retrieve data corresponding to the user request / requirements from the database or from the live network.
[0067] The present disclosure aims to overcome the above-mentioned and other existing problems in this field of technology by providing a system and a method for a query builder. The query builder allows quick retrieval of data based on dynamic queries that are auto generated based on selections by the user using the interfacing unit. With the help of the interfacing unit, the user’s requirements / requests are converted into queries. The data is retrieved using the queries. The user requirements are mapped to auto-generated system / database queries to retrieve data across different software versions, on user request or based on the scheduled time.
[0068] Hereinafter, exemplary embodiments of the present disclosure will be described with reference to the accompanying drawings.
[0069] FIG. 1A illustrates an exemplary network architecture (100A) for implementing a system (108) for creating a plurality of queries on a query builder, in accordance with an embodiment of the present disclosure.
[0070] As illustrated in FIG. 1A, the network architecture (100A) may include one or more user equipments (UEs) (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 collectively referred to as the users (102). Similarly, a person of ordinary skill in the art will understand that one or more UEs (104-1, 104-2... 104-N) may be collectively referred to as the UE (104). Although only three UEs (104) are depicted in FIG. 1A, however, any number of the UE (104) may be included without departing from the scope of the ongoing description.
[0071] In an embodiment, the UE (104) may include smart devices operating in a smart environment, for example, an Internet of Things (loT) system. In such an embodiment, the UE (104) may include, but is not limited to, smartphones, 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 UE (104) may include, but is not limited to, intelligent, multisensing, network-connected devices, which may integrate seamlessly with each other and / or with a central server or a cloud-computing system or any other device that is network-connected.
[0072] Additionally, in some embodiments, the UE (104) may include, but not limited to, a handheld wireless communication device (e.g., a mobile phone, a smartphone, 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 UE (104) may include, but are not limited to, any electrical, electronic, electromechanical, or 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 UE (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 touchpad, touch-enabled screen, electronic pen, and the like. A person of ordinary skill in the art will appreciate that the UE (104) may not be restricted to the mentioned devices and various other devices may be used. In an operative aspect, the UE (104) is a computing device. The UE (104) may be referred to as the computing device (104).
[0073] Referring to FIG. 1A, the UE (104) may communicate with the system (108) through a network (106) for sending or receiving various types of data. In an embodiment, the network (106) may include at least one of a 5G network, 6G network, or the like. The network (106) may enable the UE (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 areanetwork (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.
[0074] In an embodiment, the network (106) may include, by way of example but not limitation, at least a portion of one or more networks having one or more nodes that transmit, receive, forward, generate, buffer, store, route, switch, process, or a combination thereof, etc. one or more messages, packets, signals, waves, voltage or current levels, some combination thereof, or so forth. The network (106) may also include, by way of example but not limitation, one or more of a radio access network (RAN), a wireless network, a wired network, an internet, an intranet, a public network, a private network, a packet-switched network, a circuit-switched network, an ad hoc network, an infrastructure network, a cable network, a cellular network, a satellite network, a fiber optic network, or some combination thereof. In an operative aspect, the network (106) may be referred to as a live network (106).
[0075] In an embodiment, the system (108) creates the plurality of queries on the query builder. The user (102) inputs a request for query creation using an interfacing unit (e.g., user interface). The user (102) selects one or more parameters corresponding to the request. The query builder processes the one or more parameters and creates a query using at least one of combinations of the one or more selected parameters. The query builder executes the created query to retrieve data from a database or the live network (106). The data is retrieved corresponding to the selected one or more parameters. The query builder generates a report for the executed query and displays on the interfacing unit.
[0076] In an embodiment, the user equipment (104) is communicatively coupled with the system (108). The system (108) receives a connection request from the UE (104). The system (108) sends an acknowledgment of the connection request to the UE (104). The UE (104) transmits a plurality of signals in response to the connectionrequest. The system (108) is configured to create the plurality of queries on the query builder.
[0077] Although FIG. 1A shows exemplary components of the network architecture (100A), in other embodiments, the network architecture (100 A) 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 (100A) may perform functions described as being performed by one or more other components of the network architecture (100A).
[0078] FIG. IB illustrates an exemplary system architecture (100B) for creating the plurality of queries on the query builder, in accordance with an embodiment of the present disclosure.
[0079] FIG. IB with reference to FIG. 1A, illustrates the system architecture (100B) for creating the plurality of queries on the query builder.
[0080] Referring to FIG. IB, the system architecture (100B) comprises the plurality of computing devices (104), a load balancer (114), a web server (116), a plurality of application servers (118), a gateway server (120), a plurality of reporting servers (122), a plurality of services (124), a distributed computing system cluster (126), a distributed event streaming platform (128), a distributed file system (DFS) (112), a relational database management system (132-1) and a non-relational database management system (132-2). In an aspect, the relational database management system (132-1) and the non-relational database management system (132-2) may collectively refer to as a database (132) or the database management system (132) of the system architecture (100B). In an aspect, the relational database management system (132-1) refers to a database management system that stores data in a row -based table structure that connects related data elements. In an aspect, the non-relational databasemanagement system (132-2) stores the data in a non-tabular form. The non-relational databases are based on data structures (e.g., documents containing a range of different types of information in different formats).
[0081] The user (102) accesses a web portal through the computing device (104) to input the request for query creation on the query builder. In an aspect, the web portal is a web-based platform that provides users access to a plurality of resources and services (e.g., applications, databases, and data).
[0082] The load balancer (114) receives the request for query creation from the user. In one aspect, the load balancer (114) analyzes network traffic and distributes the user's request to the web server (116) that is available.
[0083] The web server (116) receives the request for query creation from the load balancer (114). In an aspect, the web server (116) refers to a software or hardware that serves web pages to the users upon receiving the user’s requests. The web server (116) receives the user requests, processes the requests by interacting with the databases or other services. After processing the request, the web server sends the appropriate content (e.g., web pages, images, data) to the user.
[0084] The web server (116) processes the received request to determine whether the request for query creation is for retrieving the data from the database (132) (e.g., static data) or the live network (106) (e.g., dynamic data).
[0085] In response to detecting that the request is for retrieving data from the live network (106), the web server (116) sends the request to the application server. In an aspect, the application server refers to a software platform that facilitates the development, deployment, and management of applications (e.g., web-based applications). The application server acts as an intermediary between the interfacing unit and the data storage or the live network (106). The application server (118) processes the user requests and provides the data to the user from the live network(106) or the database management system (132). Upon receiving the request from the web server (116), the application server (118) processes the request and sends the processed request to one of the plurality of reporting servers (122) to retrieve data corresponding to the request.
[0086] In an aspect, when the application server (118) requires data from the live network (106), the one of plurality of reporting servers (122) interact with the relational database management system (132-1) or the non-relational database management system (132-2). The relational database management (132-1) or the non-relational database management system (132-2) interacts with distributed computing system cluster. The distributed computing system cluster comprises a plurality of distributed computing systems. In an aspect, the distributed computing systems (126) perform streaming jobs (i.e., processes that continuously ingest, process, and analyze real-time data). The distributed computing system (126) may request the real time data from the distributed event streaming platform (128). In an aspect, the distributed event streaming platform (128) refers to a platform designed for high-throughput, fault-tolerant, and scalable data streaming and messaging. The distributed event streaming platform (128) is used for building real-time data and streaming applications.
[0087] In an aspect, when the application server (118) requires stored data (e.g., user-created / uploaded files), the one of the plurality of reporting servers (122) interact with the DFS (112). Based on the request, the DFS (112) provides the created query report to the reporting server (122). In an aspect, the DFS (112) refers to a file system that allows the users to share files and store the data in a networked environment. The DFS (112) manages how data is stored, accessed, and retrieved across multiple nodes (e.g., RAN nodes) or network servers. The DFS (112) provides a unified view of the file system to the users, regardless of where the files are physically stored.
[0088] In response to detecting that the request is for retrieving the data from the database (132), the web server (116) sends the request to the gateway server (120). Inan aspect, the gateway server (120) acts as an intermediary between the users and backend services (e.g., web servers and application servers). The gateway server (120) handles operations such as application programming interface (API) management, load balancing, security, and routing user’s requests.
[0089] Upon receiving the request, the gateway server (120) sends the request to one of the plurality of services (e.g., microservices) (124). In an aspect, the plurality of services (e.g., microservices) corresponds to a plurality of radio access network (RAN) nodes. The one of the plurality of services (124) processes the request and retrieves the data corresponding to request from the relational database management system (132- 1) or the non-relational database management system (132-2). In an aspect, the relational database management system (132-1) or the non-relational database management system (132-2) may correspond to the plurality of RAN nodes.
[0090] In another aspect of the invention, a user-friendly user interface of the query builder provides quick results to flexible queries across multiple domains. Thereby, reducing the time consumed and efforts involved. Using the query builder, the user may search data across different types of network elements on different software versions by providing dynamic queries using the interfacing unit (e.g., user interface). The data across multiple different network elements across different software versions associated with the different network elements is searched in parallel. The data that is queried using plurality of queries is stored across plurality of databases.
[0091] In an aspect, the data from live network (106) is also queried using plurality of queries. The live network (106) consists of both 4G as well as 5G network elements. Apart from 5G and 4G networks, data from multiple vendors whose data types, format, structure are unique all of which are transparent to the end user, and which are internally handled by the inbuilt intelligence in middleware is queried using plurality of queries from the query builder. The queries can be scheduled to be execute at a specified date & time as a one-time activity. The queries can be scheduled to betriggered at a specified date and time in a recurring manner for specified duration of days, weeks or months. The queries are auto generated based on the user requested input parameters.
[0092] In an implementation, the system architecture (100B) fetches configuration of all nodes. The fetched data corresponding configuration of all nodes is stored in the database (132) in a unique manner. This allows quick retrieval of data based on dynamic queries that are auto generated based on selections by the end user using the interfacing unit (e.g., user interface). With the help of the interfacing unit, the end user’s requirements / requests are converted into queries. The data is retrieved using the queries. This helps to yield quick results for the queries. The data corresponding to the node configurations is stored in the database (132). The end user requirements are inputted using queries using the interfacing unit. The user requirements are mapped to auto-generated system / database queries to retrieve data across different software versions associated with the nodes, on user request or based on the scheduled time.
[0093] In an aspect, the user accesses the interfacing unit (e.g., user interface) of the query builder. The scope of the query is selected. The scope of the query comprises nodes, number of nodes, types of nodes, specified regions. The combination of nodes, number of nodes, types of nodes, specified regions across a single software version or multiple software versions associated with the nodes. The data to be retrieved comprises single parameter, group of parameters, family of parameters and all parameters corresponding to the network elements. The user selections are sent to the middleware to auto generate different types of queries for different nodes, types of nodes, selection of nodes based on regions, selection of nodes across different software versions associated with the nodes. The system architecture (100B) converts the user selections / requests into a system consumable query. The query is performed on backend tables of the database (132) or on the live network (106). A report is created for the performed query on the database (132) or on the live network (106). The createdreport is stored in the database (132). The stored report is accessed by the requestor, or the requestor group based on the options. Further, when the reports are requested by a different user or user group, the system architecture (100B) has the intelligence to map, retrieve and serve the previously created report. Also, the triggering and accessing of the reports are limited to selected set of users / user-group based on roles and permissions. In an aspect, the permissions are assigned to the set of users / the user- group to access the reports. The permission can be assigned as per user management, roles, or security settings. In an aspect, the user management refers to the processes and systems that control how users interact. The user management includes creating and managing user accounts, assigning access control, and handling authentication. In an aspect, a set of permissions is assigned to the users based on the responsibilities of the users. A role-based access control includes an admin role, an editor role, a viewer role. The admin role has full access to create, modify, and delete reports. The editor role has permission to edit reports but not to delete the reports. The viewer role has only allowed to view reports without making any changes. In an aspect, permissions are assigned based on security settings. The security settings encompass a broader range of configurations that protect data and ensure that only authorized users can access the reports.
[0094] Although FIG. IB shows exemplary components of the system architecture (100B), in other embodiments, the system architecture (100B) may include fewer components, different components, differently arranged components, or additional functional components than depicted in FIG. IB. Additionally, or alternatively, one or more components of the system architecture (100B) may perform functions described as being performed by one or more other components of the system architecture (100B).
[0095] FIG. 1C illustrates an exemplary block diagram (110C) of the system (108) for creating the plurality of queries on the query builder (130), in accordance with an embodiment of the present disclosure.
[0096] FIG. 1C with reference to FIG. 1A, illustrates the block diagram (110C) of the system (108) for creating the plurality of queries on the query builder (130).
[0097] Referring to FIG. 1C, in an embodiment, the system (108) may include one or more processor(s) (111), a memory (113), a plurality of interface(s) (115), the query builder (130), and a database (132).
[0098] The one or more processor(s) (111) may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic circuitries, and / or any devices that process data based on operational instructions. Among other capabilities, the one or more processor(s) (111) may be configured to fetch and execute computer-readable instructions stored in the memory (113) of the system (108). The memory (113) 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 (113) may include 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.
[0099] In an embodiment, the interface(s) (115) may include a variety of interfaces, for example, interfaces for data input and output devices (RO), storage devices, and the like. The interface(s) (115) may facilitate communication through the system (108). The interface(s) (115) 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, the database (132).
[0100] The query builder (130) includes a communication unit (131), an interfacing unit (133) and a processing unit (134).
[0101] The communication unit (131) is configured to receive at least one request for query creation. The at least one request is received from an entity. The entity may be a user, a boat and an automated component. In an aspect, the at least one request is a manual request or an automated request.
[0102] In an aspect, the manual request is inputted by the user using the interfacing unit (133). The user assesses the interfacing unit (133) of the query builder (130) and inputs the request for query creation using the interfacing unit (133) of the query builder (130). In an example, the request includes a request for query creation for a plurality of radio nodes in the network (106).
[0103] In an aspect, the interfacing unit (133) may be a user interface. A person of ordinary skill in the art will appreciate that the terms “interfacing unit” and “user interface” may be used interchangeably throughout the disclosure. In an aspect, the interfacing unit (133) (e.g., user interface) may be a graphical user interface (GUI), a command line interface (CLI), or an application programming interface (API). In an aspect, the GUI refers to a user interface that allows users to interact with the devices through visual elements (e.g., icons, windows, and menus). In an aspect, the commandline Interface (CLI) refers to a text-based user interface where the user interacts with the device by typing commands into a terminal or console. In an aspect, the applicationprogramming interface (API) refers to a set of rules and protocols that allows different software applications or systems to communicate with each other. It defines the methods and data structures that applications can use to interact with the software component, operating system, or service.
[0104] In an aspect, the automated request is generated by the bot or the automated component. The bot or automated component may be located remotely or locally andinteracts with the system (108). In an aspect, the hot refers to a type of application, software or program designed to automate tasks or perform specific actions within the system. In an aspect, the automated component refers to a part of a system or process that operates without human intervention, using predefined rules or algorithms to perform tasks automatically. The automated component executes functions or processes based on triggers or conditions. In an alternative embodiment, the bot or automated component is self-sufficient to interact with all of the components of the system (108) to perform the method (300) automatically.
[0105] In an aspect, the automated request is generated by the bot or the automated component upon receiving any trigger or predefined conditions. The trigger or predefined conditions may be set based on predefined rules. The predefined rules may be defined by the user (e.g., network operator or network administrator). In an example, the automated request is generated by a network entity (e.g., base station) upon detecting the addition of a new cell to the network entity. Here, the predefined condition = addition of the new cell to the network entity. The automated request for query creation (e.g., query for data extraction corresponding to the new cell) is generated from the network entity upon detecting the addition of the new cell. In an example embodiment, the automated request may be received via http communication and comprise all necessary information to interact with system (108) and all its components to perform steps of method (300), when being parsed and processed.
[0106] The communication unit (131) is configured to receive one or more parameters corresponding to the at least one request. In an aspect, the one or more parameters may be selected by the user using the interfacing unit (133). In an aspect, the query builder (130) includes check boxes or drop-downs to select fields (e.g., the parameters of the plurality of radio nodes). Further, the query builder (130) includes a filter option to specify any condition (e.g., filtering “status of the radio node = active”). For example, the interfacing unit (133) of the query builder (130) includes check boxesor dropdowns for the parameters, for example, node identifier (ID), signal strength, executing frequency, location, and status. The user accesses the interfacing unit (133) of the query builder and selects one or more parameters corresponding to the plurality of radio nodes for the query using the checkboxes and the drop-down of the interfacing unit (133). In another aspect, the one or more parameters are predefined for the automated request.
[0107] In an aspect, the one or more parameters includes a number of nodes, a type of a node, a region, one or more software versions associated with the node, and one or more executing frequencies.
[0108] In an aspect, the type of nodes includes base stations (e.g., NodeB, eNodeB, gNodeB), radio network controllers, core network nodes (e.g., Serving general packet radio service (GPRS) Support Node (SGSN), Gateway GPRS Support Node (GGSN), home subscriber server (HSS)), small cells (e.g., femto cell, pico cells, micro cells), repeaters. In an aspect, the base station refers to a component that facilitates communication between the user equipments and the network. The NodeB refers to the base station used in third generation (3G) mobile communication systems. The eNodeB refers to the base station used in fourth generation (4G) mobile communication systems (e.g., Long Term Evolution (LTE)). The gNodeB refers to the base station used in fifth generation (5G) mobile communication systems. In an aspect, the radio network controllers manage radio resources and facilitate communication between the base stations and the network. In an aspect, the core network nodes refer to components of the network that manage data routing, connectivity, and service delivery in the network. In an aspect, the SGSN refers to a component in the network for managing data services and facilitating mobile packet-switched communication. In an aspect, the GGSN refers to a gateway between mobile network and external packet data networks (PDN) (e.g., internet). In an aspect, the HSS refers to a central database that stores important subscriber information and plays a key role in user authentication, authorization, andservice provisioning. In an aspect, the femtocell refers to a small, low-power cellular base station designed to provide improved coverage and capacity in localized areas, such as homes or small businesses. In an aspect, the picocell refers to a small cellular base station that provides enhanced coverage and capacity in specific, localized areas, typically larger than the femtocell but smaller than the microcell. The microcell refers to a small cellular base station designed to provide enhanced coverage and capacity in specific areas.
[0109] In an aspect, the region refers to a coverage area or a cell in the network. The region includes geographical circles and geographical areas globally.
[0110] In an aspect, the software version associated with the node refers to a specific release of the software that operates on network infrastructure (e.g., base stations, routers, and core network elements) or on user equipment (e.g., computing devices, smartphones and tablets). Each software version includes updates, enhancements, bug fixes, and new features that improve performance, security, and compatibility with the network standards. In an example, the software for the radio nodes includes a firmware, a baseband software, a network management software, a radio access network (RAN) software, a remote management software, a security software, a simulation and testing software, a data analytics software. In an aspect, the firmware is a core software that controls the hardware of the radio node, managing tasks like signal processing, modulation, and communication protocols. In an aspect, the baseband software is a software that handles digital signal processing and data encoding / decoding. The firmware manages the physical layer and link layer functions. In an aspect, the network management software is a software tool for monitoring, managing, and configuring radio nodes in the network. The network management software is used for performance metrics and fault management. In an aspect, the radio access network (RAN) software is a software used for managing radio resources, connections, and interactions between the radio nodes and the network. In an aspect,the remote management software refers to a software used for remote configuration and troubleshooting of radio nodes. In an aspect, the security software is a software used for integrity and confidentiality of communications, including encryption and authentication mechanisms. In an aspect, the simulation and testing software is used for modeling and testing radio node performance before deployment. In an aspect, the data analytics software is used for analyzing the performance data collected from radio nodes, helping to optimize network performance.
[0111] In an aspect, the one or more executing frequencies comprise per day, per week, weekend, weekday, half yearly and yearly. In an aspect, the executing frequency refers to the number of times an event occurs within a specific time period or the count of occurrences of any event. The executing frequencies include every day, once in a week, on weekends, on weekdays, once in a month, once in six months or once in a year, etc.
[0112] In an aspect, the one or more parameters includes the data to be retrieved. The data to be retrieved includes data corresponding to at least one of a single parameter, a group of parameters, a family of parameters, all the parameters.
[0113] In an aspect, the data corresponding to the single parameter includes information or metrics corresponding to the parameter. In an example, transmit power of the base station. In an aspect, the data corresponding to the group of parameters refers to data corresponding to a set of related metrics or configurations. In an example, the group of parameters for the radio access nodes (RANs) includes radio frequency parameters (e.g., frequency band, channel bandwidth), transmission parameters (e.g., transmit power, modulation scheme), network configuration parameters (e.g., cell identifier (ID), sector configuration, quality of service (QoS) parameters (e.g., latency, throughput). In an aspect, the data corresponding to the family of parameters refers to data corresponding to a set of related metrics or settings that collectively describe a specific aspect. In an example, quality of service (QoS) parameter family includeslatency, throughput, packet loss rate, jitter, session continuity, etc. In an aspect, the data corresponding to all parameters refers to data corresponding to a set of all metrics or setting. In an example, all parameters for the radio access node include radio frequency parameters (e.g., frequency band, channel bandwidth, carrier frequency), transmission parameters (e.g., transmit power, modulation scheme, effective radiated power), network configuration parameters (e.g., cell ID, sector configuration, antenna type), QoS parameters (e.g., jitter, latency, throughput, packet loss rate), mobility management parameters (e.g., handover thresholds, paging cycle, tracking area code), performance parameters (e.g., call drop rate, success rate).
[0114] In an example, the user selects parameters corresponding to the plurality of radio nodes in the network. The selected parameters corresponding to the plurality of radio nodes includes node IDs, status, location (or tracking area code (TAC)), the software versions, last maintenance date etc.
[0115] The processing unit ( 134) is configured to process the one or more received parameters to determine a plurality of combinations of the one or more parameters. In an aspect, the processing unit (134) processes the one or more received parameters to determine a plurality of combinations of the one or more received parameters. In an example, a request for query creation to retrieve cell information corresponding to node 1 is received. The one or more parameters comprises node IDs, status, location (or tracking area code (TAC)), the software versions, and last maintenance date. The processing unit (134) determines the plurality of combinations of the one or more received parameters. The plurality of combinations comprises combination 1 = Node ID, Status, and Location (TAC), combination 2 = Node ID, Software Version, and Last Maintenance Date, combination 3 = Status, Location (TAC), and Software Version, combination 4 = Node ID, Last Maintenance Date, Status, Node ID, and Location (TAC), combination 5 = Node ID, Status, Location, Software Version, and Last Maintenance Date.
[0116] The processing unit (134) determines at least one combination from the plurality of combinations corresponding to the at least one received request. In an example, the processing unit (134) determines the parameters corresponding to the request (i.e., request to retrieve cell information corresponding to node 1). The processing unit (134) determines parameters that provide cell information corresponding to node 1 (i.e., parameters that are defined during the configuration of node 1). The processing unit (134) determines that the node 1 has parameters such as Node ID, Status, Location, Software Version, and Last Maintenance Date. So, the processing unit (134) determines at least one combination (i.e., combination 5 = Node ID, Status, Location, Software Version and Last Maintenance Date).
[0117] The processing unit (134) is configured to create at least one query using the determined combination. For the creation of the query of the determined combination, the processing unit (134) uses a plurality of operators (e.g., logical operators). In an aspect, the logical operators are symbols or keywords used in programming, mathematics, and logic to combine or modify Boolean values (true or false). In an example, for the request (i.e., request to retrieve cell information corresponding to node 1), the processing unit (134) determines at least one combination = Node ID, Status, Location, Software Version and Last Maintenance Date. The processing unit (134) creates the query based on the determined combination. The query for the request (i.e., request to retrieve cell information corresponding to node 1) = Node ID + Status + Location + Software Version + Last Maintenance Date. The processing unit (134) is configured to assign an identifier to the created query (i.e., query identifier). The query identifier refers to an identifier assigned to a query to uniquely identify the query. Each of created query is stored in the database ( 132) based on the query identifier. For example, query identifier = Q1231 for query = Node ID + Status + Location + Software Version + Last Maintenance Date.
[0118] In an aspect, the at least one query is dynamically created. The dynamic creation involves constructing the at least one query to fetch the data from the database (132) or the live network (106) based on one of the plurality of combinations of one or more received parameters in real-time. The dynamic query creation enhances adaptability and usability when interacting with the database ( 132) or the live network (106), providing users with the required data in real-time.
[0119] In another aspect, the user may input (i.e., request and parameters) using a device / module (e.g., the user equipment (104)). The system (i.e., query builder (130)) may receive the input as a command from the user equipment (104). The query builder (130) may form queries based on the received input. The processing unit (134) is configured to execute the at least one created query. In an aspect, the created query is processed to identify whether the query is executed on the database (132) or the live network (106). Based on identification, establishing the connection with the database (132) or the live network (106). Then, the query is executed on the database (132) or the live network (106) over the established connection. The data is fetched for the query from the database (132) or the live network (106).
[0120] In an aspect, the created query is executed on the database (132) or the live network (106). When the created query is executed on the database (132), the data corresponding to the query is retrieved from the database (132). When the created query is executed on the live network (106), the data corresponding to the query is retrieved from the live network (106). In an example, the created query is executed on the live network (106) to determine data corresponding to the plurality of radio nodes. The data retrieved for the plurality of radio nodes from the live network (106) includes radio node IDs, status, location, software version and last maintenance date. In an example, for node 1, node ID = 1, status = active, software version = 2.3.4, last maintenance date = 23rd April.
[0121] The processing unit ( 134) is configured to generate at least one report for the at least one executed query. The at least one generated report is stored in the database (132). In an aspect, after performing the execution of the created query on the database (132) or the live network (106), the report is generated for the executed query. The report includes charts, bar graphs, visualizations or summary statistics. In an aspect, the processing unit (134) is configured to assign an identifier to the generated report (i.e., report identifier). The report identifier refers to an identifier assigned to report to uniquely identify the report. Each of generated report is stored in the database (132) based on the report identifier. For example, a report identifier (e.g., Report Identifier = R12564) is assigned for the generated report of the query = Node ID + Status + Location + Software Version + Last Maintenance Date.
[0122] In an aspect, the processing unit (134) is configured to map the at least one generated report to the at least one created query in the database (132). For mapping, the processing unit (134) stores the at least one generated report with the report identifier against the at least one created query with the query identifier in the database (132). For example, the processing unit maps the report identifier with the query identifier (i.e., the report of the report identifier = R12564 stores against the query of the query identifier = QI 231) in the database (132). This mapping helps the processing unit (134) to determine which report or query to retrieve from the database upon receiving a request for the report or the query.
[0123] The processing unit (134) is further configured to check whether details of the at least one created query are valid. The details of the at least one created query comprises the at least one determined combination of one or more received parameters. On detecting that the details of the at least one created query are valid, the processing unit ( 134) is further configured to store the at least one created query in the database (132). In an aspect, validation of the created query includes checking for, but not limited to, query syntax (i.e., rules and structure used to write query), checking of typosor changes in naming conventions, checking any error messages that might indicate issues with the query after executing the query, checking for existence of parameters and including its validity, reviewing data types and values, analyzing logical conditions, etc. On detecting the details of the created query are valid, the created query is stored in the database (132) identified by the query identifier.
[0124] In an aspect, the processing unit (134) is configured to schedule an execution of the at least one created query at a defined date and a defined time as a one-time activity or in a recurring type for a defined duration and a defined executing frequency. The schedule of execution of the query is defined by the user (e.g., network operator or network administrator) based on requirements at time of the query creation. The requirements of execution of the created query may include one-time activity or recurring. The date and time for execution of the query are also set. In an aspect, the one-time activity refers to a task or event that is completed only once. The recurring type refers to a query that is executed repeatedly at specified intervals or under specific conditions. The date, time, duration and executing frequency are defined at the time of the query creation. In an example, for one time activity, the created query is scheduled for date = 29th Oct and time = 2 PM. In an example, For the recurring type, the created query is scheduled to execute every day and every hour.
[0125] Upon receiving a request for the at least one generated report, the processing unit (134) is configured to map the received request to the at least one generated report in the database (132) and retrieve the at least one generated report corresponding to the received request based on the mapping. In an aspect, the request for at least one generated report may be received from the user (i.e., the user who sends the request for query creation and any other user who has permission to use the report based on their role). The request for the at least one generated report comprises report data. The report data comprises at least one of, but not limited to, a query identifier, a report identifier, a date, a name of a report creator and at least one parameter of the oneor more parameters. For mapping, the processing unit (134) processes the report data of the request for at least one generated report to determine a report corresponding to the request in the database (132). Upon determining the report corresponding to the report data of the request is present in the database (132), the determined report corresponding to the request is retrieved from the database (132). The communication unit ( 131 ) is configured to communicate the at least one retrieved report. In an example, a request comprises data such as report identifier = 15432, date = 23rdmay, name of a report creator = John Martan and the parameters (node ID - 1, status - active, software version = 2.3.4, last maintenance date = 23rd April). The data of the request (i.e., report identifier = 15432, date = 23rdmay, name of a report creator = John Martan and the parameters (node ID - 1, status - active, software version = 2.3.4, last maintenance date = 23rd April)) is processed to determine a report corresponding to the request in the database. Upon determining the report corresponding to the request is present in the database, the report is retrieved from the database.
[0126] In an aspect, in response to receiving a request from one user for a previously created report by another user, the processing unit (134) is configured to associate and map the request with a plurality of reports created by the plurality of users in the database (132). Upon determining the report corresponding to the received request is present in the database (132), the processing unit (134) is configured to retrieve the mapped report from the database (132) based on the mapping. In an example, the plurality of reports is created by “User A”. Upon receiving a request from “User B” for the one report of the plurality of reports created by the “User A”, the processing unit (134) associates and maps the received request to the plurality of created reports by the “User A” in the database (132). The processing unit (134) retrieves the report corresponding to the received request from the database ( 132) based on the mapping. The retrieved report is displayed to “User B” using the interfacing unit (133).
[0127] In another embodiment, the query builder (130) receives a request for query creation and one or more parameters corresponding to the received request. The query builder (130) creates at least one query based on at least one combination of the one or more parameters. Further, the query builder (130) is configured to determine whether the at least one created query already exists in a plurality of created queries in the database (132). Upon determining that the at least one created query already exists in the database (132), the query builder (130) retrieves the report corresponding to the determined query (i.e., a query similar to the created query) from the database (132). Upon determining that the created query does not exist in the database (132), the query builder (130) executes the created query and generates a report based on the execution. In this way, the query builder (130) prevents the creation of similar queries and the generation of unnecessary data, making both the system (108) and the query builder (130) more efficient.
[0128] In an aspect, the query builder is configured to build one or more queries based on inputs (e.g., requests and parameters). The number of queries varies depending on the number of received requests, the received parameters and combinations of the received parameters (i.e., how many parameters are received, and how those parameters are combined). In an example, the cellular network comprises different nodes, types of different nodes, selection of nodes based on regions, and selection of nodes across different software versions. The number of queries varies depending on the combinations of parameters corresponding to different nodes, types of different nodes, selection of nodes based on regions, and selection of nodes across different software versions.
[0129] In an embodiment, the database (132) that includes data that may be either stored or generated as a result of functionalities implemented by any of the components of the processor (111). The database (132) may include any computer-readable medium known in the art including, for example, volatile memory, such as Static RandomAccess Memory (SRAM) and Dynamic Random Access Memory (DRAM), and / or non-volatile memory, such as Read Only Memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. In an aspect, the database (132) may be implemented in the query builder (130).
[0130] In an aspect, the user may search data across different types of network elements on different software versions associated with the different network elements by providing dynamic queries using the interfacing unit (133) of the query builder (130). The data across multiple different network elements across different software versions associated with the different network elements is searched in parallel. The network elements (e.g., routers, switches, firewalls, servers) execute on different versions of software, which can affect how data is stored, accessed, or queried. Each network element contains different data types or the same data in different formats. However, parallel searching allows multiple queries to execute simultaneously across the different network elements. This helps significantly speed up data retrieval and analysis.
[0131] Further, upon receiving the request for query creation from the user, the processing unit (134) identifies which network elements need to be queried and formulates the queries for each network element, considering the software version and data format for each network element. When data is to be retrieved from the live network (106), the queries are sent out simultaneously to the network elements. The queries are processed concurrently, allowing data from the network elements to be retrieved more quickly than if each query were executed sequentially. Once all queries are completed, the results are collected and aggregated. The report is generated.
[0132] In an aspect, the database ( 132) is configured to store program instructions and data corresponding to the plurality of queries. The program instructions include a program that implements a method for performing autonomous health monitoring of a plurality of microservices by the query builder (130), in accordance with embodimentsof the present disclosure and may implement other embodiments described in this specification.
[0133] Although FIG. 1C shows exemplary components of the block diagram (100C) of the system (108), in other embodiments, the block diagram (100C) of the system (108) may include fewer components, different components, differently arranged components, or additional functional components than depicted in FIG. 1C. Additionally, or alternatively, one or more components of the block diagram (100C) of the system (108) may perform functions described as being performed by one or more other components of the block diagram (100C) of the system (108).
[0134] FIG. 2 illustrates an example of a flow diagram (200) for retrieving data using queries generated from the query builder (130), in accordance with an embodiment of the present disclosure.
[0135] In FIG. 2 with reference to FIGs. 1A-1C, retrieving data using queries generated from the query builder (130) is illustrated.
[0136] At step (202) of the flow diagram (200), includes selecting a query type based on data retrieval from the database (132) or the live network (106) using the interfacing unit (133). In an aspect, the query type is selected to retrieve data from the database (132) or the live network (106).
[0137] In an aspect, the live network (106) consists of 5G as well as 4G network elements. Further, the live network (106) also includes multiple vendors whose data types, formats, structures are different. The vendor corresponding to the network refers to companies that supply hardware, software, and services needed to build, operate, and maintain the network. The vendors provide essential network infrastructure components such as base station, remote radio units (RRU), antennas, switches, routers, security, network functions virtualization (NFV) components, network management components, etc.
[0138] At step (204) of the flow diagram (200), selecting geography for query creation. In an aspect, the geography is selected for the query creation. The geography includes one or more geographic circles, geographic areas, one or more geographic regions.
[0139] At step (206) of the flow diagram (200), selecting parameters and operator for query creation. In an aspect, a plurality of parameters and operators are selected for the query creation. The plurality of parameters query types, regions, one or more software versions, etc. The selected operators include logical operators such as AND, OR, NOT, NOT, etc.
[0140] At step (208) of the flow diagram (200), checking whether the details of parameters are valid. In an aspect, checking whether the details of parameters are valid includes, but is not limited to, checking of data types, formats, range or length of numerical data, empty fields, relationship between fields, etc.
[0141] At step (210) of the flow diagram (200), on detecting that details of parameters are not valid, showing an error message - wrong input details. In an aspect, during the validation of the parameter details, the error message is displayed on the interfacing unit (133) if the parameters are found to be invalid. The error messages include the required field missing, invalid format, out-of-range, mismatched fields, exceeds the max length, cross-fields invalid, etc.
[0142] At step (212) of the flow diagram (200) on detecting that details of parameters are valid, selecting duration and executing frequencies based on conditions (at step 214 - per day, per week, weekend, weekday). In an aspect, the selection of duration includes short-term duration (e.g., 15 minutes), long-term duration (e.g., 1-2 hours), specific time frames (e.g., 3 hours). The selection of the executing frequencies includes everyday morning or evening, every Friday, once a week, once a year, quarterly, half yearly, etc.
[0143] At step (216) of the flow diagram (200), a query is created. The query is created based on the selected parameters, operators, the duration, and the executing frequency.
[0144] At step (218) of the flow diagram (200), detecting whether input details for the query are valid. After performing creation of query, detecting whether input details for the query are valid or not. The validation of query is performed to determine all required fields are filled or not, check the format of inputs, verify whether numerical inputs fall within specified ranges, check relationships between fields, etc.
[0145] At step (220) of the flow diagram (200), on detecting that the input details for the query are not valid, an error message may be shown such as - “Something went wrong”. In an aspect, when the input details for the query are not valid, the message “Something went wrong” is shown on the interfacing unit (133).
[0146] At step (222) of the flow diagram (200), on detecting that the input details for the query are valid, showing message as “the query created successfully”. In an aspect, when the input details for the query are valid, the message “the query created successfully” is shown on the interfacing unit (133).
[0147] At step (224) of the flow diagram (200), after the query is created successfully, storing the query to the database (132) (or the database management system (132)).
[0148] At step (226) of the flow diagram (200), a process to fetch scheduled request from the database (132) is performed. The scheduled request is sent to the database (132).
[0149] At step (228) of the flow diagram (200), the database (132) may send a request to fetch immediate query to the distributed event streaming platform queue. In an aspect, if any immediate query request is received in the distributed event streamingplatform queue, then the distributed event streaming platform queue may perform fetching of the immediate query.
[0150] At step (230) of the flow diagram (200), the distributed event streaming platform queue performs job streaming. In an aspect, job streaming is implemented after fetching the query request (e.g., scheduled request or immediate query request) from the queue. The job streaming involves managing a sequence of tasks that need to be processed in an orderly manner.
[0151] At step (232) of the flow diagram (200), detecting whether the query is a database query. The database query is used to retrieve data from the distributed database. When the query is not the database query, retrieving the data from the live network (106).
[0152] At step (234) of the flow diagram (200), on detecting that the query is not the database query, sending the query to the distributed file system (DFS) (112).
[0153] At step (236) of the flow diagram (200), an element management system (EMS) receives live data corresponding to the network elements from the network elements in the live network (106).
[0154] At step (238) of the flow diagram (200), the live data corresponding to the network elements is fetched from the EMS. The DFS receives the fetched live data. Upon receiving the query, the DFS processes the query and retrieves data corresponding to the query from received fetched live data.
[0155] At step (240) of the flow diagram (200), on detecting that the query is database query, sending the query to the distributed database.
[0156] At step (242) of the flow diagram (200), a processor corresponding to the distributed database processes the query request. The processing of the query requestincludes, but is not limited to, analyzing the query request to identify key components (e.g., data source, fields, conditions, etc.). In an example, the query request for getting details of all active radio nodes with a signal strength greater than -70 dBm located in a south-west region of an area A2. The key components include data source = Radio Nodes, Fields = Node ID, Location, Signal Strength, Status of the radio nodes, and the conditions = Status = 'active', Signal Strength > -70 dBm, Location = the south-west region of the area A2. Further, the processor of the distributed database applies logic and operators to the query request to construct conditions as needed (for example, for any specific time period).
[0157] At step (244) of the flow diagram (200), checking whether the processed query request is valid. After processing the query request, the processed query request is checked for validation of the applied logics and operators.
[0158] At step (246) of the flow diagram (200), on detecting that the processed query is invalid, mark the query as failed with remark. The query is marked as “Query failed” if the processed query is not valid.
[0159] At step (248) of the flow diagram (200), on detecting that the processed query is valid, marking the query as success with remark. The query is marked as “Query successful” if the processed query is valid.
[0160] At step (250) of the flow diagram (200), after marking the query as success with remark, creating a final query report. The created query report is stored in the database (132). Further, the final query report is displayed to the user on the interfacing unit (133).
[0161] FIG. 3 illustrates an exemplary flow diagram of a method (300) for creating the plurality of queries on the query builder (130), in accordance with an embodiment of the present disclosure.
[0162] As illustrated in FIG. 3 with reference to FIGs. 1A-1C, the method (300) performs creation of the plurality of queries on the query builder (130) using the communication unit (131), the processing unit (134), and query builder (130) of the system (108).
[0163] At step (302), the method (300) includes receiving, by the communication unit (131), at least one request for query creation. In an aspect, the at least one request is received from an entity. The entity may be a user, a boat and an automated component. In an aspect, the at least one request is a manual request or an automated request. The user manually inputs the request for query creation using the interfacing unit (133). In an example, the user inputs the request for query creation of the radio node = radio node 1142. In another aspect, the automated request is generated by the bot or the automated component upon receiving any trigger or predefined conditions. The trigger or predefined conditions may be set based on predefined rules. The predefined rules may be defined by the user (e.g., network operator or network administrator).
[0164] At step (304), the method (300) includes receiving, by the communication unit (131), one or more parameters corresponding to the at least one request. In an aspect, for the manual request, the user may select one or more parameters corresponding to the at least one request using the interfacing unit (133). For the automated request, the one or more parameters corresponding to the at least one request are predefined.
[0165] The one or more parameters includes a number of nodes, a type of a node, a region, one or more software versions associated with the node, and one or more executing frequencies. The one or more parameters further includes data to be retrieved. The one or more executing frequencies comprise per day, per week, weekend, weekday, half yearly and yearly. The data to be retrieved includes datacorresponding to at least one of a single parameter, a group of parameters, a family of parameters, all the parameters.
[0166] At step (306), the method (300) includes processing, by the processing unit (134), the one or more received parameters to determine a plurality of combinations of the one or more received parameters. In an aspect, the processing unit processes the one or more received parameters to determine all possible combinations of the received parameters.
[0167] At step (308), the method (300) includes determining (308), by the processing unit (134), at least one combination corresponding to the at least one received request. In an aspect, after determining all possible combinations of the one or more received parameters, the processing unit determines at least one combination from the combinations that corresponds to the received request. In an example, request is received to retrieve data corresponding to the node 1. The received parameters comprise Node ID, Status, Location, Software Version, Last Maintenance Date. But the parameters configured to the node 1 during configuration of the node 1 comprises Node ID, Status, Location, and Software Version. The data (i.e., configured parameters) corresponding to the configuration of the node 1 is stored in the database (132). The processing unit (134) determines the parameters configured to the node 1 from the database (132). Based on the determination, the processing unit (134) determines combination for the node 1 based on the configured parameters of the node 1. The determined combination for node 1 is based on the parameters (i.e., Node ID, Status, Location, and Software Version).
[0168] At step (310), the method includes creating, by the processing unit (134), at least one query using a plurality of combinations of the one or more selected parameters. In an example, the query = ((Radio Node ID) AND (Location) AND (Software Version) AND (Status)).
[0169] In an alternative embodiment, the created query can be formulated in a specific syntax format. The syntax format comprises, but not limited to, a type of database (for example, a relational database (e.g., the relational database management system (132-1)), a non-relational database (e.g., the non-relational database management system (132-2)), an object-oriented database, a structured database, an unstructured database, etc.). In an aspect, the relational database is a type of database that stores data in a structured format, using rows and columns, which are organized into tables. Each table, also called a relation, is a collection of related data entries. In an aspect, the non-relational database is a type of database that stores data in formats other than traditional tables and rows, offering flexibility and scalability for unstructured or semi-structured data. In an aspect, the object-oriented database (OODB) is a type of database management system (DBMS) that stores and manages data in the form of objects. In an aspect, the structured database (also referred to as a relational database) is an organized collection of data, typically stored electronically, where information is formatted in a predefined structure (i.e., rows and columns in a table). In an aspect, the unstructured database refers to a database comprising unstructured data that doesn't have a predefined format or structure (e.g., Images, audio files, video files, and other multimedia data).
[0170] The created query may be used for any one of the databases (e.g., the relational database, the non-relational database, the object-oriented database, the structured database and the unstructured database). The processing unit (134) performs the syntax format conversion using a syntax conversion unit that is responsible for creating the syntax formats. For example, for the relational database, a query is created to retrieve call records for a particular user on a specific date. In another example, for the non-relational database, a query is created to collect user documents with user details.
[0171] In an aspect, queries are dynamically created (i.e., queries created at runtime (i.e., real-time)) based on inputs provided by the user or for the automated request.
[0172] In an aspect, the method (300) includes executing, by the processing unit (134), the at least one created query. The processing unit (134) executes the created query to retrieve data from the database (132) or the live network (106). In an example, the created query (e.g., the query = (Radio Node ID) AND (Location) AND (Software Version) AND (Status)) is executed on the live network (106).
[0173] In an aspect, the method (300) includes generating, by the processing unit (134), at least one report for the at least one executed query. The at least one generated report is stored in the database (132). After performing execution of the created query on the live network (106), the data is retrieved for the radio node 1142. In an example, the data for the radio node 1142, Radio Node ID = 1142, Location = TAC = 342, Software version = 3.4.4, and status = active. Based on the retrieved data, the report is generated for the radio node 1142. The processing unit (134) is configured to map the at least one generated report to the at least one created query in the database (132). The processing unit (134) performs the mapping by storing the at least one generated report against the at least one created query in the database (132).
[0174] In an aspect, the processing unit (134) is configured to check whether details of the at least one created query are valid. On detecting that the details of the at least one created query are valid, the processing unit ( 134) is configured to store the at least one created query in the database (132). After creation of the query, the details of the created query is check for validation of the query. The validation of the created query includes checking for query syntax (i.e., rules and structure used to write query), Checking of typos or changes in naming conventions, checking any error messages that might indicate issues with the query after executing the query, reviewing data types and values, analyzing logical conditions, etc. Upon detecting that the details of thequery is valid, the created query is stored in the database (132). The stored query is used by other users based on the role and permission assigned to the users.
[0175] In an aspect, the method (300) further includes scheduling, by the processing unit (134), an execution of the at least one created query at a defined date and a defined time as a one-time activity or in a recurring type for a defined duration and a defined executing frequency. The schedule of execution of the query is defined by the user (e.g., network operator or network administrator) based on requirements at time of query creation. The requirements of execution of the created query may include one-time activity or recurring. The date and time for execution of the query are also set.
[0176] In an aspect, the method (300) further includes upon receiving a request for the at least one generated report, mapping, by the processing unit (134), the received request to the at least one generated report and retrieving, by the processing unit (134), the at least one generated report corresponding to the received request from the database (132) based on the mapping. In an aspect, The request for at least one generated report may be received from the user (i.e., the user who sends the request for query creation and any other user who has permission to use the report based on their role). The processing unit (134) performs the mapping by processing the request for at least one generated report to determine a report corresponding to the request from the database (132). Upon determining the report corresponding to the request is present in the database (132), the determined report corresponding to the request is retrieved from the database (132).
[0177] The method (300) further includes communicating, by the communication unit (131), the at least one retrieved report. The communication unit (131) displays the retrieved report to the user through the interfacing unit (133).
[0178] FIG. 4 illustrates an exemplary computer system (400) in which or with which embodiments of the present disclosure may be implemented.
[0179] As shown in FIG. 4, the computer system (400) may include an external storage device (410), a bus (420), a main memory (430), a read-only memory (440), a mass storage device (450), communication port(s) (460), and a processor (470). A person skilled in the art will appreciate that the computer system may include more than one processor and communication ports. The processor (470) may include various modules associated with embodiments of the present disclosure. The communication port(s) (460) 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(s) (460) 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 connects.
[0180] The main memory (430) may be random access memory (RAM), or any other dynamic storage device commonly known in the art. The read-only memory (440) 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 (470). The mass storage device (450) may be any current or future mass storage solution, which can be used to store information and / or instructions. Exemplary mass storage device (450) includes, but is 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 Lirewire interfaces), one or more optical discs, Redundant Array of Independent Disks (RAID) storage, e.g., an array of disks.
[0181] The bus (420) communicatively couples the processor (470) with the other memory, storage, and communication blocks. The bus (420) may be, e.g., a PeripheralComponent 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 (470) to the computer system.
[0182] Optionally, operator and administrative interfaces, e.g., a display, keyboard, joystick, and a cursor control device, may also be coupled to the bus (420) to support direct operator interaction with the computer system. Other operator and administrative interfaces can be provided through network connections connected through the communication port(s) (460). Components described above are meant only to exemplify various possibilities. In no way should the aforementioned exemplary computer system limit the scope of the present disclosure.
[0183] The present disclosure provides technical advancement related to the query builder (130). The query builder (130) allows quick retrieval of data based on dynamic queries that are auto generated based on selections of the plurality of parameters by the user using the interfacing unit (133). Using the query builder (130), the user may search data across different types of network elements on different software versions by providing dynamic queries using the interfacing unit (133). The data across multiple different network elements across different software versions is searched in parallel. The data that is queried using plurality of queries is stored across plurality of databases.
[0184] The exemplary computer system (400) is configured to execute 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 perform a method for creating a plurality of queries on a query builder is described. The method comprises receiving, by a communication unit, at least one request for query creation. The method further comprises receiving, by the communication unit, one or more parameters corresponding to the at least one request. The method comprises processing, by a processing unit, the one or more receivedparameters to determine a plurality of combinations of the one or more received parameters. The method comprises determining, by the processing unit, at least one combination corresponding to the at least one request. The method comprises creating, by the processing unit, at least one query using at least one determined combination
[0185] While the foregoing describes various embodiments of the invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof. The scope of the invention is determined by the claims that follow. The invention 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 invention when combined with information and knowledge available to the person having ordinary skill in the art.TECHNICAL ADVANTAGES
[0186] As is evident from the above, the present disclosure provides a system and a method for query builder. The query builder allows quick retrieval of data based on dynamic queries that are auto generated based on selections by the user using the interfacing unit.
[0187] With the help of the interfacing unit, the user’s requirements / requests are converted into queries. The data is retrieved using the queries. The user requirements are mapped to auto-generated system / database queries to retrieve data across different software versions, on user request or based on the scheduled time.
[0188] Using the query builder, the user may search data across different types of network elements on different software versions by providing dynamic queries using the interfacing unit. The data across multiple different network elements across different software versions is searched in parallel. The data that is queried using plurality of queries is stored across plurality of databases.
Claims
We claim:
1. A method (300) for creating a plurality of queries on a query builder (130), the method (300) comprising: receiving (302), by a communication unit (131), at least one request for query creation; receiving (304), by the communication unit (131), one or more parameters corresponding to the at least one request; processing (306), by a processing unit (134), the one or more received parameters to determine a plurality of combinations of the one or more received parameters; determining (308), by the processing unit (134), at least one combination corresponding to the at least one request; and creating (310), by the processing unit (134), at least one query using the at least one determined combination.
2. The method (300) as claimed in claim 1 , wherein the one or more parameters comprises at least one or more of a number of nodes, a type of a node, a region, one or more software versions associated with the node, and one or more executing frequencies.
3. The method (300) as claimed in claim 1 further comprising: checking, by the processing unit (134), whether details of the at least one created query are valid; and based on checking, storing, by the processing unit (134), the at least one created query in a database (132).
4. The method (300) as claimed in claim 1, further comprising: executing, by the processing unit (134), the at least one created query; generating, by the processing unit (134), at least one report for the at least one executed query; and storing, by the processing unit (134), the at least one generated report in the database (132), wherein the processing unit (134) is configured to map the at least one generated report to the at least one created query in the database (132).
5. The method (300) as claimed in claim 1, further comprising: scheduling, by the processing unit (134), an execution of the at least one created query at a defined date and a defined time as a one-time activity or in a recurring type for a defined duration and a defined executing frequency.
6. The method (300) as claimed in claim 4, further comprising: upon receiving a request for the at least one generated report, mapping, by the processing unit (134), the received request to the at least one generated report in the database (132); retrieving, by the processing unit (134), the at least one generated report from the database (132) based on the mapping; and communicating, by the communication unit (131), the at least one retrieved report.
7. A system (108) for creating a plurality of queries on a query builder (130), the system comprising the query builder (130), the query builder (130) comprises: a communication unit (131) configured to: receive at least one request for query creation; andreceive one or more parameters corresponding to the at least one request; and a processing unit (134) coupled with the communication unit (131), wherein the processing unit (134) is configured to: process the one or more received parameters to determine a plurality of combinations of the one or more received parameters; determine at least one combination corresponding to the at least one request; and create at least one query using the at least one determined combination.
8. The system (108) as claimed in claim 7, wherein the one or more parameters comprises at least one or more of a number of nodes, a type of nodes, a region, one or more software versions associated with the node, and one or more executing frequencies.
9. The system (108) as claimed in claim 7, wherein the processing unit (134) is further configured to: check whether details of the at least one created query are valid; and based on checking, store the at least one created query in a database (132).
10. The system (108) as claimed in claim 7, wherein the processing unit (134) configured to: execute the at least one created query; generate at least one report for the at least one executed query; andstore the at least one generated report in the database (132), the processing unit ( 134) is configured to map the at least one generated report to the at least one created query in the database (132).
11. The system (108) as claimed in claim 7, wherein the processing unit (134) is configured to schedule an execution of the at least one created query at a defined date and a defined time as a one-time activity or in a recurring type for a defined duration and a defined executing frequency.
12. The system (108) as claimed in claim 10, wherein upon receiving a request for the at least one generated report, the processing unit (134) is configured to: map the received request to the at least one generated report in the database (132); and retrieve the at least one generated report from the database (132) based on the mapping; and the communication unit (131) configured to communicate the at least one retrieved report.
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 perform a method (300) for creating a plurality of queries on a query builder (130), the method (300) comprising: receiving (302), by a communication unit (131), at least one request for query creation; receiving (304), by the communication unit (131), one or more parameters corresponding to the at least one request;processing (306), by a processing unit (134), the one or more received parameters to determine a plurality of combinations of the one or more received parameters; determining (308), by the processing unit (134), at least one combination corresponding to the at least one request; and creating (310), by the processing unit (134), at least one query using the at least one determined combination.
Citation Information
Patent Citations
Query processing method and device, database system, electronic equipment and storage medium
CN113076330A
Data query method, server, node and storage medium
CN114840574A
Automatic search query generation and results set management
US7680781B1