Method, apparatus, device, and medium of heterogeneous data fusion for multiple tenants
The proposed method and apparatus for heterogeneous data fusion address the challenge of integrating data across multiple tenants by using knowledge graphs and standardized semantic data, resulting in improved efficiency and convenience for data fusion.
Patent Information
- Application Number
- PCT/CN2023/121698
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-26
- Publication Date
- 2025-04-03
AI Technical Summary
Current data processing technologies face challenges in achieving synergy between different value chains and lack effective solutions for heterogeneous data fusion across multiple tenants.
A method and apparatus for heterogeneous data fusion that involves receiving a data access request, obtaining a knowledge graph associated with the tenant ID from a knowledge graph cluster, obtaining heterogeneous data, mapping the data to the knowledge graph, and providing the instance of the knowledge graph, thereby enabling efficient data fusion across multiple tenants.
This solution enhances data fusion efficiency and convenience by utilizing knowledge graphs and standardized semantic data, allowing for diversified knowledge graph management and tenant isolation structures.
Smart Images

Figure CN2023121698_03042025_PF_FP_ABST
Abstract
Description
Method, apparatus, device, and medium of heterogeneous data fusion for multiple tenantsFIELD
[0001] The present invention relates to the technical field of data processing technology, in particular to a method, apparatus, device, and medium of heterogeneous data fusion for multiple tenants.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 the data warehouse through Extract-Transform-Load (ETL) and build a business intelligent system to visualize and analysis data.
[0003] At present, there is a lack of research on heterogeneous data fusion solutions for multiple tenants.SUMMARY
[0004] Embodiments of the present invention propose a method, apparatus, device, and medium of heterogeneous data fusion for multiple tenants.
[0005] In a first aspect, a method of heterogeneous data fusion for multiple tenants is provided. The method comprising:
[0006] receiving a data access request comprising a tenant ID;
[0007] obtaining a knowledge graph associated with the tenant ID from a knowledge graph cluster of multiple tenants, in response to the data access request, wherein the knowledge graph is represented by standardized semantic data;
[0008] obtaining heterogeneous data from a data source connected to a connector associated with the tenant ID;
[0009] mapping the heterogeneous data to the knowledge graph to form an instance of the knowledge graph based on a pre-established mapping relationship between the heterogeneous data and the standardized semantic data; and
[0010] providing the instance of the knowledge graph.
[0011] Therefore, efficient heterogeneous data fusion for multiple tenants is provided based on knowledge graph cluster of multiple tenants and mapping relationship thus improves efficiency and convenience.
[0012] Preferably, wherein the data access request comprises a user ID, and the obtaining a knowledge graph associated with the tenant ID comprises:
[0013] determining a user group to which the user ID belongs, wherein the user group is associated with the tenant ID;
[0014] determining a knowledge graph corresponding to the user group in a knowledge graph set associated with the tenant ID, as the knowledge graph associated with the tenant ID.
[0015] Therefore, diversified knowledge graph management has been achieved through user grouping.
[0016] Preferably, wherein the data access request comprises a user ID, and the obtaining a knowledge graph associated with the tenant ID comprises:
[0017] determining a role of the user ID which is associated with the tenant ID;
[0018] determining a knowledge graph corresponding to the role in a knowledge graph set associated with the tenant ID, as the knowledge graph associated with the tenant ID.
[0019] Therefore, diversified knowledge graph management has been achieved through different user roles.
[0020] Preferably, wherein the multiple tenants comprise a physical isolation tenant and a logical isolation tenant, and the knowledge graph clusters of multiple tenants are stored in a physical isolation database and a logical isolation database; wherein the physical isolation database stores knowledge graph set of the physical isolation tenant, and the logical isolation database stores knowledge graph set of the logical isolation tenant.
[0021] Therefore, a diversified tenant isolation structure has been achieved.
[0022] Preferably, wherein obtaining a knowledge graph associated with the tenant ID comprises:
[0023] obtaining the knowledge graph from the physical isolation database when authentication result of the data access request indicates that the tenant ID belongs to the physical isolation tenant;
[0024] obtaining the knowledge graph from the logical isolation database when authentication result of the data access request indicates that the tenant ID belongs to the logical isolation tenant.
[0025] Therefore, diversified knowledge graph acquisition methods have been achieved.
[0026] Preferably, wherein mapping the heterogeneous data to the knowledge graph comprises:
[0027] performing normalization processing on the heterogeneous data;
[0028] analyzing attribute fields in a normalized data;
[0029] mapping the attribute fields to entity nodes and / or attribute nodes in the knowledge graph based on the mapping relationship.
[0030] Therefore, through mapping between actual data and nodes in the knowledge graph, it is convenient to provide instantiation data for the knowledge graph.
[0031] Preferably, wherein obtaining a knowledge graph associated with the tenant ID comprises:
[0032] obtaining the knowledge graph from the knowledge graph cluster based on a semantic API engine when the data access request is represented in natural language;
[0033] obtaining the knowledge graph from the knowledge graph cluster based on a virtual data lake API engine when the data access request is represented in the form of query statements.
[0034] Therefore, diversified knowledge graph acquisition methods have been achieved.
[0035] In a second aspect, an apparatus of heterogeneous data fusion for multiple tenants is provided. The apparatus comprising:
[0036] a receiving module, configured to receive a data access request comprising a tenant ID;
[0037] a first obtaining module, configured to obtain a knowledge graph associated with the tenant ID from a knowledge graph cluster of multiple tenants, in response to the data access request, wherein the knowledge graph is represented by standardized semantic data;
[0038] a second obtaining module, configured to obtain heterogeneous data from a data source connected to a connector associated with the tenant ID;
[0039] a mapping module, configured to map the heterogeneous data to the knowledge graph to form an instance of the knowledge graph based on a pre-established mapping relationship between the heterogeneous data and the standardized semantic data; and
[0040] a providing module, configured to provide the instance of the knowledge graph.
[0041] Therefore, efficient heterogeneous data fusion for multiple tenants is provided based on knowledge graph cluster of multiple tenants and mapping relationship thus improves efficiency and convenience.
[0042] Preferably, wherein the data access request comprises a user ID; the first obtaining module, configured to: determine a user group to which the user ID belongs, wherein the user group is associated with the tenant ID; determine a knowledge graph corresponding to the user group in a knowledge graph set associated with the tenant ID, as the knowledge graph associated with the tenant ID.
[0043] Therefore, diversified knowledge graph management has been achieved through user grouping.
[0044] Preferably, wherein the data access request comprises a user ID; the first obtaining module, configured to determine a role of the user ID which is associated with the tenant ID, and to determine a knowledge graph corresponding to the role in a knowledge graph set associated with the tenant ID, as the knowledge graph associated with the tenant ID.
[0045] Therefore, diversified knowledge graph management has been achieved through different user roles.
[0046] Preferably, wherein the multiple tenants comprise a physical isolation tenant and a logical isolation tenant, and the knowledge graph clusters of multiple tenants are stored in a physical isolation database and a logical isolation database; wherein the physical isolation database stores knowledge graph set of the physical isolation tenant, and the logical isolation database stores knowledge graph set of the logical isolation tenant.
[0047] Therefore, a diversified tenant isolation structure has been achieved.
[0048] Preferably, wherein the first obtaining module, configured to obtain the knowledge graph from the physical isolation database when authentication result of the data access request indicates that the tenant ID belongs to the physical isolation tenant, and to obtain the knowledge graph from the logical isolation database when authentication result of the data access request indicates that the tenant ID belongs to the logical isolation tenant.
[0049] Therefore, diversified knowledge graph acquisition methods have been achieved.
[0050] Preferably, wherein the mapping module, configured to perform normalization processing on the heterogeneous data, analyze attribute fields in a normalized data, and to map the attribute fields to entity nodes and / or attribute nodes in the knowledge graph based on the mapping relationship.
[0051] Therefore, through mapping between actual data and nodes in the knowledge graph, it is convenient to provide instantiation data for the knowledge graph.
[0052] Preferably, wherein the first obtaining module, configured to obtain the knowledge graph from the knowledge graph cluster based on a semantic API engine when the data access request is represented in natural language, and to obtain the knowledge graph from the knowledge graph cluster based on a virtual data lake API engine when the data access request is represented in the form of query statements.
[0053] Therefore, diversified knowledge graph acquisition methods have been achieved.
[0054] In a third aspect, an electronic device is provided. The electronic device comprising a processor and a memory, wherein an application program executable by the processor is stored in the memory for causing the processor to execute a method of heterogeneous data fusion for multiple tenants as described in any of the above.
[0055] In a fourth aspect, a computer-readable medium comprising computer-readable instructions stored thereon is provided, wherein the computer-readable instructions, when executed by a processor, implement a method of heterogeneous data fusion for multiple tenants as described in any of the above.
[0056] In a fifth aspect, a computer program product comprising a computer program, when the computer program is executed by a processor for executing a method of heterogeneous data fusion for multiple tenants as described in any of the above.BRIEF DESCRIPTION OF THE DRAWINGS
[0057] In order to make technical solutions of examples of the present disclosure clearer, accompanying drawings to be used in description of the examples will be simply introduced hereinafter. Obviously, the accompanying drawings to be described hereinafter are only some examples of the present disclosure. Those skilled in the art may obtain other drawings according to these accompanying drawings without creative labor.
[0058] FIG. 1 is a flowchart of heterogeneous data fusion method for multiple tenants according to an embodiment of the present invention.
[0059] FIG. 2 is an exemplary schematic diagram of heterogeneous data fusion process for multiple tenants according to an embodiment of the present invention.
[0060] FIG. 3 is a schematic diagram of association between tenant and knowledge graph according to an embodiment of the present invention.
[0061] FIG. 4 is an exemplary flowchart for creating a tenant according an embodiment of the present invention.
[0062] FIG. 5 is a structural diagram of apparatus of heterogeneous data fusion for multiple tenants according an embodiment of the present invention.
[0063] FIG. 6 is an exemplary structural diagram of an electronic device according to an embodiment of the present invention.
[0064] List of reference numbers: DETAILED DESCRIPTION
[0065] In order to make the purpose, technical scheme, and advantages of the invention clearer, the following examples are given to further explain the invention in detail.
[0066] In order to be concise and intuitive in description, the scheme of the invention is described below by describing several representative embodiments. Many details in the embodiments are only used to help understand the scheme of the invention. However, it is obvious that the technical scheme of the invention can be realized without being limited to these details. In order to avoid unnecessarily blurring the scheme of the invention, some embodiments are not described in detail, but only the framework is given. Hereinafter, "including" refers to "including but not limited to" , "according to... " refers to "at least according to..., but not limited to... " . When the number of an element is not specifically indicated below, it means that the element can be one or more, or can be understood as at least one.
[0067] After research, it was found that there are many unsolved issues based on the current practices:
[0068] (1) The data model can only be customized according to the requirement of the customer, and the corresponding data is obtained from the data source through the regular data extraction and stored in the data warehouse. Once user requirements change, both the data model and its extraction logic need to be customized
[0069] (2) The data connection of the new system and data extraction needs to be realized through customized development
[0070] (3) Data distributed in heterogeneous systems are business related to each other. The business relationship between these data cannot be established and managed by data model defined in data warehouse
[0071] (4) 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.
[0072] Data Layer is an innovative architectural solution that can solve issues listed above. It is a lightweight semantic abstraction framework which provides data fusion to heterogenous 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.
[0073] FIG. 1 is a flowchart of heterogeneous data fusion method for multiple tenants according to an embodiment of the present invention. As shown in FIG. 1, the method comprises:
[0074] Step101: receiving a data access request comprising a tenant ID.
[0075] Here, data access requests can be received through user interface. The data access request contains tenant's ID. Preferably, the ID is a unique identifier of the tenant. For example, tenants can be enterprises in industrial parks. When a tenant expects to obtain knowledge graph instances related to their industry, the tenant issues a data access request containing own ID through the user interface.
[0076] Step102: obtaining a knowledge graph associated with the tenant ID from a knowledge graph cluster of multiple tenants, in response to the data access request, wherein the knowledge graph is represented by standardized semantic data.
[0077] Here, the knowledge graph cluster stores knowledge graphs of multiple tenants. Among them, the number of knowledge graphs of each tenant can be one or more. Each tenant can generate their own knowledge graph and upload and save it in the knowledge graph cluster. Respective knowledge graphs stored in knowledge graph cluster are represented by respective standardized semantic data.
[0078] For example, industrial park has Tenant 1, Tenant 2, and Tenant 3. Among them, tenant 1 belongs to a robotics company, tenant 2 is an artificial intelligence company, and tenant 3 is a communication company. Tenant 1 pre generates a knowledge graph 1 of the robotics industry, which is represented by standardized semantic data of the robotics industry; Tenant 2 pre generates a knowledge graph 2 of the artificial intelligence industry, which is represented by standardized semantic data of the artificial intelligence industry; Tenant 3 pre generates a knowledge graph of the communication industry, which is represented by standardized semantic data of the communication industry. Tenant 1, Tenant 2, and Tenant 3 respectively send their generated knowledge graphs 1, 2, and 3 to the knowledge graph cluster. Respective knowledge graphs in the knowledge graph cluster are associated and stored with respective IDs of tenants who uploaded the knowledge graphs. For example, associating knowledge graph 1 with the ID of tenant 1 for storage can facilitate subsequent retrieval of knowledge graph 1 based on tenant 1's ID.
[0079] Step 103: obtaining heterogeneous data from a data source connected to a connector associated with the tenant ID.
[0080] After obtaining the knowledge graph of the tenant ID in step 102, although the knowledge graph is represented by industry standardized semantic data, it does not contain actual data. Therefore, it is necessary to obtain actual data from tenants to fill in the knowledge graph to form an instance of the knowledge graph. Here, heterogeneous data is obtained from one or more data sources through connector associated with the tenant ID. For example, when data sources include IT and OT data sources, the data obtained through the connector is multi-source heterogeneous data. Multi source heterogeneous data refers to data from different sources and types, which may have different structures, formats, semantics, and purposes. Multi source heterogeneous data can include text, images, audio, video, sensor data, and so on, from different applications, systems, devices, or organizations, and so on. Preferably, heterogeneous data is implemented as real-time data.
[0081] Step 104: mapping the heterogeneous data to the knowledge graph to form an instance of the knowledge graph based on a pre-established mapping relationship between the heterogeneous data and the standardized semantic data.
[0082] In one embodiment, wherein mapping the heterogeneous data to the knowledge graph comprises: performing normalization processing on the heterogeneous data; analyzing attribute fields in a normalized data; mapping the attribute fields to entity nodes and / or attribute nodes in the knowledge graph based on the mapping relationship.
[0083] Here, the mapping relationship between heterogeneous data and standardized semantic data can be pre-established by the tenant. For example, assuming that an entity node named through standardized semantic data in the knowledge graph is a transistor temperature sensor. In the mapping relationship established by the tenant in advance, the attribute fields associated with the "transistor temperature sensor" are: LM35, LM34, LM335. Therefore, the actual data in attribute fields LM35, LM34, and LM335 are mapped to the entity node "transistor temperature sensor" in the knowledge graph. Mapping a knowledge graph with actual data can form instances of the knowledge graph.
[0084] In one embodiment, wherein the data access request comprises a user ID, and the obtaining a knowledge graph associated with the tenant ID comprises: determining a user group to which the user ID belongs, wherein the user group is associated with the tenant ID; determining a knowledge graph corresponding to the user group in a knowledge graph set associated with the tenant ID, as the knowledge graph associated with the tenant ID.
[0085] Here, the knowledge graph set of tenant ID contains multiple knowledge graphs, each of which corresponds to a specific group of users of the tenant ID. Pre save the correspondence between the user ID and the user group it belongs to. For example, the tenant is an AI company, which includes development team, human resources team, and finance team. The knowledge graph set of the AI company saved in the knowledge graph cluster includes knowledge graph of development team, knowledge graph of human resources team, and knowledge graph of finance team. After receiving a data access request from user A in the human resources group, first locate the knowledge graph set of the AI company based on the tenant ID. Then, based on the user ID of user A and the corresponding relationship, it is determined that the group to which user A belongs is the human resources group. Therefore, it is determined to provide knowledge graph of the AI company's human resources group.
[0086] In one embodiment, the data access request comprises a user ID, and the obtaining a knowledge graph associated with the tenant ID comprises: determining a role of the user ID which is associated with the tenant ID; determining a knowledge graph corresponding to the role in a knowledge graph set associated with the tenant ID, as the knowledge graph associated with the tenant ID.
[0087] Here, the knowledge graph set of tenant ID contains multiple knowledge graphs, each corresponding to specific role of the tenant. Pre save the correspondence between the user ID and the role it belongs to. For example, the tenant is an Internet company, with roles including research and development director, project manager, and programmer. The knowledge graph set of the Internet company saved in the knowledge graph cluster includes knowledge graph of the research and development director, project manager, and programmer. After receiving a data access request from user B with the role of programmer, the first step is to locate the knowledge graph set of the Internet company based on the tenant ID. Then, based on the user ID of user B and the corresponding relationship, the role of user B is determined as a programmer, thus determining to provide a knowledge graph of programmers of the internet company.
[0088] In one embodiment, the multiple tenants comprise a physical isolation tenant and a logical isolation tenant, and the knowledge graph clusters of multiple tenants are stored in a physical isolation database and a logical isolation database; wherein the physical isolation database stores knowledge graph set of the physical isolation tenant, and the logical isolation database stores knowledge graph set of the logical isolation tenant. Therefore, multiple isolation methods between tenants have been achieved through physical isolation and logical isolation.
[0089] In one embodiment, wherein obtaining a knowledge graph associated with the tenant ID comprises: obtaining the knowledge graph from the physical isolation database when authentication result of the data access request indicates that the tenant ID belongs to the physical isolation tenant; obtaining the knowledge graph from the logical isolation database when authentication result of the data access request indicates that the tenant ID belongs to the logical isolation tenant. Therefore, different types of knowledge graph acquisition methods can also be implemented for different types of tenants.
[0090] In one embodiment, obtaining a knowledge graph associated with the tenant ID comprises: obtaining the knowledge graph from the knowledge graph cluster based on a semantic API engine when the data access request is represented in natural language; obtaining the knowledge graph from the knowledge graph cluster based on a virtual data lake API engine when the data access request is represented in the form of query statements. Therefore, the knowledge graph of tenant ID can be obtained through corresponding API engines in response to different types of data access requests.
[0091] Step 105: providing the instance of the knowledge graph.
[0092] For example, knowledge graph instances can be returned through the user interface. Preferably, further return the data source name of heterogeneous data.
[0093] Data Layer is an innovative architectural solution that can solve all issues listed above. It is a lightweight semantic abstraction framework which provides data fusion to heterogenous 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. The core components of Data Layer are divided into:
[0094] Universal Connectivity: provides 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. Components of this group 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.
[0095] Schema Binder: builds mapping connection between customer’s multi-source heterogeneous data and standardized semantic data through low code paradigm.
[0096] Data Modeling: Establish standard models of various industries according to international industry standards and use this model as the basis to customize Knowledge Graph for customers. And provide semantic and virtual data lake access interface for application development.
[0097] All components above are following Knowledge Graph based data fusion conception model as low code definition paradigm. Embodiments of present invention proposes a multi-tenant architecture method in Data Layer to build IT / OT heterogeneous system data fusion system. Each tenant maintains its own virtual data assets by managing Knowledge Graph instances and connectors. Application for this tenant can consume its own data through semantic data interface. These data assets, knowledge graphs, connectors and data sources only belong to specific tenants, and different tenants cannot access the resources of other tenants. The main architecture is as below FIG. 2.
[0098] FIG. 2 is an exemplary schematic diagram of heterogeneous data fusion process for multiple tenants according to an embodiment of the present invention.
[0099] In Tenant Management 27, tenants can be managed. For example, creating new tenants, deleting tenants, changing tenant permissions, and so on. Tenant Management 27 can also edit the grouping and roles of tenants. In operation monitoring 22, it includes user authorization processing 221, authentication processing 222, and billing processing 223 for tenants. Any tenant of multi tenants 25 can send data access request containing own tenant ID through API gateway 26. When data access request is represented in natural language, semantic API engine 261 requests knowledge graph management 263 to obtain knowledge graph of tenant ID. When data access request is represented through query statements, the virtual data lake API engine 262 requests knowledge graph management 263 to obtain a knowledge graph of tenant ID.
[0100] The database cluster 266 contains knowledge graphs of each tenant. For example, the graph database cluster 266 includes: database 40, which is used to store knowledge graph 30 of physical isolation tenant 1; database 41 is used to store knowledge graph 31 of physical isolation tenant m. The graph database cluster 266 also includes a logical isolation graph database 42. In each logical partition of logical isolation graph database 42, knowledge graph 32 of logical isolation tenant (m+1) and knowledge graph 33 of logical isolation tenant n are stored separately. Knowledge graph management 263 obtains a knowledge graph of the tenant ID in the graph database cluster 266, based on whether the tenant ID in the data access request is physical isolation or logical isolation. The data source layer 20 contains data sources for each tenant. For example, tenant 1's data source 201, tenant 2's data source 202... tenant m's data source 203... tenant n's data source 204. The universal connection layer 21 includes connector 211 for tenant 1, connector 212 for tenant 2, connector 213 for tenant 2, and connector 214 for tenant n. Each connector can contain one or more connection instances. For example, as shown in the figure2, comprising connect instances 50 to 54. Connectors corresponding to respective tenant IDs are adapted to obtain real-time data from data sources corresponding to respective tenant IDs. In schema binder 23, it includes mapping relationship 231 and format conversion 232. The mapping relationship 231 stores relationships between heterogeneous data of respective tenants and standardized semantic data in respective tenants' knowledge graphs. Before mapping heterogeneous data to a knowledge graph based on mapping relationship 231, in format conversion 232, the format of the data (usually heterogeneous data) obtained from data source is converted to the format in the knowledge graph, such as converting integers in the data to strings. After mapping the heterogeneous data of the tenant ID to the knowledge graph of the tenant ID, an instance of the knowledge graph of the tenant ID is formed. Below is an explanation of the key parts in Figure 2.
[0101] API Gateway: When it receives a request from a tenant user, the API Gateway identifies and validates the authorization of the tenant user to access the APIs and searches within a tenant map defined in Tenant Management that specifies which tenant the request link to by Authentication and Authorization. API Gateway is a reverse proxy and can route the request to Semantic API Engine or Virtual Data Lake API Engine with tenant ID by different protocols.
[0102] Tenant Management 27: Tenant Management includes operations relating to creating, modifying, and reporting on a tenant. It provides tenant information for other components by API. Such as When a user logs in to the system by entering token or password, API Gateway could get tenant ID from Tenant Management and then route the request accordingly.
[0103] Authentication 221 and Authorization 222: Authentication verifies the identity of a user of a tenant, and authorization determines their access rights and determine the tenant they belong to. Users log in to the system using their organizational credentials. All users from the same organization belong to the same tenant. Authorization ensures the security of different data asset management by granting different permissions to users from tenants, organizations and specific roles. Authorization restricts users to the data that belongs to their tenant. There are two types of authorization. Authorize by groups: Each organization may have multiple residents, which can be classified as users, and all are authenticated before entering the system. A tenant contains some apartments which are a hierarchical structure. A domain data asset, i.e., a Knowledge Graph instance, can be allocated to one or many groups and all the members of group could access the Knowledge Graph. At the same time, entities can also be authorized to groups and its users. Authorize by roles: Each user can be assigned to several roles. Role can be authorized to access Knowledge Graph instance or entities.
[0104] Knowledge Graph Management 263: Knowledge Graph Management 263: creates and manages Knowledge Graph instances for every tenant. A tenant can create multiple Knowledge Graph instances which stands for multiple business domain models. When receives a data consuming request with tenant ID, it will forward request to correspondence Knowledge Graph instance by tenant ID. Then, the request will be split into multiple entity requests and each of entity request will be handled by Universal Connectivity which contains multiples connector instances for each of data source. Based on the mapping model defined in Schema Binder, entity request will be split again into queries for each data source. There are two types of tenants in this solution: (1) Physically isolated tenant: has an independent knowledge graph and graph database. Tenants use physical isolation to distinguish each other's knowledge graphs and corresponding connectors; (2) Logically isolated tenant: Tenants share a knowledge graph and graph database. Logically isolation between tenants implemented through partition. Knowledge Graph Management is responsible for maintaining the mapping relationship between tenants and industrial knowledge graphs. For tenants that support physical isolation, the data request will be forwarded to the corresponding industrial knowledge graph service. In addition, for logically isolated tenants, it will get partition ID by tenant ID and sent to the logically isolated knowledge graph service which is responsible for fusing data according to the entities and edges in knowledge graph within correspondence partition.
[0105] Changes in Universal Connection Layer 21: For each of tenant, Universal Connection Layer 21 will host a connection pool in which raw data source connectors for this tenant will be created and managed. By means of Schema Binder, a knowledge graph instance provides virtual data integration capability for a specified business domain through these connector instances for a tenant.
[0106] Main main differences between embodiments of the invention and the known solution at least comprises:
[0107] (1) 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.
[0108] (2) 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.
[0109] (3) 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.
[0110] (4) 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.
[0111] (5) 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.
[0112] (6) 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.
[0113] FIG. 3 is a schematic diagram of association between tenant and knowledge graph according to an embodiment of the present invention. In Figure 3, the tenant has a group set of 70. Group set 70 includes group 71 and group 72, with group 71 also including subgroup 711. Subgroup 711 contains user a and user b, while group 72 contains user c and subgroup 721. Subgroup 721 contains user d. Each group can have its own knowledge graph. In fact, each group or user can also have their own knowledge graph set up. Tenants have a knowledge graph set of 80. The knowledge graph set 80 includes knowledge graph 81 and knowledge graph 82. Among them, knowledge graph 81 includes nodes 811 and 812, and knowledge graph 82 includes nodes 821 and 822. It can be seen that subgroup 711 corresponds to knowledge graph 81; User d is associated with knowledge graph 82. Tenant has role set 90. The character set 90 includes characters 91, 92, and 93. Among them, each character can have their own knowledge graph or specific nodes in the knowledge graph.
[0114] FIG. 4 is an exemplary flowchart for creating a tenant according an embodiment of the present invention. As shown in Figure 4, the process includes:
[0115] Step 400: Create a tenant.
[0116] Step 401: Determine whether the tenant is a physical isolation tenant. If so (corresponding to the "Y " branch) , execute step 402 and its subsequent steps; otherwise (corresponding to the "N " branch) , execute step 407 and its subsequent steps.
[0117] Step 402: Create a database for the physical isolation tenant.
[0118] Step 403: Store knowledge graph of the physical isolation tenant in its database.
[0119] Step 404: Create a user group for the tenant.
[0120] Step 405: Create a user role for the tenant.
[0121] Step 406: Determine respective access permissions of groups and roles in the knowledge graph. That is, determine specific part of the knowledge graph that the tenant can access, and perform step 409.
[0122] Step 407: Determine that the tenant is a logical isolation tenant.
[0123] Step 408: Create a logical isolation partition in logical isolation graph database for storing knowledge graph of the logical isolation tenant, store the knowledge graph of the logical isolation tenant in the logical isolation partition, and execute step 404.
[0124] Step 409: End this process.
[0125] FIG. 5 is a structural diagram of apparatus of heterogeneous data fusion for multiple tenants according an embodiment of the present invention. As shown in Figure 5, apparatus of heterogeneous data fusion for multiple tenants 500 comprising: a receiving module 501, configured to receive a data access request comprising a tenant ID; a first obtaining module 502, configured to obtain a knowledge graph associated with the tenant ID from a knowledge graph cluster of multiple tenants, in response to the data access request, wherein the knowledge graph is represented by standardized semantic data; a second obtaining module 503, configured to obtain heterogeneous data from a data source connected to a connector associated with the tenant ID; a mapping module 504, configured to map the heterogeneous data to the knowledge graph to form an instance of the knowledge graph based on a pre-established mapping relationship between the heterogeneous data and the standardized semantic data; and a providing module 505, configured to provide the instance of the knowledge graph.
[0126] In one embodiment, the data access request comprises a user ID; the first obtaining module 502, configured to: determine a user group to which the user ID belongs, wherein the user group is associated with the tenant ID; determine a knowledge graph corresponding to the user group in a knowledge graph set associated with the tenant ID, as the knowledge graph associated with the tenant ID.
[0127] In one embodiment, the data access request comprises a user ID; the first obtaining module 502, configured to determine a role of the user ID which is associated with the tenant ID, and to determine a knowledge graph corresponding to the role in a knowledge graph set associated with the tenant ID, as the knowledge graph associated with the tenant ID.
[0128] In one embodiment, the multiple tenants comprise a physical isolation tenant and a logical isolation tenant, and the knowledge graph clusters of multiple tenants are stored in a physical isolation database and a logical isolation database; wherein the physical isolation database stores knowledge graph set of the physical isolation tenant, and the logical isolation database stores knowledge graph set of the logical isolation tenant.
[0129] In one embodiment, the first obtaining module 502, configured to obtain the knowledge graph from the physical isolation database when authentication result of the data access request indicates that the tenant ID belongs to the physical isolation tenant, and to obtain the knowledge graph from the logical isolation database when authentication result of the data access request indicates that the tenant ID belongs to the logical isolation tenant.
[0130] In one embodiment, the mapping module 504, configured to perform normalization processing on the heterogeneous data, analyze attribute fields in a normalized data, and to map the attribute fields to entity nodes and / or attribute nodes in the knowledge graph based on the mapping relationship.
[0131] In one embodiment, the first obtaining module 502, configured to obtain the knowledge graph from the knowledge graph cluster based on a semantic API engine when the data access request is represented in natural language, and to obtain the knowledge graph from the knowledge graph cluster based on a virtual data lake API engine when the data access request is represented in the form of query statements.
[0132] The embodiment of the present invention also proposes an electronic device with a processor memory architecture. Figure 6 is an exemplary structural diagram of an electronic device with a processor memory architecture according to an embodiment of the present invention. As shown in Figure 6, electronic device 900 includes a processor 601, a memory 602, and a computer program stored on memory 602 that can run on processor 601. When the computer program is executed by processor 601, the method of heterogeneous data fusion for multiple tenants as described in either of the above methods is implemented. Among them, memory 602 can be implemented as various storage media such as electrically erasable programmable read-only memory (EEPROM) , flash memory, programmable program read-only memory (PROM) , etc. Processor 601 can be implemented to include one or more central processors or one or more field programmable gate arrays, wherein the field programmable gate array integrates one or more central processor cores. Specifically, the central processing unit or core can be implemented as a CPU, MCU, DSP, and so on.
[0133] It should be noted that not all steps and modules in the above processes and structural diagrams are necessary, and some steps or modules can be ignored according to actual needs. The execution sequence of each step is not fixed and can be adjusted as needed. The division of each module is only for the convenience of describing the functional division used. In actual implementation, a module can be divided into multiple modules, and the functions of multiple modules can also be implemented by the same module. These modules can be in the same device or different devices. The hardware modules in each implementation can be implemented mechanically or electronically. For example, a hardware module can include specially designed permanent circuits or logic devices (such as dedicated processors, such as FPGA or ASIC) to complete specific operations. Hardware modules can also include programmable logic devices or circuits temporarily configured by software (such as general-purpose processors or other programmable processors) for performing specific operations. As for the specific use of mechanical methods, either dedicated permanent circuits or temporarily configured circuits (such as software configuration) to implement hardware modules, it can be determined based on cost and time considerations.
[0134] The above is only a preferred embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of this invention shall be included within the scope of protection of this invention.
Claims
1.A method of heterogeneous data fusion for multiple tenants, comprising:receiving (101) a data access request comprising a tenant ID;obtaining (102) a knowledge graph associated with the tenant ID from a knowledge graph cluster of multiple tenants, in response to the data access request, wherein the knowledge graph is represented by standardized semantic data;obtaining (103) heterogeneous data from a data source connected to a connector associated with the tenant ID;mapping (104) the heterogeneous data to the knowledge graph to form an instance of the knowledge graph based on a pre-established mapping relationship between the heterogeneous data and the standardized semantic data; andproviding (105) the instance of the knowledge graph.2.The method of claim 1, wherein the data access request comprises a user ID, and the obtaining (102) a knowledge graph associated with the tenant ID comprises:determining a user group to which the user ID belongs, wherein the user group is associated with the tenant ID;determining a knowledge graph corresponding to the user group in a knowledge graph set associated with the tenant ID, as the knowledge graph associated with the tenant ID.3.The method of claim 1, wherein the data access request comprises a user ID, and the obtaining (102) a knowledge graph associated with the tenant ID comprises:determining a role of the user ID which is associated with the tenant ID;determining a knowledge graph corresponding to the role in a knowledge graph set associated with the tenant ID, as the knowledge graph associated with the tenant ID.4.The method of claim 1, wherein the multiple tenants comprise a physical isolation tenant and a logical isolation tenant, and the knowledge graph clusters of multiple tenants are stored in a physical isolation database and a logical isolation database;wherein the physical isolation database stores knowledge graph set of the physical isolation tenant, and the logical isolation database stores knowledge graph set of the logical isolation tenant.5.The method of claim 4, wherein obtaining (102) a knowledge graph associated with the tenant ID comprises:obtaining the knowledge graph from the physical isolation database when authentication result of the data access request indicates that the tenant ID belongs to the physical isolation tenant;obtaining the knowledge graph from the logical isolation database when authentication result of the data access request indicates that the tenant ID belongs to the logical isolation tenant.6.The method of any one of claims 1-5, wherein mapping (104) the heterogeneous data to the knowledge graph comprises:performing normalization processing on the heterogeneous data;analyzing attribute fields in a normalized data;mapping the attribute fields to entity nodes and / or attribute nodes in the knowledge graph based on the mapping relationship.7.The method of any one of claims 1-5, wherein obtaining (102) a knowledge graph associated with the tenant ID comprises:obtaining the knowledge graph from the knowledge graph cluster based on a semantic API engine when the data access request is represented in natural language;obtaining the knowledge graph from the knowledge graph cluster based on a virtual data lake API engine when the data access request is represented in the form of query statements.8.An apparatus of heterogeneous data fusion for multiple tenants, comprising:a receiving module (501) , configured to receive a data access request comprising a tenant ID;a first obtaining module (502) , configured to obtain a knowledge graph associated with the tenant ID from a knowledge graph cluster of multiple tenants, in response to the data access request, wherein the knowledge graph is represented by standardized semantic data;a second obtaining module (503) , configured to obtain heterogeneous data from a data source connected to a connector associated with the tenant ID;a mapping module (504) , configured to map the heterogeneous data to the knowledge graph to form an instance of the knowledge graph based on a pre-established mapping relationship between the heterogeneous data and the standardized semantic data; anda providing module (505) , configured to provide the instance of the knowledge graph.9.The apparatus of claim 8, wherein the data access request comprises a user ID;the first obtaining module (502) , configured to: determine a user group to which the user ID belongs, wherein the user group is associated with the tenant ID; determine a knowledge graph corresponding to the user group in a knowledge graph set associated with the tenant ID, as the knowledge graph associated with the tenant ID.10.The apparatus of claim 8, wherein the data access request comprises a user ID;the first obtaining module (502) , configured to determine a role of the user ID which is associated with the tenant ID, and to determine a knowledge graph corresponding to the role in a knowledge graph set associated with the tenant ID, as the knowledge graph associated with the tenant ID.11.The apparatus of claim 8, wherein the multiple tenants comprise a physical isolation tenant and a logical isolation tenant, and the knowledge graph clusters of multiple tenants are stored in a physical isolation database and a logical isolation database; wherein the physical isolation database stores knowledge graph set of the physical isolation tenant, and the logical isolation database stores knowledge graph set of the logical isolation tenant.12.The apparatus of claim 11, wherein the first obtaining module (502) , configured to obtain the knowledge graph from the physical isolation database when authentication result of the data access request indicates that the tenant ID belongs to the physical isolation tenant, and to obtain the knowledge graph from the logical isolation database when authentication result of the data access request indicates that the tenant ID belongs to the logical isolation tenant.13.The apparatus of any one of claims 8-12, wherein the mapping module (504) , configured to perform normalization processing on the heterogeneous data, analyze attribute fields in a normalized data, and to map the attribute fields to entity nodes and / or attribute nodes in the knowledge graph based on the mapping relationship.14.The apparatus of any one of claims 8-12, wherein the first obtaining module (502) , configured to obtain the knowledge graph from the knowledge graph cluster based on a semantic API engine when the data access request is represented in natural language, and to obtain the knowledge graph from the knowledge graph cluster based on a virtual data lake API engine when the data access request is represented in the form of query statements.15.An electronic device, comprising a processor (601) and a memory (602) , wherein an application program executable by the processor (601) is stored in the memory (602) for causing the processor (601) to execute a method of heterogeneous data fusion for multiple tenants according to any one of claims 1-7.16.A computer-readable medium comprising computer-readable instructions stored thereon, wherein the computer-readable instructions for executing a method of heterogeneous data fusion for multiple tenants according to any one of claims 1-7.17.A computer program product comprising a computer program, upon the computer program is executed by a processor for executing a method of heterogeneous data fusion for multiple tenants according to any one of claims 1-7.
Citation Information
Patent Citations
Generating scalability scores for tenants using performance metrics
US20230089783A1