CN116383238B - 基于图结构的数据虚拟化系统、方法、装置、设备及介质 - Google Patents

基于图结构的数据虚拟化系统、方法、装置、设备及介质 Download PDF

Info

Publication number
CN116383238B
CN116383238B CN202310660119.0A CN202310660119A CN116383238B CN 116383238 B CN116383238 B CN 116383238B CN 202310660119 A CN202310660119 A CN 202310660119A CN 116383238 B CN116383238 B CN 116383238B
Authority
CN
China
Prior art keywords
sql
data
sqlqueue
query
queue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310660119.0A
Other languages
English (en)
Other versions
CN116383238A (zh
Inventor
陈晓红
曹文治
胡东滨
杨俊丰
彭晗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan Red Pu Innovation Technology Development Co ltd
Original Assignee
Hunan Red Pu Innovation Technology Development Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hunan Red Pu Innovation Technology Development Co ltd filed Critical Hunan Red Pu Innovation Technology Development Co ltd
Priority to CN202310660119.0A priority Critical patent/CN116383238B/zh
Publication of CN116383238A publication Critical patent/CN116383238A/zh
Application granted granted Critical
Publication of CN116383238B publication Critical patent/CN116383238B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/26Visual data mining; Browsing structured data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于图结构的数据虚拟化系统、方法、装置、设备及介质,包括:根据元数据配置参数配置元数据关系图,并根据元数据关系图初始化缓存数据表,接收用户端发送的虚拟视图查询请求,并解析请求参数,得到虚拟视图SQL,将虚拟视图SQL转化为SQL查询语句,根据请求参数,在缓存和数据节点上执行SQL查询语句,得到集合数据,将集合数据形成虚拟视图反馈给用户端。采用本发明实现虚拟表到物理表、物理表到虚拟表的元数据快捷查询和映射,提高了数据访问的效率。

Description

基于图结构的数据虚拟化系统、方法、装置、设备及介质
技术领域
本发明涉及数据处理领域,尤其涉及一种基于图结构的数据虚拟化系统、方法、装置、设备及介质。
背景技术
随着大数据和云计算技术的发展,各行各业的数据呈现爆发式增长,数据虚拟化在原有的系统或软件框架上新增数据虚拟层,将所有数据源抽象或者映射后,成为一个面向领域的统一数据访问层,屏蔽了传统数据库、分布式云、大数据等多元异构数据源的多样性和复杂性,使得用户能够像访问单一数据源的数据表一样访问所有数据,在不迁移数据,不复制数据,不通过ETL加工数据或者额外的存储需求就可以实时查看和分析,这样提供了数据处理的便捷性,可以为企业带来实时的具有洞察力的结果,更快速响应和做出相应的决策。
在现有实现方式中,申请号为201811534934.8(专利名称为一种数据虚拟化及查询方法、装置)公开了一种数据虚拟化及查询方法、装置,该数据虚拟化方法包括:从数据库中采集多种数据,根据数据及其属性构建数据字典;获取常用词库词典和行业术语词库中的词汇信息;根据词汇信息及数据字典中的数据及其映射关系构建数据语义层;申请号为201510117882.4(专利名称为用于端到端云服务数据库虚拟化及管理的架构和方法)公开了一种用于端到端云数据库虚拟化及管理的架构和方法。该架构包括构建于虚拟机之上的中央虚拟数据库虚拟化模块、多个云服务、多个分布式子虚拟数据库虚拟化模块以及多个多媒体虚拟数据库虚拟化,中央虚拟数据库虚拟化模块设置有服务器信息数据库和客户端信息数据库,服务器信息数据库用于存储多个云服务的服务器端信息,客户端信息数据库用于存储多个云服务的客户端基本信息,中央虚拟数据库虚拟化模块还用于记录客户端在云服务上的基本使用情况、管理虚拟机的物理资源分配、和分布式子虚拟数据库虚拟化模块协同工作以对多个云服务进行动态资源分配及性能优化、从虚拟存储池中为多个多媒体虚拟数据库虚拟化分配存储空间。
发明人在实现本发明的过程中发现:现已存在多种数据虚拟化方法用于统一访问各数据源的数据,通过采用缓存进行加速,而不全量负责数据。但这些方法基本数据映射关系复杂,且实现数据查询方式简单,无法实现组合、聚类函数等计算。
发明内容
本发明实施例提供一种基于图结构的数据虚拟化系统、方法、装置、计算机设备和存储介质,以提高数据查询访问效率。
为了解决上述技术问题,本申请实施例提供一种基于图结构的数据虚拟化系统,通过图结构实现数据虚拟化的元数据管理,所述基于图结构的数据虚拟化系统包括:元数据管理模块、虚拟视图SQL引擎、数据ETL模块、数据缓存模块和数据服务处理模块;其中,
所述元数据管理模块用于根据设置条件进行数据虚拟视图的元数据配置,并管理维护元数据关系;
所述虚拟视图SQL引擎用于对SQL语句进行解析,并根据元数据关系图构建各个数据源的子查询SQL,获其他数据读取参数;
所述数据ETL模块根据子查询SQL或者其他数据读取参数进行数据提取;
所述数据缓存模块用于对查询结果进行数据缓存;
所述数据服务处理模块用于接收数据查询、统计请求,并经过其他模块处理后将提取的数据组合成虚拟视图。
可选地,所述数据ETL模块还用于对数据查询结果的哈希获取与传输,所述数据缓存模块在每次查询后将数据查询结果更新至数据缓存,并在每次接收到查询指令时对缓存数据进行查询。
可选地,所述元数据管理模块采用图方式组织元数据关系,所述图方式采用G(V,E)表示,其中,顶点V包含数据源Vsource、表Vtable、字段Vfield、规则Vrule和用户组Vgroup,元数据关系图的边E包含映射Emap、所属Eaffiliation、集成Einte和读权限Eread
为了解决上述技术问题,本申请实施例还提供一种基于图结构的数据虚拟化方法,应用于分布式元数据管理,所述基于图结构的数据虚拟化方法包括:
根据元数据配置参数配置元数据关系图,并根据元数据关系图初始化缓存数据表;
接收用户端发送的虚拟视图查询请求,并解析请求参数,得到虚拟视图SQL;
将虚拟视图SQL转化为SQL查询语句;
根据请求参数,在缓存和数据节点上执行所述SQL查询语句,得到集合数据;
将所述集合数据形成虚拟视图反馈给所述用户端。
可选地,所述将虚拟视图SQL转化为SQL查询语句包括:
步骤H1:根据元数据关系图将查询SQL中的字段加上表域描述符,生成的SQL入队列SqlQueue;
步骤H2:读取SqlQueue队列首的SQL,若包含聚合函数,则将查询SQL中的组group和聚合函数进行拆解变换,并形成AGGREGATE执行动作入栈,并将变换后的SQL入队列SqlQueue,否则,则将原SQL重入队列SqlQueue,跳转至步骤H3,其中,拆解变换是将聚类函数查询拆解成完整数据查询和数据聚合两部分;
步骤H3:读取SqlQueue队列首的SQL,若包含联合查询join,则将SQL分解为若干SQL查询语句,并形成JOIN执行动作入栈,将分解后的若干SQL依次入队列SqlQueue;否则,将原SQL重入队列SqlQueue,跳转至步骤H4;
步骤H4:读取SqlQueue队列首的SQL,若包含内嵌查询SQL语句,则将SQL分解为若干SQL查询语句,将分解后的若干SQL依次入队列SqlQueue,否则,将原SQL重入队列SqlQueue,跳转至步骤H5;
步骤H5:读取SqlQueue队列首的SQL,并提取读取的SQL关联的虚拟视图表和字段,并根据得到的虚拟视图表和字段重组查询语句,形成SOURCESQL执行动作入栈;
步骤H6:检查SqlQueue队列是否为空,为空则结束,得到所述SQL查询语句,否则,跳转至步骤H2。
可选地,所述根据得到的虚拟视图表和字段重组查询语句,形成SOURCESQL执行动作入栈包括:
根据得到的虚拟视图表和字段重组查询语句形成(VTable,Field,Cond)的三元组列表;
基于元数据关系图,将(VTable,Field,Cond)三元组列表映射成物理表与字段(Source,Table,Field,Cond),根据映射关系形成DATAINTE执行动作入栈;
将(Source,Table,Field,Cond)四元组列表根据Source和Table进行分类,并根据分类重组查询语句,形成SOURCESQL执行动作入栈。
可选地,所述根据请求参数,在缓存和数据节点上执行所述SQL查询语句,得到集合数据包括:
根据请求参数初始化任务,确定栈和SQL上下文;
将所述SQL查询语句入SqlQueue队列,并依次在栈中执行动作,将得到的数据结果以<Out, Meta,数据结果>的格式存储到SQL上下文中,直到SqlQueue队列中的所有执行动作被执行完毕,将SQL上下文中的数据结果作为集合数据,其中,Out为执行动作的输出名,Meta为数据的元数据。
为了解决上述技术问题,本申请实施例还提供一种基于图结构的数据虚拟化装置,包括:
初始化配置模块,用于根据元数据配置参数配置元数据关系图,并根据元数据关系图初始化缓存数据表;
虚拟视图获取模块,用于接收用户端发送的虚拟视图查询请求,并解析请求参数,得到虚拟视图SQL;
查询语句转化模块,用于将虚拟视图SQL转化为SQL查询语句;
数据查询模块,用于根据请求参数,在缓存和数据节点上执行所述SQL查询语句,得到集合数据;
数据反馈模块,用于将所述集合数据形成虚拟视图反馈给所述用户端。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于图结构的数据虚拟化方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于图结构的数据虚拟化方法的步骤。
本发明实施例提供的基于图结构的数据虚拟化方法、装置、计算机设备及存储介质,根据元数据配置参数配置元数据关系图,并根据元数据关系图初始化缓存数据表,接收用户端发送的虚拟视图查询请求,并解析请求参数,得到虚拟视图SQL,将虚拟视图SQL转化为SQL查询语句,根据请求参数,在缓存和数据节点上执行SQL查询语句,得到集合数据,将集合数据形成虚拟视图反馈给用户端。本发明实施例实现虚拟表到物理表、物理表到虚拟表的元数据快捷查询和映射,提高了数据访问的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的基于图结构的数据虚拟化方法的结构示意图;
图2是本申请的基于图结构的数据虚拟化方法的一个实施例的流程图;
图3是根据本申请的基于图结构的数据虚拟化装置的一个实施例的结构示意图;
图4是根据本申请的计算机设备的一个实施例的结构示意图;
图5是根据本申请的一个元数据关系图的具体示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1示出本发明实施例提供的一种基于图结构的数据虚拟化系统,应用于分布式数据管理,基于图结构的数据虚拟化系统包括:元数据管理模块101、虚拟视图SQL引擎102、数据ETL模块103、数据缓存模块104和数据服务处理模块105;其中,
元数据管理模块101用于根据设置条件进行数据虚拟视图的元数据配置,并管理维护元数据关系;
虚拟视图SQL引擎102用于对SQL语句进行解析,并根据元数据关系图构建各个数据源的子查询SQL,获其他数据读取参数;
数据ETL模块103根据子查询SQL或者其他数据读取参数进行数据提取;
数据缓存模块104用于对查询结果进行数据缓存;
数据服务处理模块105用于接收数据查询、统计请求,并经过其他模块处理后将提取的数据组合成虚拟视图。
可选地,数据ETL模块103还用于对数据查询结果的哈希获取与传输,数据缓存模块在每次查询后将数据查询结果更新至数据缓存,并在每次接收到查询指令时对缓存数据进行查询。
可选地,元数据管理模块101采用图方式组织元数据关系,图方式采用G(V,E)表示,其中,顶点V包含数据源Vsource、表Vtable、字段Vfield、规则Vrule和用户组Vgroup,元数据关系图的边E包含映射Emap、所属Eaffiliation、集成Einte和读权限Eread
具体地,数据源Vsource表示待集成的数据库或者数据API,其属性包括:数据库或数据API名字、数据库或数据API地址、数据库或数据API类型、数据库或数据API地址用户名、数据库或数据API地址密码或Token等。表Vtable表示虚拟视图表或者数据源中的数据表,其属性包括数据表名等。字段Vfield表示虚拟视图表或者数据表所包含的数据字段,其属性包括数据字段名等。字段Vrule表示多个数据表合并成虚拟视图表的规则。用户组Vgroup表示虚拟视图访问用户组,其属性包括用户组名等。本发明所列属性为实现数据虚拟化需要的必要属性,在具体实现中,可根据需求扩展属性。映射Emap链接两个字段Vfield,表示不同字段间的映射关系;所属Eaffiliation可以链接表Vtable与字段Vfield、以及数据源Vsource和表Vtable,表示表Vtable与字段Vfield、数据源Vsource和表Vtable的所属关系;集成Einte链接字段Vfield与规则Vrule,表示按照相应规则集成数据字段Vfield;读权限Eread链接用户组Vgroup与另外3种实体,表示用户组对数据源、表、字段的读权限,若用户组对数据源有读权限,则对数据源所属的表和字段均有读权限;若用户组对表有读权限,则对表所属的字段均有读权限。
规则Vrule是一个条件运算等式,其参数是集成Einte链接的各个字段,如r1为T1|aa==da,表示T1表aa字段和T2表da字段相同的数据条目整合为虚拟视图的一个数据条目,当字段数据出现冲突时使用T1表的数据。
在一具体示例中,如图5所示,图5为本实施例一具体元数据关系图,其中,VT1和VT2为两个虚拟视图表,S1和S2为两个数据源,数据源S1含有表T1,数据源S2含有表T2、T3、T4,虚拟视图表VT1由表T1、T2、T3组合映射而成,虚拟视图表VT2由表T4映射而成。r1和r2为集成规则,表T1和表T2数据通过字段aa和da根据r1规则集成,表T1和表T3数据通过字段ab和cb根据r2规则集成。G为用户组,分别对虚拟视图表VT1和VT2、源S2、表T1有读权限。
需要说明的是,虚拟视图SQL引擎根据部分元数据管理模块的元数据关系实现虚拟视图SQL的分解,本发明只对查询SQL进行操作。在对虚拟视图SQL进行分解时,本发明采用栈和SQL上下文(本质是Map数据结构)对分解结果进行组织,并在后续数据映射中使用。
栈记录执行动作主要包括AGGREGATE、JOIN、SQL、DATAINTE、SOURCESQL五种,格式为:
AGGREGATE (Function, Col, Cond), Out, In1
JOIN (Cond), Out, In1, In2, …
SQL (Sql), Out, In1, In2, …
DATAINTE (Rule), Out, In1, In2, …
SOURCESQL (Sql,Source), Out
其中,Function为聚合函数;Col为列名;Cond为SQL语句条件,如group by、joinon等;Sql为虚拟数据查询;Rule为集成规则;Source表示数据源信息;Out为输出,In1,In2,…表示输入。执行动作的输出Out存储于SQL上下文中,输入In1, In2,…来源于SQL上下文。
进一步地,对于元数据管理模块,具体包括:
元数据关系图存储部分,通过图数据库实现元数据关系图的存储,本实施例采用Neo4j实现;
元数据关系图配置部分,用于接收用户元数据关系图配置请求,并根据用户配置请求形成元数据关系图,本实施例中用户请求使用Neo4j数据库的写操作实现;
元数据关系图查询部分,用于响应虚拟视图SQL引擎和数据缓存模块的元数据关系图查询,本实施例中使用Neo4j数据库的查询操作实现。
进一步地,对于虚拟视图SQL引擎,具体包括:
(B.1)查询SQL解析部分,用于将虚拟视图SQL查询语句转化为可在各物理源上执行的SQL查询语句,其转化方法为上述的虚拟视图SQL分解算法。
(B.2)任务管理部分,用于持有(B.1)查询SQL解析中的SqlQueue队列、栈和SQL上下文。
对于所述的数据ETL模块,具体包括:
(C.1)数据ETL执行部分,用于向各数据节点的物理源发起数据读取请求,并接受数据结果;
(C.2)数据Hash计算部分,根据返回的数据结果计算Hash。
对于数据缓存模块,具体包括:
(D.1)持久化缓存部分,通过关系型数据库持久化缓存数据源的数据请求结果,本实施例采用Mysql数据库实现;
(D.2)缓存数据表初始化部分,本部分根据元数据管理模块管理的元数据关系图对缓存数据表进行构建;
(D.3)缓存更新部分,本模块根据数据ETL模块获取的返回数据结果更新缓存数据;
(D.4)缓存查询部分,本模块响应虚拟视图SQL引擎的数据读取请求,并返回缓存表中的数据;
(D.5)数据Hash比对部分,根据请求的数据缓存结果计算Hash,并与数据ETL模块计算的数据Hash进行比对。
对于所述数据服务处理模块,具体包括:
(E.1)请求接收部分,用于接收用户虚拟视图查询请求,解析请求参数,并发起数据查询;
(E.2)数据集合部分,根据虚拟视图SQL引擎的任务,获取各数据源的数据,并根据任务管理部分的栈和SQL上下文对数据进行集合,形成虚拟视图返回用户。
请参阅图2,图2示出本发明实施例提供的一种基于图结构的数据虚拟化方法,以该方法应用在图1中的服务端为例进行说明,详述如下:
S201:根据元数据配置参数配置元数据关系图,并根据元数据关系图初始化缓存数据表。
S202:接收用户端发送的虚拟视图查询请求,并解析请求参数,得到虚拟视图SQL。
S203:将虚拟视图SQL转化为SQL查询语句。
在一具体可选实施方式中,将虚拟视图SQL转化为SQL查询语句包括:
步骤H1:根据元数据关系图将查询SQL中的字段加上表域描述符,生成的SQL入队列SqlQueue;
步骤H2:读取SqlQueue队列首的SQL,若包含聚合函数,则将查询SQL中的组group和聚合函数进行拆解变换,并形成AGGREGATE执行动作入栈,并将变换后的SQL入队列SqlQueue,否则,则将原SQL重入队列SqlQueue,跳转至步骤H3,其中,拆解变换是将聚类函数查询拆解成完整数据查询和数据聚合两部分;
步骤H3:读取SqlQueue队列首的SQL,若包含联合查询join,则将SQL分解为若干SQL查询语句,并形成JOIN执行动作入栈,将分解后的若干SQL依次入队列SqlQueue;否则,将原SQL重入队列SqlQueue,跳转至步骤H4;
步骤H4:读取SqlQueue队列首的SQL,若包含内嵌查询SQL语句,则将SQL分解为若干SQL查询语句,将分解后的若干SQL依次入队列SqlQueue,否则,将原SQL重入队列SqlQueue,跳转至步骤H5;
步骤H5:读取SqlQueue队列首的SQL,并提取读取的SQL关联的虚拟视图表和字段,并根据得到的虚拟视图表和字段重组查询语句,形成SOURCESQL执行动作入栈;
步骤H6:检查SqlQueue队列是否为空,为空则结束,得到SQL查询语句,否则,跳转至步骤H2。
在一具体可选实施方式中,根据得到的虚拟视图表和字段重组查询语句,形成SOURCESQL执行动作入栈包括:
根据得到的虚拟视图表和字段重组查询语句形成(VTable,Field,Cond)的三元组列表;
基于元数据关系图,将(VTable,Field,Cond)三元组列表映射成物理表与字段(Source,Table,Field,Cond),根据映射关系形成DATAINTE执行动作入栈;
将(Source,Table,Field,Cond)四元组列表根据Source和Table进行分类,并根据分类重组查询语句,形成SOURCESQL执行动作入栈。
在本实施例一具体示例中,以解析SELECT SUM(bb), aa FROM (SELECT VT1.id,VT1.aa FROM VT1) AS T2 JOIN VT2 ON T2.id == VT2.id GROUP BY T2.aa语句为例:
经过步骤H1,字段加入表域:
[SqlQueue为:
SELECT SUM(bb), aa FROM (SELECT VT1.id, VT1.aa FROM VT1) AS T2 JOINVT2 ON T2.id == VT2.id GROUP BY T2.aa]
经过步骤H2,提取语句中的SUM操作,去除Group条件:
[SqlQueue为:
SELECT VT2.bb, T2.aa FROM (SELECT VT1.id, VT1.aa FROM VT1) AS T2 JOINVT2 ON T2.id == VT2.id
栈内容为:
AGGREGATE (SUM, VT2.bb, ”GROUP BY T2.aa”), FOut, TComb]
经过步骤H3,将语句中的联合查询(join)分解为多个SQL查询语句:
[SqlQueue为:
SELECT T2.id, T2.aa FROM (SELECT VT1.id, VT1.sa FROM VT1) AS T2
SELECT VT2.id, VT2.bb FROM VT2
栈内容为:
JOIN (” T2.id == VT2.id”), TComb, T2, VT2
AGGREGATE (SUM, VT2.bb, ”GROUP BY T2.aa”), FOut, TComb]
经过步骤H4,读取SqlQueue中的SQL语句,并分解内嵌语句:
[SqlQueue为:
SELECT VT2.id, VT2.bb FROM VT2
SELECT VT1.id, VT1.sa FROM VT1
栈内容为:
SQL (“SELECT T2.id, T2.aa FROM VT1 AS T2”), T2, VT1
JOIN (” T2.id == VT2.id”), TComb, T2, VT2
AGGREGATE (SUM, VT2.bb, ”GROUP BY T2.aa”), FOut, TComb]
经过步骤H5,读取SqlQueue中的SQL语句,解析为查询数据源的SQL语句:
经过步骤H5.1,H5.2, 根据映射关系形成DATAINTE执行动作入栈:
[SqlQueue为:
SELECT VT1.id, VT1.sa FROM VT1
栈内容为:
DATAINTE (), VT2, S2T4
SQL (“SELECT T2.id, T2.aa FROM VT1 AS T2”), T2, VT1
JOIN (” T2.id == VT2.id”), TComb, T2, VT2
AGGREGATE (SUM, VT2.bb, ”GROUP BY T2.aa”), FOut, TComb]
经过步骤H5.3, 根据分类重组查询语句,形成SOURCESQL执行动作入栈:
[SqlQueue为:
SELECT VT1.id, VT1.sa FROM VT1
栈内容为:
SOURCESQL (“SELECT S2T4.id, S2T4.db FROM S2T4”,S2), S2T4
DATAINTE (), VT2, S2T4
SQL (“SELECT T2.id, T2.aa FROM VT1 AS T2”), T2, VT1
JOIN (” T2.id == VT2.id”), TComb, T2, VT2
AGGREGATE (SUM, VT2.bb, ”GROUP BY T2.aa”), FOut, TComb]
由于SqlQueue不为空,再经过步骤H5,读取SqlQueue中的SQL语句,解析为查询数据源的SQL语句:
[SqlQueue为:
Null
栈内容为:
SOURCESQL (“SELECT S1T1.id, S1T1.aa FROM S1T1”,S1), S1T1
SOURCESQL (“SELECT S2T2.id, S2T2.aa FROM S2T2”,S2), S2T2
DATAINTE (r1), VT1, S1T1, S2T2
SOURCESQL (“SELECT S2T4.id, S2T4.db FROM S2T4”,S2), S2T4
DATAINTE (), VT2, S2T4
SQL (“SELECT T2.id, T2.aa FROM VT1 AS T2”), T2, VT1
JOIN (” T2.id == VT2.id”), TComb, T2, VT2
AGGREGATE (SUM, VT2.bb, ”GROUP BY T2.aa”), FOut, TComb]
S204:根据请求参数,在缓存和数据节点上执行SQL查询语句,得到集合数据。
在一具体可选实施方式中,,根据请求参数,在缓存和数据节点上执行SQL查询语句,得到集合数据包括:
根据请求参数初始化任务,确定栈和SQL上下文;
将SQL查询语句入SqlQueue队列,并依次在栈中执行动作,将得到的数据结果以<Out, Meta,数据结果>的格式存储到SQL上下文中,直到SqlQueue队列中的所有执行动作被执行完毕,将SQL上下文中的数据结果作为集合数据,其中,Out为执行动作的输出名,Meta为数据的元数据。
具体地,虚拟视图SQL引擎中(B.2)任务管理部分依次弹出栈顶执行动作,若为执行动作SOURCESQL,跳转至步骤2);若为执行动作DATAINTE,跳转至步骤6);若为执行动作SQL,跳转至步骤8);若为执行动作JOIN,跳转至步骤10);若为执行动作AGGREGATE,跳转至步骤12);若栈中无执行动作,则结束数据集合操作。
2)将SOURCESQL中的参数Sql发送给(D.4)缓存查询部分执行Sql获取数据;同时判断一致性要求,若一致性要求高(即不容忍缓存数据),则(C.1)数据ETL执行部分在Source数据源上执行Sql获取数据。
3)若一致性要求高,(C.1)数据ETL执行部分在获取数据结果后,由(C.2)数据Hash计算部分根据返回结果计算Hash,并将该Hash发送给(D.5)数据Hash比对部分,该部分计算缓存查询结果的Hash,并比对两部分Hash。若相同,则跳转至步骤5);否则,跳转至步骤4)。
4)(D.5)数据Hash比对部分获取(C.1)数据ETL执行部分的数据源返回结果,并调用(D.3)缓存更新部分进行缓存的更新。由于SOURCESQL执行动作仅对单一表进行操作,所以更新操作也是对单一缓存表进行。
4.1)(D.3)缓存更新部分将D.4)缓存查询部分执行Sql获取的数据全部删除。
4.2)(D.3)缓存更新部分将(C.1)数据ETL执行部分的数据源返回结果添加到缓存表中。
4.3)(D.3)缓存更新部分通知(D.4)缓存查询部分重新执行Sql获取数据。
5)将数据结果以<Out, Meta,数据结果>的格式存储到SQL上下文中,其中Out为SOURCESQL执行动作的输出名,Meta为数据的元数据。跳转至步骤1)。
6)(B.2)任务管理部分根据DATAINTE执行动作根据rule参数将In1, In2, …输入进行整合,简单方法是简单嵌套循环连接,即利用循环嵌套对join的所有表逐一去遍历。
6.1)(B.2)任务管理部分以In1作为驱动表,遍历到元素a时。
6.2)依次从被驱动表In2,In3, …中匹配rule中与a相关的行进行集合,得到新数据条目。
本发明不累述其他方法。
7)将数据结果以<Out, Meta,数据结果>的格式存储到SQL上下文中,其中Out为DATAINTE执行动作的输出名,Meta为数据的元数据。跳转至步骤1)。
8)根据SQL执行动作的In1, In2, …输入参数在SQL上下文中获取相应数据,其操作是将In1, In2, …输入以数据表形式组织,(B.2)任务管理部分在这些数据表上执行执行动作中的Sql语句。
9)将数据结果以<Out, Meta,数据结果>的格式存储到SQL上下文中,其中Out为SQL执行动作的输出名,Meta为数据的元数据。跳转至步骤1)。
10)根据JOIN执行动作的Cond参数获取join操作所需的字段名,并按join条件进行整合,简单方法是简单嵌套循环连接,即利用循环嵌套对join的所有表逐一去遍历。
10.1)(B.2)任务管理部分以In1作为驱动表,遍历到元素a时。
10.2)从被驱动表In2中匹配与a相等的行进行连接,得到新数据条目。
本发明不累述其他方法。
11)将数据结果以<Out, Meta,数据结果>的格式存储到SQL上下文中,其中Out为JOIN执行动作的输出名,Meta为数据的元数据。跳转至步骤1)。
12)(B.2)任务管理部分根据AGGREGATE执行动作的In1输入参数,在SQL上下文中获取相应数据,并:
12.1)将数据根据Cond进行分组。
12.2)根据Function和Col参数,将分组中的数据对Col数据依据Function进行计算。
12.3)将各分组的数据运算后的结果合并形成新数据集合。
13)将数据结果以<Out, Meta,数据结果>的格式存储到SQL上下文中,其中Out为AGGREGATE执行动作的输出名,Meta为数据的元数据。跳转至步骤1)。
S205:将集合数据形成虚拟视图反馈给用户端。
本实施例中,根据元数据配置参数配置元数据关系图,并根据元数据关系图初始化缓存数据表,接收用户端发送的虚拟视图查询请求,并解析请求参数,得到虚拟视图SQL,将虚拟视图SQL转化为SQL查询语句,根据请求参数,在缓存和数据节点上执行SQL查询语句,得到集合数据,将集合数据形成虚拟视图反馈给用户端。方便的实现虚拟表到物理表、物理表到虚拟表的元数据快捷查询和映射,提高了数据访问的效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图3示出与上述实施例基于图结构的数据虚拟化方法一一对应的基于图结构的数据虚拟化装置的原理框图。如图3所示,该基于图结构的数据虚拟化装置包括初始化配置模块31、虚拟视图获取模块32、查询语句转化模块33、数据查询模块34和数据反馈模块35。各功能模块详细说明如下:
初始化配置模块31,用于根据元数据配置参数配置元数据关系图,并根据元数据关系图初始化缓存数据表;
虚拟视图获取模块32,用于接收用户端发送的虚拟视图查询请求,并解析请求参数,得到虚拟视图SQL;
查询语句转化模块33,用于将虚拟视图SQL转化为SQL查询语句;
数据查询模块34,用于根据请求参数,在缓存和数据节点上执行SQL查询语句,得到集合数据;
数据反馈模块35,用于将集合数据形成虚拟视图反馈给用户端。
关于基于图结构的数据虚拟化装置的具体限定可以参见上文中对于基于图结构的数据虚拟化方法的限定,在此不再赘述。上述基于图结构的数据虚拟化装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件连接存储器41、处理器42、网络接口43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器 (Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或D界面显示存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如分布式环境下基于机器学习的数据修复的程序代码等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的程序代码或者处理数据,例如基于图结构的数据虚拟化方法的程序代码。
所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有界面显示程序,所述界面显示程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的基于图结构的数据虚拟化方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

Claims (6)

1.一种基于图结构的数据虚拟化方法,其特征在于,所述基于图结构的数据虚拟化方法包括:
根据元数据配置参数配置元数据关系图,并根据元数据关系图初始化缓存数据表;
接收用户端发送的虚拟视图查询请求,并解析请求参数,得到虚拟视图SQL;
将虚拟视图SQL转化为SQL查询语句;
根据请求参数,在缓存和数据节点上执行所述SQL查询语句,得到集合数据;
将所述集合数据形成虚拟视图反馈给所述用户端;
其中,所述将虚拟视图SQL转化为SQL查询语句包括:
步骤H1:根据元数据关系图将查询SQL中的字段加上表域描述符,生成的SQL入队列SqlQueue;
步骤H2:读取SqlQueue队列首的SQL,若包含聚合函数,则将查询SQL中的组group和聚合函数进行拆解变换,并形成AGGREGATE执行动作入栈,并将变换后的SQL入队列SqlQueue,否则,则将原SQL重入队列SqlQueue,跳转至步骤H3,其中,拆解变换是将聚类函数查询拆解成完整数据查询和数据聚合两部分;
步骤H3:读取SqlQueue队列首的SQL,若包含联合查询join,则将SQL分解为若干SQL查询语句,并形成JOIN执行动作入栈,将分解后的若干SQL依次入队列SqlQueue;否则,将原SQL重入队列SqlQueue,跳转至步骤H4;
步骤H4:读取SqlQueue队列首的SQL,若包含内嵌查询SQL语句,则将SQL分解为若干SQL查询语句,将分解后的若干SQL依次入队列SqlQueue,否则,将原SQL重入队列SqlQueue,跳转至步骤H5;
步骤H5:读取SqlQueue队列首的SQL,并提取读取的SQL关联的虚拟视图表和字段,并根据得到的虚拟视图表和字段重组查询语句,形成SOURCESQL执行动作入栈;
步骤H6:检查SqlQueue队列是否为空,为空则结束,得到所述SQL查询语句,否则,跳转至步骤H2。
2.如权利要求1所述的基于图结构的数据虚拟化方法,其特征在于,所述根据得到的虚拟视图表和字段重组查询语句,形成SOURCESQL执行动作入栈包括:
根据得到的虚拟视图表和字段重组查询语句形成(VTable,Field,Cond)的三元组列表;
基于元数据关系图,将(VTable,Field,Cond)三元组列表映射成物理表与字段(Source,Table,Field,Cond),根据映射关系形成DATAINTE执行动作入栈;
将(Source,Table,Field,Cond)四元组列表根据Source和Table进行分类,并根据分类重组查询语句,形成SOURCESQL执行动作入栈。
3.如权利要求1所述的基于图结构的数据虚拟化方法,其特征在于,所述根据请求参数,在缓存和数据节点上执行所述SQL查询语句,得到集合数据包括:
根据请求参数初始化任务,确定栈和SQL上下文;
将所述SQL查询语句入SqlQueue队列,并依次在栈中执行动作,将得到的数据结果以<Out,Meta,数据结果>的格式存储到SQL上下文中,直到SqlQueue队列中的所有执行动作被执行完毕,将SQL上下文中的数据结果作为集合数据,其中,Out为执行动作的输出名,Meta为数据的元数据。
4.一种基于图结构的数据虚拟化装置,其特征在于,包括:
初始化配置模块,用于根据元数据配置参数配置元数据关系图,并根据元数据关系图初始化缓存数据表;
虚拟视图获取模块,用于接收用户端发送的虚拟视图查询请求,并解析请求参数,得到虚拟视图SQL;
查询语句转化模块,用于将虚拟视图SQL转化为SQL查询语句;
数据查询模块,用于根据请求参数,在缓存和数据节点上执行所述SQL查询语句,得到集合数据;
数据反馈模块,用于将所述集合数据形成虚拟视图反馈给所述用户端;
其中,所述将虚拟视图SQL转化为SQL查询语句包括:
步骤H1:根据元数据关系图将查询SQL中的字段加上表域描述符,生成的SQL入队列SqlQueue;
步骤H2:读取SqlQueue队列首的SQL,若包含聚合函数,则将查询SQL中的组group和聚合函数进行拆解变换,并形成AGGREGATE执行动作入栈,并将变换后的SQL入队列SqlQueue,否则,则将原SQL重入队列SqlQueue,跳转至步骤H3,其中,拆解变换是将聚类函数查询拆解成完整数据查询和数据聚合两部分;
步骤H3:读取SqlQueue队列首的SQL,若包含联合查询join,则将SQL分解为若干SQL查询语句,并形成JOIN执行动作入栈,将分解后的若干SQL依次入队列SqlQueue;否则,将原SQL重入队列SqlQueue,跳转至步骤H4;
步骤H4:读取SqlQueue队列首的SQL,若包含内嵌查询SQL语句,则将SQL分解为若干SQL查询语句,将分解后的若干SQL依次入队列SqlQueue,否则,将原SQL重入队列SqlQueue,跳转至步骤H5;
步骤H5:读取SqlQueue队列首的SQL,并提取读取的SQL关联的虚拟视图表和字段,并根据得到的虚拟视图表和字段重组查询语句,形成SOURCESQL执行动作入栈;
步骤H6:检查SqlQueue队列是否为空,为空则结束,得到所述SQL查询语句,否则,跳转至步骤H2。
5.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3任一项所述的基于图结构的数据虚拟化方法。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述的基于图结构的数据虚拟化方法。
CN202310660119.0A 2023-06-06 2023-06-06 基于图结构的数据虚拟化系统、方法、装置、设备及介质 Active CN116383238B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310660119.0A CN116383238B (zh) 2023-06-06 2023-06-06 基于图结构的数据虚拟化系统、方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310660119.0A CN116383238B (zh) 2023-06-06 2023-06-06 基于图结构的数据虚拟化系统、方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN116383238A CN116383238A (zh) 2023-07-04
CN116383238B true CN116383238B (zh) 2023-08-29

Family

ID=86979165

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310660119.0A Active CN116383238B (zh) 2023-06-06 2023-06-06 基于图结构的数据虚拟化系统、方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN116383238B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117331926B (zh) * 2023-12-01 2024-03-01 太平金融科技服务(上海)有限公司 一种数据稽核方法、装置、电子设备和存储介质
CN117806836B (zh) * 2024-02-29 2024-06-07 济南浪潮数据技术有限公司 分布式文件系统命名空间管理方法、装置和设备
CN117931776B (zh) * 2024-03-21 2024-06-07 广东琴智科技研究院有限公司 一种基于虚拟化技术的大数据存储分析系统平台及方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799826A (zh) * 2010-03-04 2010-08-11 中国电子科技集团公司第二十八研究所 一种基于虚拟视图的网络化数据共享系统及方法
CN104133889A (zh) * 2014-07-30 2014-11-05 国云科技股份有限公司 一种数据库虚拟化微内核数据源注册与封装方法
CN105677752A (zh) * 2015-12-30 2016-06-15 深圳先进技术研究院 一种流式计算和批处理计算相结合处理系统及方法
CN109542846A (zh) * 2018-11-16 2019-03-29 重庆邮电大学 一种基于数据虚拟化的物联网脆弱性信息管理系统
CN112905595A (zh) * 2021-03-05 2021-06-04 腾讯科技(深圳)有限公司 一种数据查询方法、装置及计算机可读存储介质
CN112966004A (zh) * 2021-03-04 2021-06-15 北京百度网讯科技有限公司 数据查询方法、装置、电子设备以及计算机可读介质
CN113271364A (zh) * 2021-07-16 2021-08-17 湖南红普创新科技发展有限公司 服务编排数据的共享系统、方法、计算机设备及存储介质
CN114328574A (zh) * 2021-11-29 2022-04-12 上海欣兆阳信息科技有限公司 一种数据查询方法、装置、电子设备及计算机可读存储介质
CN114860764A (zh) * 2022-05-26 2022-08-05 上海爱可生信息技术股份有限公司 分布式数据库查询的优化方法、系统及电子设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080201300A1 (en) * 2007-02-15 2008-08-21 International Business Machines Corporation Method and system for storing and accessing large scale ontologies using a relational database
US8577833B2 (en) * 2012-01-04 2013-11-05 International Business Machines Corporation Automated data analysis and transformation
US9934258B2 (en) * 2014-03-31 2018-04-03 Oracle International Corporation Dynamic generation of database views and class objects for providing access to repository data
US9805136B2 (en) * 2014-09-30 2017-10-31 International Business Machines Corporation Virtualizing schema relations over a single database relation
US10528540B2 (en) * 2015-05-11 2020-01-07 AtScale, Inc. Dynamic aggregate generation and updating for high performance querying of large datasets
US10223389B2 (en) * 2015-11-03 2019-03-05 Salesforce.Com, Inc. System and method for analyzing complex metadata
US20180268050A1 (en) * 2017-03-18 2018-09-20 Trendalyze Inc. Method and system for time series visual analysis and pattern search
GB201716304D0 (en) * 2017-10-05 2017-11-22 Palantir Technologies Inc Data analysis system and method
US10839093B2 (en) * 2018-04-27 2020-11-17 Nutanix, Inc. Low latency access to physical storage locations by implementing multiple levels of metadata
US20220398232A1 (en) * 2021-06-14 2022-12-15 Microsoft Technology Licensing, Llc Versioned metadata using virtual databases
US20230066110A1 (en) * 2021-08-31 2023-03-02 International Business Machines Corporation Creating virtualized data assets using existing definitions of etl/elt jobs

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799826A (zh) * 2010-03-04 2010-08-11 中国电子科技集团公司第二十八研究所 一种基于虚拟视图的网络化数据共享系统及方法
CN104133889A (zh) * 2014-07-30 2014-11-05 国云科技股份有限公司 一种数据库虚拟化微内核数据源注册与封装方法
CN105677752A (zh) * 2015-12-30 2016-06-15 深圳先进技术研究院 一种流式计算和批处理计算相结合处理系统及方法
CN109542846A (zh) * 2018-11-16 2019-03-29 重庆邮电大学 一种基于数据虚拟化的物联网脆弱性信息管理系统
CN112966004A (zh) * 2021-03-04 2021-06-15 北京百度网讯科技有限公司 数据查询方法、装置、电子设备以及计算机可读介质
CN112905595A (zh) * 2021-03-05 2021-06-04 腾讯科技(深圳)有限公司 一种数据查询方法、装置及计算机可读存储介质
CN113271364A (zh) * 2021-07-16 2021-08-17 湖南红普创新科技发展有限公司 服务编排数据的共享系统、方法、计算机设备及存储介质
CN114328574A (zh) * 2021-11-29 2022-04-12 上海欣兆阳信息科技有限公司 一种数据查询方法、装置、电子设备及计算机可读存储介质
CN114860764A (zh) * 2022-05-26 2022-08-05 上海爱可生信息技术股份有限公司 分布式数据库查询的优化方法、系统及电子设备

Also Published As

Publication number Publication date
CN116383238A (zh) 2023-07-04

Similar Documents

Publication Publication Date Title
CN116383238B (zh) 基于图结构的数据虚拟化系统、方法、装置、设备及介质
CN106202207B (zh) 一种基于HBase-ORM的索引及检索系统
US11354284B2 (en) System and method for migration of a legacy datastore
US8868594B2 (en) Split processing paths for a database calculation engine
US9298775B2 (en) Changing the compression level of query plans
CN109656963B (zh) 元数据获取方法、装置、设备及计算机可读存储介质
US20160292591A1 (en) Streamlined analytic model training and scoring system
US11030242B1 (en) Indexing and querying semi-structured documents using a key-value store
Zhang et al. MRMondrian: Scalable multidimensional anonymisation for big data privacy preservation
CN111627552B (zh) 一种医疗流式数据血缘关系分析、存储方法及装置
WO2021258848A1 (zh) 数据字典生成方法、数据查询方法、装置、设备及介质
JP2010524060A (ja) 分散コンピューティングにおけるデータマージング
WO2021218144A1 (zh) 数据处理方法、装置、计算机设备及存储介质
CN111949693B (zh) 一种数据处理装置、数据处理方法、存储介质及电子设备
US11061964B2 (en) Techniques for processing relational data with a user-defined function (UDF)
CN113051268A (zh) 数据查询方法、数据查询装置、电子设备及存储介质
US10866960B2 (en) Dynamic execution of ETL jobs without metadata repository
US20220019764A1 (en) Method and device for classifying face image, electronic device and storage medium
CN112883125A (zh) 一种实体数据处理方法、装置、设备和存储介质
US20190213007A1 (en) Method and device for executing the distributed computation task
WO2021258853A1 (zh) 词汇纠错方法、装置、计算机设备及存储介质
CN114443680A (zh) 数据库管理系统、相关装置、方法和介质
CN111008189B (zh) 一种动态数据模型构建方法
Abbani et al. A distributed reconfigurable active SSD platform for data intensive applications
WO2017107130A1 (zh) 数据查询方法和数据库系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant