Method, system and storage medium for achieving a virtual data lake
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- SIEMENS AG
- Filing Date
- 2023-09-27
- Publication Date
- 2026-06-24
AI Technical Summary
Traditional digital solutions struggle to achieve synergy between different value chains due to limitations in data model customization, data extraction logic, and the inability to establish and manage business relationships between data from heterogeneous systems, requiring skilled data professionals and IT experts.
A method and system for achieving a virtual data lake by providing a SQL database interface, parsing SQL queries to extract query operation, object, and entity information, and using a universal connectivity module to perform queries across multiple data sources based on a knowledge graph, allowing for data fusion and caching.
Enables virtual integration of data from multiple sources without centralized storage, providing a database-like experience for users, reducing the need for skilled professionals, and enhancing data accessibility and analysis capabilities.
Smart Images

Figure CN2023122282_03042025_PF_FP_ABST
Abstract
Description
METHOD, SYSTEM AND STORAGE MEDIUM FOR ACHIEVING A VIRTUAL DATA LAKEFIELD
[0001] The present application relates to intelligent manufacturing technologies, and more particularly, to a method, system and storage medium for achieving a virtual data lake.BACKGROUND
[0002] The improvement of enterprise management and operation often involves multiple links in different value chains. It is difficult for traditional digital solutions to achieve synergy between different value chains. Some big data platform solutions can partially solve this problem by regularly synchronizing the data of heterogeneous systems to a data warehouse through extract-transform-load (ETL) and build a business intelligent system to visualize and analysis data.
[0003] However, there are many unsolved issues based on the current practices. The data model established in the data platform can only be customized according to requirements of the customer, and corresponding data is obtained from heterogeneous systems through a regular data extraction and stored in the data warehouse. Once the requirements change, both the data model and its extraction logic need to be customized. Data distributed in heterogeneous systems are usually business related to each other. The business relationship between these data cannot be established and managed by the data model defined in data warehouse. To run these solutions, companies need skilled data professionals and IT experts. In most cases, enterprise, especially industrial companies face a problem of lack of these experts.
[0004] Therefore, those skilled in the art are also working to find other data layer implementation solutions.SUMMARY
[0005] According to embodiments of the present application, a method, system and storage medium for achieving a virtual data lake are provided to achieve a virtual data lake.
[0006] The method for achieving a virtual data lake provided by embodiments of the present application includes: providing a SQL database interface to a user, and receiving a SQL query request from the user via the SQL database interface; parsing the SQL query request and obtaining corresponding query operation information, query object information and query entity information, wherein the query entity information comprises at least one entity in a knowledge graph, and the query object information comprises property information contained in each of the at least one entity; grouping the query operation information, query object information and query entity information by entities to obtain a query parse tree corresponding to each entity; distributing the query parse tree corresponding to each entity to a universal connectivity module, so that the universal connectivity module is to perform corresponding query operation on corresponding data in corresponding data source according to an obtained mapping connection between raw data of data sources and entities, properties of the knowledge graph.
[0007] In an example, the corresponding query operation includes a read operation; the method further comprises: receiving fusion data read from at least one data source and combined by the universal connectivity module; and returning the fusion data to the user.
[0008] In an example, the method further includes: caching the fusion data and / or the query parse tree corresponding to each entity in a cache.
[0009] In an example, the method further includes: parsing the SQL query request and obtaining a schema query request; obtaining schema information based on a knowledge graph module, wherein the schema information comprising information of entities in the knowledge graph and information of properties contained in each entity; returning the schema information to the user.
[0010] In an example, the method further includes: caching the schema information in a cache.
[0011] In an example, the method further includes: authenticating an identity of the user and providing corresponding authorization to the user; receiving the SQL query request from the user when the SQL query request is allowed by the authorization.
[0012] The system for achieving a virtual data lake provided by embodiments of the present application includes: a SQL endpoint module, to provide a SQL database interface which is implemented as a database object to a user; and receives a SQL query request from the user via the SQL database interface; a parse module, to parse the SQL query request to obtain corresponding query operation information, query object information and query entity information, wherein the query entity information comprises at least one entity in a knowledge graph, and the query object information comprises property information contained in each of the at least one entity; and group the query operation information, query object information and query entity information to obtain a query parse tree corresponding to each entity; a distributed query engine module, to distribute the query parse tree corresponding to each entity to a universal connectivity module, so that the universal connectivity module is able to perform corresponding query operation on corresponding data in corresponding data source according to a mapping connection, obtained from a schema binder module, between raw data of data sources and entities, properties of the knowledge graph.
[0013] In an example, the corresponding query operation includes a read operation; the distributed query engine module is further to receive fusion data read from at least one data source and combined by the universal connectivity module; and return the fusion data to the user through the parse module and the SQL endpoint module or directly through the SQL endpoint module.
[0014] In an example, the system further includes: a cache module, to cache the fusion data and / or the query parse tree corresponding to each entity sent by the universal connectivity module.
[0015] In an example, the system further inludes a data catalogue module; the parse module is further to parse the SQL query request and obtaining a schema query request, send the schema query request to the data catalogue module; the data catalogue module is to obtain schema information from a knowledge graph module through a semantic API engine module, and return the schema information to the user through the parse module and the SQL endpoint module or directly through the SQL endpoint module, wherein the schema information comprising information of entities in the knowledge graph and information of properties contained in each entity.
[0016] In an example, the system further includes: a cache module, to cache the schema information sent by the data catalogue module or sent by the semantic API engine module.
[0017] In an example, the system further includes: an authentication and authorization module, to authenticate an identity of the user and provide corresponding authorization to the user; the SQL endpoint module receives the SQL query request from the user when the SQL query request is allowed by the authorization.
[0018] Another system for achieving a virtual data lake provided by embodiments of the present application includes: at least one memory, to store a computer program; and at least one processor, to call the computer program stored in the at least one memory to perform above mentioned method for achieving a virtual data lake.
[0019] A non-transitory computer-readable storage medium on which a computer program is stored, the computer program is to be executed by a processor to implement above mentioned method for achieving a virtual data lake.
[0020] It can be seen from the above technical solutions that in the embodiment of the application, since data from multiple data sources is virtually integrated without moving data to centralized storage, and a SQL database interface is provided to a user to receive a SQL query request from the user and return corresponding query result so that the user may use the virtually integrated data like a database, thus a virtual data lake is achieved.BRIEF DESCRIPTION OF THE DRAWINGS
[0021] For a better understanding of the present application, reference should be made to the Detailed Description below, in conjunction with the following drawings in which like reference numerals refer to corresponding parts throughout the figures.
[0022] Figure 1 is a flow chart diagram illustrating a method for achieving a virtual data lake according to an embodiment of the application.
[0023] Figure 2 is a structure diagram illustrating a system for achieving a virtual data lake according to an embodiment of the application.
[0024] Figure 3 is a schematic diagram illustrating another system for achieving a virtual data lake according to an embodiment of the present application.
[0025] The reference numerals are as follows: DETAILED DESCRIPTION
[0026] In embodiments of the application, in order to achieve synergy between different value chains, a data fusion scheme based on knowledge graph is provided in data layer. In the data fusion scheme, raw data structures are mapped to standard data structures by a universal connectivity module; standard entities are obtained and the properties contained in each standard entity are determined, wherein the properties contained in the standard entity are related to fields in the standard data structure; associations between standard entities are established and a knowledge graph with standard entities as vertices and associations between standard entities as edges is generated by a data modeling module; the entities and the properties in the knowledge graph are bind with raw data table and fields by a schema binder module.
[0027] The schema binder module can build mapping connection between multi-source heterogeneous data for instance the raw data of different data sources and standardized semantic data including information of entities in the knowledge graph and properties contained in each entity through low code paradigm.
[0028] The data modeling module can establish standard models of various industries according to international industry standards, and customize Knowledge Graph for customers based on these models; and provide semantic and virtual data lake access interface for a user, such as an application development.
[0029] In embodiments of the application, the concept of virtual data lake is provided, as the data in the data fusion scheme may be used by the user like a database, namely the virtual data lake achieving scheme may provide a database appearance to the user and provide the function of virtual data lake API engine. The virtual data lake API engine is an abstract logical layer to virtually integrate data from multiple data sources without moving data to centralized storage. It provides data access for Business Intelligence (BI) or analytic system to data consumers while hiding the complexity of data sources and data infrastructure by leveraging data fusion capabilities of Semantic API Engine and Industrial Knowledge Graph.
[0030] The data fusion scheme is a lightweight semantic abstraction framework which provides data fusion to heterogeneous data sources and speeds up application development. The solution provides a modern loose-coupled and high-robustness low code architecture that optimized for IoT systems.
[0031] Reference will now be made in detail to examples, which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present application. Also, the figures are illustrations of an example, in which assemblies shown in the figures are not necessarily essential for implementing the present application. In other instances, well-known assemblies, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the examples.
[0032] Figure 1 is a flow chart diagram illustrating a method for achieving a virtual data lake according to an embodiment of the application. As shown in figure 1, the method may include the following processes.
[0033] At block 101, a SQL database interface is provided to a user, and a SQL query request is received from the user via the SQL database interface.
[0034] In the example, the SQL database interface is an entry point into the data layer. The SQL database interface may be implemented as a database object and defines the ways and means in which data layer may communicate over the network. Data layer routes all interactions with the network via the SQL database interface. The SQL database interface may enhance the security of data access through identity proven provided by Authentication and Authorization. The SQL database interface may adopt HTTP or TCP protocol transport, and the payload of the SQL database interface may be one of TSQL, Service_Broker, Database_Mirroring, or SOAP etc.
[0035] At block 102, the SQL query request is parsed. When a schema query request is obtained after parsing the SQL query request, block 103 is performed; when query operation information, query object information and query entity information is obtained after parsing the SQL query request, block 104 is performed. The query entity information includes at least one entity in a knowledge graph, and the query object information includes property information contained in each of the at least one entity. The query operation information may include create operation, read operation, update operation and delete operation.
[0036] Before the SQL query request is parsed, the method may further include: the SQL query request is compiled and validated to report for syntax errors. When there are no syntax errors, the SQL query request is parsed.
[0037] At block 103, schema information is obtained based on a knowledge graph module according to the schema query request, wherein the schema information comprising information of entities in the knowledge graph and information of properties contained in each entity; and the schema information is returned to the user.
[0038] In an example, the schema information may be obtained based on a knowledge graph through a semantic API engine module. The semantic API engine module is configured to obtain the schema information from the knowledge graph according to the schema query request, and convert obtained schema information to SQL format.
[0039] In an example, the schema information may be stored in a cache for subsequent call.
[0040] At block 104, the query operation information, query object information and query entity information is grouped by entities to obtain a query parse tree corresponding to each entity, one query parse tree corresponds to one entity.
[0041] At block 105, the query parse tree corresponding to each entity is distributed to a universal connectivity module, so that the universal connectivity module is to perform corresponding query operation on corresponding data in corresponding data source according to an obtained mapping connection between raw data of data sources and entities, properties of the knowledge graph.
[0042] For example, when the corresponding query operation includes a create operation, the corresponding query object includes corresponding field, the corresponding query entity includes corresponding table in corresponding data source, the universal connectivity module 23 may create a corresponding field for corresponding table in corresponding data source. At this time, the method may be further to receive a create result from the universal connectivity module; and return the create result to the user.
[0043] When the corresponding query operation includes a read operation, the corresponding query object includes corresponding field, the corresponding query entity includes corresponding table in corresponding data source, the universal connectivity module may read corresponding data of corresponding field from corresponding table in corresponding data source; when it is necessary to read data from more than one table or from more than one data source, the data read from at least one table or data source may be combined by the universal connectivity module, and then be returned to the user. At this time, the method may further include: receive fusion data read from at least one table or data source and combined by the universal connectivity module; and return the fusion data to the user.
[0044] When the corresponding query operation includes an update operation, the corresponding query object includes corresponding field, the corresponding query entity includes corresponding table in corresponding data source, the universal connectivity module may update corresponding data of corresponding field in corresponding table in corresponding data source. At this time, the method may be further to receive an update result from the universal connectivity module; and return the update result to the user.
[0045] When the corresponding query operation includes a delete operation, the corresponding query object includes corresponding field, the corresponding query entity includes corresponding table in corresponding data source, the universal connectivity module may delete corresponding field from corresponding table in corresponding data source. At this time, the method may be further to receive a delete result from the universal connectivity module; and return the delete result to the user.
[0046] In an example, the fusion data and / or the query parse tree corresponding to each entity may be stored in a cache.
[0047] In addition, the method may further include: an identity of the user is authenticated and corresponding authorization is provided to the user when the identity of the user is passed. Correspondingly, the SQL query request is received from the user when the SQL query request is allowed by the authorization.
[0048] The method for achieving a virtual data lake in embodiments of the application is described in detail above, and the system achieving a virtual data lake in embodiments of the application is described in detail below. The system for achieving a virtual data lake in embodiments of the application can be used to implement the method for achieving a virtual data lake in embodiments of the application. For details not disclosed in system or method embodiments of the application, please refer to the corresponding description in method or system embodiments of the application.
[0049] Figure 2 is a structure diagram illustrating a system for achieving a virtual data lake according to an embodiment of the application. As shown in figure 2, the system may include a universal connectivity module 21, a data modeling module 22, a schema binder module 23 and an operation and monitoring module 24.
[0050] The universal connectivity module 21 is to map raw data structures to standard data structures. The raw data structures may include data structure of manufacturing scheduling 251, Operational Technology (OT) data 252, quality management 253, Enterprise Resource Planning (ERP) 254, IT system 255 and / or other data sources 256.
[0051] The universal connectivity module 21 may provide a unified data integration framework, which can integrate various systems in a configurable way, and provide support for multiple drivers and protocols. Additionally, custom plugins can be created to support new connectivity drivers. The universal connectivity module have the capability of data connection, hot and cold data distinction, disconnection and reconnection, transaction compensation, connection pool optimization, and other technical means to ensure data reliability and robustness.
[0052] The data modeling module 22 is configured to obtain standard entities and determine the properties contained in each standard entity, wherein the properties contained in the standard entity are related to fields in the standard data structure; and establish associations between standard entities and generate a knowledge graph with standard entities as vertices and associations between standard entities as edges. In an example, the data modeling module 22 may obtain standard ontology from preset domain standards and generate a standard entity corresponding to the standard ontology. In an example, the knowledge graph may be an industrial knowledge graph.
[0053] The schema binder module 23 is configured to bind the entities and the properties in the knowledge graph with raw data table and fields. In an example, the schema binder module 23 may build mapping connection between entities, properties in the knowledge graph and raw data tables, fields in data sources.
[0054] The operation and monitoring module 24 is configured to perform deployment, micro service management, license management, authentication and authorization, data caching, and so on.
[0055] In an example, the data modeling module 22 may establish standard models of various industries according to international industry standards, and customize Knowledge Graph for customers based on these models; and provide semantic and virtual data lake access interface for a user. For example, the data modeling module 22 may include a SQL endpoint module 221, a parse module 222, a distributed query engine module 223, a data catalogue module 224, a semantic API engine module 225 and a knowledge graph module 226. The parse module 222, the distributed query engine module 223 and the data catalogue module 224 may achieve the functions of a SQL engine.
[0056] The SQL endpoint module 221is configured to provide a SQL database interface which is implemented as a database object to a user; and receives a SQL query request from the user via the SQL database interface.
[0057] In the example, the SQL database interface is an entry point into the data layer. The SQL database interface may be implemented as a database object and defines the ways and means in which data layer may communicate over the network. Data layer routes all interactions with the network via the SQL database interface. The SQL database interface may enhance the security of data access through identity proven provided by Authentication and Authorization. The SQL database interface may adopt HTTP or TCP protocol transport, and the payload of the SQL database interface may be one of TSQL, Service_Broker, Database_Mirroring, or SOAP etc.
[0058] The parse module 222 is configured to parse the SQL query request. When a schema query request is obtained after parsing the SQL query request, the data catalogue module 224 is performed; when query operation information, query object information and query entity information is obtained after parsing the SQL query request, the distributed query engine module 223 is performed. The query entity information includes at least one entity in a knowledge graph, and the query object information includes property information contained in each of the at least one entity. The query operation information may include create operation, read operation, update operation and delete operation.
[0059] Before parsing the SQL query request, the parse module 222 may be further to compile and validate the SQL query request to report for syntax errors. When there are no syntax errors, the parse module 222 parses the SQL query request.
[0060] The distributed query engine module 223 is configured to distribute the query parse tree corresponding to each entity to the universal connectivity module 21, so that the universal connectivity module 21 is able to perform corresponding query operation on corresponding data in corresponding data source according to a mapping connection, obtained from the schema binder module 23, between raw data of data sources and entities, properties of the knowledge graph.
[0061] For example, when the corresponding query operation includes a create operation, the corresponding query object includes corresponding field, the corresponding query entity includes corresponding table in corresponding data source, the universal connectivity module 23 may create a corresponding field for corresponding table in corresponding data source. At this time, the distributed query engine module 223 may be further to receive a create result from the universal connectivity module 21; and return the create result to the user through the parse module 222 and the SQL endpoint module 221or directly through the SQL endpoint module 221.
[0062] When the corresponding query operation includes a read operation, the corresponding query object includes corresponding field, the corresponding query entity includes corresponding table in corresponding data source, the universal connectivity module 21 may read corresponding data of corresponding field from corresponding table in corresponding data source; when it is necessary to read data from more than one table or from more than one data source, the data read from at least one table or data source may be combined by the universal connectivity module, and then be returned to the user. At this time, the distributed query engine module 223 may be further to receive fusion data read from at least one data source and combined by the universal connectivity module 21; and return the fusion data to the user through the parse module 222 and the SQL endpoint module 221or directly through the SQL endpoint module 221.
[0063] When the corresponding query operation includes an update operation, the corresponding query object includes corresponding field, the corresponding query entity includes corresponding table in corresponding data source, the universal connectivity module 21 may update corresponding data of corresponding field in corresponding table in corresponding data source. At this time, the distributed query engine module 223 may be further to receive a update result from the universal connectivity module 21; and return the update result to the user through the parse module 222 and the SQL endpoint module 221or directly through the SQL endpoint module 221.
[0064] When the corresponding query operation includes a delete operation, the corresponding query object includes corresponding field, the corresponding query entity includes corresponding table in corresponding data source, the universal connectivity module21 may delete corresponding field from corresponding table in corresponding data source. At this time, the distributed query engine module 223 may be further to receive a delete result from the universal connectivity module 21; and return the delete result to the user through the parse module 222 and the SQL endpoint module 221or directly through the SQL endpoint module 221.
[0065] The data catalogue module 224 is configured to obtain schema information from the knowledge graph module 226 through the semantic API engine module 225, and return the schema information to the user through the parse module 222 and the SQL endpoint module 221 or directly through the SQL endpoint module 221. The schema information comprising information of entities in the knowledge graph and information of properties contained in each entity.
[0066] The semantic API engine module 225 is configured to obtain the schema information from the knowledge graph according to the schema query request, convert obtained schema information to SQL format.
[0067] The knowledge graph module 226 is configured to obtain standard entities and determine the properties contained in each standard entity, wherein the properties contained in the standard entity are related to fields in the standard data structure; and establish associations between standard entities and generate a knowledge graph with standard entities as vertices and associations between standard entities as edges. Furthermore, the knowledge graph module 226 is to manage the knowledge graph. In an example, the knowledge graph may be an industrial knowledge graph.
[0068] In the embodiment, the operation and monitoring module 24 may include an authentication and authorization module 241 and a cache module 242.
[0069] The authentication and authorization module 241is configured to authenticate an identity of the user and provide corresponding authorization to the user.
[0070] The cache module 242 is configured to cache the schema information sent by the data catalogue module 224 or sent by the semantic API engine module 225.
[0071] The cache module 242 may be further to cache the fusion data and / or the query parse tree corresponding to each entity sent by the universal connectivity module 21.
[0072] In fact, the system for achieving a virtual data lake provided by this embodiment of the present application may be specifically implemented in various manners. For example, the system for achieving a virtual data lake may be compiled, by using an application programming interface that complies with a certain regulation, as a plug-in that is installed in an intelligent terminal, or may be encapsulated into an application program for a user to download and use.
[0073] When compiled as a plug-in, the system for achieving a virtual data lake may be implemented in various plug-in forms such as ocx, dll, and cab. The system for achieving a virtual data lake provided by this embodiment of the present application may also be implemented by using a specific technology, such as a Flash plug-in technology, a RealPlayer plug-in technology, an MMS plug-in technology, a MIDI staff plug-in technology, or an ActiveX plug-in technology.
[0074] The method for achieving a virtual data lake provided by this implementation manner of the present application may be stored in various storage mediums in an instruction storage manner or an instruction set storage manner. These storage mediums include, but are not limited to: a floppy disk, an optical disc, a DVD, a hard disk, a flash memory, a USB flash drive, a CF card, an SD card, an SDHC card, an MMC card, an SM card, a memory stick, and an xD card.
[0075] Moreover, it should be clear that an operating system operated in a computer can be made, not only by executing program code read by the computer from a storage medium, but also by using an instruction based on the program code, to implement some or all actual operations, so as to implement functions of any embodiment in the foregoing embodiments.
[0076] For example, figure 3 is a schematic diagram illustrating another system for achieving a virtual data lake according to embodiments of the present application. The system may be used to perform the method shown in figure 1, or to implement the system shown in figure 2. As shown in figure 3, the system may include at least one memory 31 and at least one processor 32. In addition, some other components may be included, such as communication port, input / output controller, network communication interface, etc. These components communicate through bus 33, etc.
[0077] At least one memory 31 is configured to store a computer program. In one example, the computer program can be understood to include various modules of the system shown in figure 2. In addition, at least one memory 31 may store an operating system or the like. Operating systems include but are not limited to: Android operating system, Symbian operating system, windows operating system, Linux operating system, etc.
[0078] At least one processor 32 is configured to call the computer program stored in at least one memory 31 to perform a method for achieving a virtual data lake described in embodiments of the present application. The processor 32 can be CPU, processing unit / module, ASIC, logic module or programmable gate array, etc. It can receive and send data through the communication port.
[0079] The I / O controller has a display and an input device, which is used to input, output and display relevant data.
[0080] It should be understood that, as used herein, unless the context clearly supports exceptions, the singular forms "a" ( "a" , "an" , "the" ) are intended to include the plural forms. It should also be understood that, "and / or" used herein is intended to include any and all possible combinations of one or more of the associated listed items.
[0081] The number of the embodiments of the present application are only used for description, and do not represent the merits of the implementations.
[0082] It can be seen from the above technical solutions that in the embodiment of the application, since data from multiple data sources is virtually integrated without moving data to centralized storage, and a SQL database interface is provided to a user to receive a SQL query request from the user and return corresponding query result so that the user may use the virtually integrated data like a database, thus a virtual data lake is achieved. With the technical solutions in embodiments of the present application, there are also the following advantages.
[0083] Data service: It can help business departments establish a data asset management center, and business expert can obtain related services through Data Layer, such as data acquisition and data analysis. Data can be processed, managed, etc., just like an ecological platform, which can continuously generate various data assets according to business requirements.
[0084] Data application development: Personalized data exploration tools can be provided to staff in different business domain, and data interfaces can be generated on this basis, giving business expert the ability to analyze data. Business expert can explore and discover the value of data according to their requirements, and build applications that can deeply analysis data, and these applications can be turned into independent products.
[0085] Data processing: Provides strong technical support for data collection, governance, and integration, and truly realizes data access and sharing. It abstracts and manages high- dimensional data models for various underlying data sources, and uses knowledge graphs to integrate the relationship between metadata models and production data.
[0086] Asset precipitation: The transmission and circulation of data assets is inseparable from the support of infrastructure. Data Layer is the premise and carrier for carrying data assets and applications and realizing cross-value chain collaboration. The industrial knowledge graph is jointly constructed by the industrial concept ontology with rich industrial domain vocabulary and the knowledge extracted from the advanced industrial data platform. The accumulation of these knowledge graphs for different business domain can help improve competitiveness and accumulate data assets.
[0087] Data integration: As the business development, the internal data and external data generated during the development process continuously, and data interconnection becomes more and more important. Heterogeneous systems have barriers between their own data, forming a data chimney, unable to turn data resources into business drivers. Data Layer standardizes data, has low-code configuration multi-data access capabilities of heterogeneous systems, provides a unified data source for upper-layer industrial APP systems, eliminates data islands in traditional methods.
[0088] System risk isolation: Upper-layer applications do not need to understand data details of heterogeneous IT systems and OT systems. The construction of business applications only depends on standardized data schema. IT systems and OT systems do not need to provide additional support and adjustments for the construction of business applications. Changes in the underlying data system will not affect upper-layer applications.
[0089] The foregoing description, for purpose of explanation, has been described with reference to specific examples. However, the illustrative discussions above are not intended to be exhaustive or to limit the present application to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The examples were chosen and described in order to best explain the principles of the present application and its practical applications, to thereby enable others skilled in the art to best utilize the present application and various examples with various modifications as are suited to the particular use contemplated.
Claims
1.A method for achieving a virtual data lake, characterized in that, comprising:providing a SQL database interface to a user, and receiving a SQL query request from the user via the SQL database interface;parsing the SQL query request and obtaining corresponding query operation information, query object information and query entity information, wherein the query entity information comprises at least one entity in a knowledge graph, and the query object information comprises property information contained in each of the at least one entity;grouping the query operation information, query object information and query entity information by entities to obtain a query parse tree corresponding to each entity;distributing the query parse tree corresponding to each entity to a universal connectivity module, so that the universal connectivity module is to perform corresponding query operation on corresponding data in corresponding data source according to an obtained mapping connection between raw data of data sources and entities, properties of the knowledge graph.2.The method for achieving a virtual data lake according to claim 1, characterized in that, the corresponding query operation comprises a read operation; the method further comprises: receiving fusion data read from at least one data source and combined by the universal connectivity module; and returning the fusion data to the user.3.The method for achieving a virtual data lake according to claim 2, characterized in that, further comprising:caching the fusion data and / or the query parse tree corresponding to each entity in a cache.4.The method for achieving a virtual data lake according to claim 1, characterized in that, further comprising:parsing the SQL query request and obtaining a schema query request;obtaining schema information based on a knowledge graph module, wherein the schema information comprising information of entities in the knowledge graph and information of properties contained in each entity;returning the schema information to the user.5.The method for achieving a virtual data lake according to claim 4, characterized in that, further comprising:caching the schema information in a cache.6.The method for achieving a virtual data lake according to any one of claims 1 to 5, characterized in that, further comprising:authenticating an identity of the user and providing corresponding authorization to the user;receiving the SQL query request from the user when the SQL query request is allowed by the authorization.7.A system for achieving a virtual data lake, characterized in that, comprising:a SQL endpoint module (221) , to provide a SQL database interface which is implemented as a database object to a user; and receives a SQL query request from the user via the SQL database interface;a parse module (222) , to parse the SQL query request to obtain corresponding query operation information, query object information and query entity information, wherein the query entity information comprises at least one entity in a knowledge graph, and the query object information comprises property information contained in each of the at least one entity; and group the query operation information, query object information and query entity information to obtain a query parse tree corresponding to each entity;a distributed query engine module (223) , to distribute the query parse tree corresponding to each entity to a universal connectivity module (21) , so that the universal connectivity module (21) is able to perform corresponding query operation on corresponding data in corresponding data source according to a mapping connection, obtained from a schema binder module (23) , between raw data of data sources and entities, properties of the knowledge graph.8.The system for achieving a virtual data lake according to claim 7, characterized in that, the corresponding query operation comprises a read operation; the distributed query engine module (223) is further to receive fusion data read from at least one data source and combined by the universal connectivity module (21) ; and return the fusion data to the user through the parse module (222) and the SQL endpoint module (221) or directly through the SQL endpoint module (221) .9.The system for achieving a virtual data lake according to claim 8, characterized in that, further comprising:a cache module (242) , to cache the fusion data and / or the query parse tree corresponding to each entity sent by the universal connectivity module (21) .10.The system for achieving a virtual data lake according to claim 7, characterized in that, further comprising: a data catalogue module (224) ;the parse module (222) is further to parse the SQL query request and obtaining a schema query request, send the schema query request to the data catalogue module (224) ;the data catalogue module (224) is to obtain schema information from a knowledge graph module (226) through a semantic API engine module (225) , and return the schema information to the user through the parse module (222) and the SQL endpoint module (221) or directly through the SQL endpoint module (221) , wherein the schema information comprising information of entities in the knowledge graph and information of properties contained in each entity.11.The system for achieving a virtual data lake according to claim 10, characterized in that, further comprising:a cache module (242) , to cache the schema information sent by the data catalogue module (224) or sent by the semantic API engine module (225) .12.The system for achieving a virtual data lake according to any one of claims 7 to 11, characterized in that, further comprising:an authentication and authorization module (241) , to authenticate an identity of the user and provide corresponding authorization to the user;the SQL endpoint module (221) receives the SQL query request from the user when the SQL query request is allowed by the authorization.13.A system for achieving a virtual data lake, characterized in that, comprising:at least one memory (31) , to store a computer program; andat least one processor (32) , to call the computer program stored in the at least one memory (31) to perform a method for achieving a virtual data lake according to any one of claims 1 to 6.14.A non-transitory computer-readable storage medium, on which a computer program is stored, characterized in that, the computer program is to be executed by a processor to implement a method for achieving a virtual data lake according to any one of claims 1 to 6.