CN113312410A - 数据图谱的构建方法、数据查询方法及终端设备 - Google Patents

数据图谱的构建方法、数据查询方法及终端设备 Download PDF

Info

Publication number
CN113312410A
CN113312410A CN202110651163.6A CN202110651163A CN113312410A CN 113312410 A CN113312410 A CN 113312410A CN 202110651163 A CN202110651163 A CN 202110651163A CN 113312410 A CN113312410 A CN 113312410A
Authority
CN
China
Prior art keywords
data
entity
database
entities
upstream
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.)
Granted
Application number
CN202110651163.6A
Other languages
English (en)
Other versions
CN113312410B (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.)
Ping An Securities Co Ltd
Original Assignee
Ping An Securities 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 Ping An Securities Co Ltd filed Critical Ping An Securities Co Ltd
Priority to CN202110651163.6A priority Critical patent/CN113312410B/zh
Publication of CN113312410A publication Critical patent/CN113312410A/zh
Application granted granted Critical
Publication of CN113312410B publication Critical patent/CN113312410B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请适用于大数据技术领域,提供了数据图谱的构建方法、数据查询方法及终端设备,构建方法包括:获取多个目标数据库的数据库视图,每个数据库视图包含多个数据实体;根据多个目标数据库或多个数据库视图,确定多个数据实体之间的数据关联关系,数据关联关系包括数据交换关系、数据加工关系和数据从属关系;根据多个数据实体之间的数据关联关系,以任一个数据实体为数据图谱的数据中心,构建数据图谱。实现将多个传统型数据库的多个数据实体以数据图谱的方式存储,进而可以展示每个数据与其它任一项数据的数据血缘关系,提高了数据管理功能所保存和展示的数据量。

Description

数据图谱的构建方法、数据查询方法及终端设备
技术领域
本申请属于大数据技术领域,尤其涉及数据图谱的构建方法、数据查询方法、数据图谱的构建装置、数据查询装置、终端设备及存储介质。
背景技术
随着互联网的迅速发展,网络上的数据量越来越多,海量数据形成的大数据的存储和分析是各企业的宝贵财富。目前,传统的数据管理功能主要利用关系型数据库保存数据,并结合树形结构展示数据的分布与归属,但是这种方式所保存和展示的数据量不够,特别是无法显示数据之间的关联关系,并且在关联层级过多的情况下,传统关系型数据库的查询效率低下。
发明内容
本申请实施例提供了数据图谱的构建方法、装置、终端设备及存储介质,可以解决当前数据管理功能所保存和展示的数据量低的问题。
第一方面,本申请实施例提供了一种数据图谱的构建方法,包括:
获取多个目标数据库的数据库视图,每个数据库视图包含多个数据实体;
根据多个目标数据库或多个数据库视图,确定多个数据实体之间的数据关联关系,数据关联关系包括数据交换关系、数据加工关系和数据从属关系;
根据多个数据实体之间的数据关联关系,以任一个数据实体为数据图谱的数据中心,构建数据图谱。
本申请实施例通过获取多个目标数据库的数据库视图,根据多个目标数据库和数据库视图,分析数据库视图中多个数据实体之间的数据交换关系、数据加工关系和数据从属关系,从而分析出多个传统型数据库的多个数据实体之间的数据血缘关系,以便于存储每个数据与其他数据之间的数据血缘关系;根据多个数据实体之间的数据血缘关系,以任一个数据实体为数据图谱的数据中心,构建数据图谱,从而将多个传统型数据库的多个数据实体以数据图谱的方式存储,进而可以展示每个数据与其它任一项数据的数据血缘关系,提高了数据管理功能所保存和展示的数据量。
第二方面,本申请实施例提供了一种数据查询方法,包括:
获取数据查询信息,数据查询信息包含查询关键字;
根据数据查询信息,查询预设的数据图谱中与查询关键字对应的第一目标数据实体,数据图谱包含多个存在数据关联关系的数据实体;
根据第一目标数据实体与其他数据实体之间的数据关联关系,加载以第一目标数据实体为数据中心的第一数据子图谱。
第三方面,本申请实施例提供了一种数据图谱的构建装置,包括:
第一获取模块,用于获取多个目标数据库的数据库视图,每个数据库视图包含多个数据实体;
分析模块,用于根据多个目标数据库或多个数据库视图,确定多个数据实体之间的数据关联关系,数据关联关系包括数据交换关系、数据加工关系和数据从属关系;
构建模块,用于根据多个数据实体之间的数据关联关系,以任一个数据实体为数据图谱的数据中心,构建数据图谱。
第四方面,本申请实施例提供了一种数据查询装置,包括:
第二获取模块,用于获取数据查询信息,数据查询信息包含查询关键字;
查询模块,用于根据数据查询信息,查询预设的数据图谱中与查询关键字对应的第一目标数据实体,数据图谱包含多个存在数据关联关系的数据实体;
加载模块,用于根据第一目标数据实体与其他数据实体之间的数据关联关系,加载以第一目标数据实体为数据中心的第一数据子图谱。
第五方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面中任一项所述的数据图谱的构建方法或如上述第二方面中任一项所述的数据查询方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面中任一项所述的数据图谱的构建方法或如上述第二方面中任一项所述的数据查询方法。
第七方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行如上述第一方面中任一项所述的数据图谱的构建方法或如上述第二方面中任一项所述的数据查询方法。
可以理解的是,上述第二方面至第七方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的数据图谱的构建方法的流程示意图;
图2是本申请另一实施例提供的数据图谱的构建方法的流程示意图;
图3是本申请再一实施例提供的数据图谱的构建方法的流程示意图;
图4是本申请一实施例提供的数据查询方法的流程示意图;
图5是本申请另一实施例提供的数据查询方法的流程示意图;
图6是本申请实施例提供的数据图谱的构建装置的结构示意图;
图7是本申请实施例提供的数据查询装置的结构示意图;
图8是本申请实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
如背景技术相关记载,传统的数据管理功能主要利用关系型数据库保存数据,并结合树形结构展示数据的分布与归属。其中,关系型数据库采用二维表格存储数据,而二维表格无法有效存储多维数据;而树形结构只是展示单个树枝上的数据的数据关系,而无法展示树枝与树枝之间的数据关系。显然,当前的数据管理功能存在保存和展示的数据量低的问题。
因此,本申请实施例一种数据图谱的构建方法,实现将多个传统型数据库的多个数据实体以数据图谱的方式存储,进而可以展示每个数据与其它任一项数据的数据血缘关系,提高了数据管理功能所保存和展示的数据量。
图1示出了本申请提供的数据图谱的构建方法的示意性流程图,作为示例而非限定,该方法可以应用于终端设备。终端设备包括但不限于手机、平板电脑、可穿戴设备、车载设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、服务器等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。
S101,获取多个目标数据库的数据库视图,每个数据库视图包含多个数据实体。
在上述S101中,上述目标数据库可以为当前存储数据的关系型数据库或非关系型数据库。上述数据库视图为从数据库中的一个或几个基本表到处的虚拟表。例如MySQL数据库的数据库视图可以是information_schema.schemata、information_schema.tables、information_schema.views、information_schema.table_constraints、information_schema.columns、information_schema.key_column_usage、information_schema.partitions、information_schema.referential_constraints、information_schema.statistics和information_schema.column_statistics等。应理解,不同数据库的数据库视图存在差异,以实际的数据库所反映的数据库视图为准。对于数据库而言,上述数据实体(data entity)为某类事物的集合,其可以是具体的人或事物,也可以是抽象的概念或联系。在本实施例中,数据实体可以是应用程序、数据库、用户、表、字段等实体,也可以是这些实体之间的数据关系。
可选地,可以由数据库管理员授权终端设备采集数据库视图,其中,可以根据数据库管理员所授权的权限等级,获取到数据库视图的指定行或列的数据实体。应理解,权限等级越高,可以获取的数据实体越多。在本实施例中,数据库管理员可以将获取数据的最高权限等级授权给终端设备,以使终端设备获取到数据库视图的所有数据实体。
具体地,获取多个系统的数据库信息,例如数据库类型、实例名等信息,再在数据库中创建用于采集数据库视图的账户,并将反映数据库信息的数据库视图授权给该账户;该账户采集数据库视图,并将不同数据库视图中的数据实体信息纳入一个统一的元数据模型表,该元数据模型表包括数据集定义表、数据集字段明细表、数据集字段字典表,再根据以上元数据模型表中的数据实体信息,并基于权限等级,获取目标数据实体。其中,数据集定义表包含多个数据集的定义,如数据集中文名、数据集英文名等;数据集字段明细表包括多个数据集字段的明细信息、如字段名、字段长度、字段描述、字段创建时间等;数据集字段字典表包含多个数据集的数据字典名称、数据字段ID等。
S102,根据多个目标数据库或多个数据库视图,确定多个数据实体之间的数据关联关系,数据关联关系包括数据交换关系、数据加工关系和数据从属关系;
在上述S102中,上述数据交换关系为一个数据库的数据实体来自于另一个数据库的数据实体时这两个数据实体间的数据关系;上述数据加工关系为一个数据库视图的数据实体由另一个数据库视图的数据实体经过数据加工得到时这两个数据实体间的数据关系;上述数据从属关系为一个数据实体A从属于另一个数据实体B时的数据关系。
可选地,可以根据多个目标数据库,确定多个数据实体之间的数据交换关系,作为示例而非限定,具体可以调用ETL(Extract-Transform-Load)工具Kettle执行预设的xml脚本文件实现确定多个数据实体之间的数据交换关系。可以根据多个数据库视图,确定多个数据实体之间的数据加工关系,作为示例而非限定,具体可以调用数据库查询工具druid的工具包解析数据库视图对应的SQL语句,以提取多个数据实体之间的数据加工关系。可以根据每个数据库视图,确定每个数据库中数据实体之间的数据从属关系,具体地,可以根据数据库视图中,字段实体所属于的表实体确定该字段实体与该表实体之间的数据从属关系。
在采集样本源数据的相关技术中,完全依赖人工去采集所需要的信息,因此需要大量的人力完成复杂繁重的劳动,造成时间上的浪费,每当新增一个数据源时,就必然会有一定的人力去收集新的数据源信息。而本实施例通过自动化程序采集多个样本源数据,对样本数据进行数据交换或数据加工后得到多个符合数据图谱的样本数据,将样本数据导入图形数据库输出数据图谱,降低了采集数据的困难程度节省人力和时间成本,以及使得数据实体之间的层级关系更加清晰。
S103,根据多个数据实体之间的数据关联关系,以任一个数据实体为数据图谱的数据中心,构建数据图谱。
在上述S103中,上述数据中心可以为与其他数据实体存在数据关联关系的任一数据实体,优选地,数据中心优先为最上层数据实体,以便于更好的展示所有数据实体之间的数据关联关系。例如数据关联关系为公司→业务部门→系统→数据库→账户→表→字段,则公司为最上层数据实体,字段为最下层数据实体,以公司为数据中心,则可以更好的展示数据实体的层级关系。
可选地,可以根据数据实体之间的数据关联关系,确定数据图谱的数据中心(例如本实施例以最上层数据实体作为数据中心);根据最上层数据实体与其他数据实体之间的数据关联关系,确定最上层数据实体的多个下一层数据实体(例如公司的下一层数据实体包括财务部、人事部和技术研发部等),并以最上层数据实体与每个下一层数据实体的具体的数据关联关系(如数据交换关系、数据加工关系和数据从属关系),连接最上层数据实体与每个下一层数据实体;再以每个下一层数据实体与其他数据实体之间的数据关联关系,确定每个下一层数据实体的再下一层数据实体(如财务部的下一层数据实体包括支出和收入),并连接下一层数据实体与再下一层数据实体,直至确定和连接所有最下层数据,则数据图谱构建完成。
具体地,可以使用Neo4j、OrientDB和TITAN等图形数据库构建数据图谱,优选为Neo4j。Neo4j是一个高性能的图形数据库,它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在图上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。这样可以将数据中包含的结构化信息刻画在Neo4j数据库中,然后利用图数据库高效的查询语句快速查看延伸任意层级的关系信息,最后利用高效的图形显示语言和工具(例如D3JS)展现这些信息,以形成可视化的数据图谱。
本申请实施例通过获取多个目标数据库的数据库视图,根据多个目标数据库和数据库视图,确定数据库视图中多个数据实体之间的数据交换关系、数据加工关系和数据从属关系,从而确定出多个传统型数据库的多个数据实体之间的数据血缘关系,以便于存储每个数据与其他数据之间的数据血缘关系;根据多个数据实体之间的数据血缘关系,以任一个数据实体为数据图谱的数据中心,构建数据图谱,从而将多个传统型数据库的多个数据实体以数据图谱的方式存储,相比树形结构只能展示每个树枝上的数据层级关系,数据图谱可以展示每个数据与其它任一项数据的数据血缘关系,提高了数据管理功能所保存和展示的数据量。
在图1所示实施例的基础上,图2示出了本申请实施例提出的另一种数据图谱的构建方法的流程性示意图。如图2所示,上述S102具体包括S201和S203。需要说明的是,与图1实施例相同的步骤,此处不再示出。
S201,根据多个上游数据库和与上游数据库对应的下游数据库,确定上游数据库中的数据实体与下游数据库中的数据实体之间的数据交换关系;
在上述S201中,多个目标数据库包括多个上游数据库和与上游数据库对应的下游数据库,上游数据库与下游数据库存在上下游关系。应理解,上下游关系为相对关系,例如,数据库A为数据库B的上游数据库,同时数据库A也为数据库C的下游数据库,即数据库A、B和C存在的上下游关系为数据库C-数据库A-数据库B。
由于上游数据库与下游数据库存在上下游关系,所以下游数据库必然存在数据实体来源于上游数据库,即上游数据库中存在数据实体与下游数据库的数据实体存在数据交换关系。因此,本实施例根据上游数据库与下游数据库,确定上游数据库中的数据实体与下游数据库中的数据实体之间的数据交换关系。
在一种可能实现的方式中,针对上游数据库的每个数据实体,检查与上游数据库的数据实体相同的存储于下游数据库的数据实体,若相同,则将该上游数据库的该数据实体与该下游数据库的该数据实体展示给用户,并获取用户输入的确认“相同”或确认“不同”的选择指令,若用户输入确认“相同”的选择指令,则确定该上游数据库的该数据实体与该下游数据库的该数据实体存在数据交换关系,若用户输入确认“不同”的选择指令,则确定该上游数据库的该数据实体与该下游数据库的该数据实体不存在数据交换关系。
在另一种可能实现的方式中,在上述图2所示实施例的基础上,上述S201具体包括S2011至S2014。
S2011,向上游数据库发送数据交换请求,数据交换请求用于将该上游数据库中的多个第一实体交换至该上游数据库对应的下游数据库,第一实体为数据实体;
S2012,获取上游数据库基于数据交换请求返回的多个第一实体;
在上述S2011和S2012中,将上游数据库的第一实体通过数据交换传输到下游数据库。具体地,通过数据交换的线上化申请流程,由下游数据库发起用于将上游数据库的表、字段交换到该下游数据库的表、字段的数据交换程序,并通过该程序自动实现数据交换而不做任何数据加工,属于直采直推型的数据交换,该程序实质为用于给Kettle工具执行的xml配置脚本。
可选地,上述数据交换程序可以由预设的数据交换需求表和预设的数据交换需求字段关系表生成,数据交换需求表包含源表ID、目标表ID、筛选条件等、数据交换需求字段关系表包含目标字段名称、源字段名称、字段类型、字段长度等。根据数据交换需求表和数据交换需求字段关系表,自动化筛选出与下游数据库的数据实体存在数据交换关系的第一实体,而无需人为检查与下游数据库的数据实体存在数据交换关系的第一实体。
S2013,针对每个第一实体,确定与该第一实体相同的第二实体,第二实体为下游数据库中的数据实体;
S2014,若第一实体与第二实体相同,则确定该第一实体与该第二实体存在数据交换关系。
在上述S2013和S2014中,通过Kettle工具已经自动化筛选出与下游数据库的数据表中的数据实体存在数据交换关系的第一实体,所以需要在下游数据库的对应数据表确定与第一实体存在数据交换关系的第二实体。本实施例可以通过第一实体的实体名与第二实体的实体名,确定相同实体名的第一实体与第二实体存在数据交换关系。
S202,根据多个上游数据库视图和与上游数据库视图对应的下游数据库视图,确定上游数据库视图中的数据实体与下游数据库视图中的数据实体之间的数据加工关系;
在上述S202中,多个数据库视图包括多个上游数据库视图和与上游数据库视图对应的下游数据库视图,上游数据库视图与下游数据库视图存在上下游关系。应理解,如S201的解释内容所述,上下游关系为相对关系,对此不再赘述。
可选地,执行预设的数据加工程序以将上游数据库视图中的数据实体加工为下游数据库视图中的数据实体。其中下游数据库视图中的数据实体A可以根据上游数据库中的数据实体B进行数据加工得到,也可以根据同一上游数据库视图中的数据实体B和C结合加工得到,还可以根据上游数据库视图1中的数据实体B和上游数据库视图2中的数据实体C结合加工得到。
在一种可能实现的方式中,在图2所示实施例的基础上,上述S202具体包括S2021至S2023。
S2021,调用预设数据加工程序,将上游数据库视图中的多个第三实体进行数据加工为多个第四实体,第三实体为数据实体;
在上述S2021中,通过线上化的数据加工程序将写好的SQL语句配置到系统中,以将一个任务配置顺序执行的多个脚本,其中途可以将第三实体生成为中间结果,最终生成第四实体。其中上述数据加工程序根据预设的数据加工需求表对上游数据库视图中的第三实体进行数据加工,数据加工需求表包括目标表ID、目标表类型和数据加工命令ID等。
S2022,针对每个第四实体,确定与该第四实体相同的第五实体,第五实体为下游数据库视图中的数据实体;
S2023,若第四实体与第五实体相同,则确定该第四实体对应的第三实体与该第五实体存在数据加工关系。
在上述S2022和S2023中,可以调用druid工具包解析上述数据加工程序对应的SQL语句,以将源表(上游数据库视图)的第三实体生成到宿表(下游数据库视图)的第四实体的加工关系提取出来,若第四实体的实体名与下游数据库视图中的第五实体的实体名相同,则确定该第四实体对应的第三实体与该第五实体存在数据加工关系。
S203,根据每个数据库视图,确定该数据库视图内的多个数据实体之间的数据从属关系。
在上述S203中,由于数据库视图是从数据库中的一个或几个基本表到处的虚拟表,每个基本表都属于数据实体,每个基本表中的每个字段也属于数据实体,所以可以根据字段所属的基本表,可以确定字段与基本表之间的从属关系。
在图1或图2所示实施例的基础上,图3示出了本申请实施例提出的另一种数据图谱的构建方法的流程性示意图。如图3所示,上述S103之后还包括S301至S303。需要说明的是,与图1或图2实施例相同的步骤,此处不再示出。
S301,获取数据变更信息,并根据数据变更信息,查询数据图谱中与数据变更信息对应的数据实体;
在上述S301中,上述数据变更信息为对某个数据实体扩充字段长度、增减数据字典内容等数据变更时的变更信息。
S302,确定数据变更信息对应的数据实体所属的目标数据库;
S303,将数据变更信息发送至目标数据库对应的预设通信地址。
在上述S302和S303中,在数据图谱中根据其变更的第一数据实体(表和字段)查找使用其下游的第二数据实体(表和字段),第二数据实体包括数据交换关系和数据加工关系的两种关系的数据实体,再根据上述数据交换表或数据加工表从表和字段外延到其所属的目标数据库,根据目标数据库获取数据库清单中的变更负责人,即变更数据的下游数据库的负责人清单;系统负责人再向变更负责人发起邮件评审(由系统自动发出并将变更数据作为附件列明),而变更负责人收到邮件后需要在限期内评估出对数据实体变更对系统的影响,并将影响结果反馈给系统负责人;最后系统负责人协调所有变更负责人,以关键路径与下游数据库一起实施生产变更,即上游数据库数据变化的同时下游数据库也做好了适应变化的准备,不至于出现因变更造成的生产故障,乃至对公司造成重大经济损失。
在本申请的所有实施例中,基于数据库视图得到对应的数据图谱,具体来说,数据图谱由数据库视图中的数据实体根据数据关联关系进行连接得到,比如利用Neo4j连接各个数据实体得到。将数据图谱上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该数据图谱,以便查证数据图谱是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
图4示出了本申请实施例提出的一种基于图1至图3任一项实施例的数据图谱的数据查询方法的流程性示意图。作为示例而非限定,该方法可以应用于终端设备。终端设备包括但不限于手机、平板电脑、可穿戴设备、车载设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digitalassistant,PDA)、服务器等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。
S401,获取数据查询信息,数据查询信息包含查询关键字;
在上述S401中,上述数据查询信息可以利用自然语言进行解析,得到查询关键字。
S402,根据数据查询信息,查询预设的数据图谱中与查询关键字对应的第一目标数据实体,数据图谱包含多个存在数据关联关系的数据实体;
在上述S402中,根据查询关键字,可以利用搜索引擎(例如ElasticSearch)在数据图谱中搜索到与查询关键字相关的第一目标数据实体。
S403,根据第一目标数据实体与其他数据实体之间的数据关联关系,加载以第一目标数据实体为数据中心的第一数据子图谱。
在上述S403中,可选地,可根据查询关键字确定一个作为数据图谱的数据中心的第一目标数据实体,从而加载已确定好第一目标数据实体和默认边缘的数据局部图谱,其中默认边缘可以为预设的层级级数;也可以根据查询关键字确定一个作为数据中心的第一目标数据实体,加载已确定好第一目标数据实体为数据中心的数据图谱。
可选地,数据子图谱可以展示除数据中心之外的数据实体与其他数据实体之间的数据关联关系,也可以不展示。
在图4所示实施例的基础上,图5示出了本申请实施例提供的另一种数据查询方法的流程性示意图。如图5所示,上述S403之后还包括S501和S502。需要说明的是,与图4所示实施例相同的步骤,此处不再示出。
S501,获取在第一数据子图谱上选择第二目标数据实体的选择指令;
S502,基于选择指令,将第一数据子图谱跳转至以第二目标数据实体为数据中心的第二数据子图谱。
在上述S501和S502中,选择指令可以是点击第二目标数据实体以触发的指令。具体地,点击第二目标数据实体进入第二数据子图谱,第二数据子图谱将以需要查看的第二目标数据实体为数据中心,其周围展现与第二目标数据实体存在数据关联关系的其它数据实体,在本实施例的数据图谱中不仅可以查看数据实体的详细信息,而且可以根据实际需求跳转到以其它数据实体为数据中心的数据子图谱,同时也可以指定关系层级以便查看更多相关的数据血缘。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的数据图谱的构建方法,图6示出了本申请实施例提供的数据图谱的构建装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图6,该装置包括:
第一获取模块601,用于获取多个目标数据库的数据库视图,每个数据库视图包含多个数据实体;
分析模块602,用于根据多个目标数据库或多个数据库视图,确定多个数据实体之间的数据关联关系,数据关联关系包括数据交换关系、数据加工关系和数据从属关系;
构建模块603,用于根据多个数据实体之间的数据关联关系,以任一个数据实体为数据图谱的数据中心,构建数据图谱。
对应于上文实施例的数据查询方法,图7示出了本申请实施例提供的数据查询装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图7,该装置包括:
第二获取模块701,用于获取数据查询信息,数据查询信息包含查询关键字;
查询模块702,用于根据数据查询信息,查询预设的数据图谱中与查询关键字对应的第一目标数据实体,数据图谱包含多个存在数据关联关系的数据实体;
加载模块703,用于根据第一目标数据实体与其他数据实体之间的数据关联关系,加载以第一目标数据实体为数据中心的第一数据子图谱。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图8为本申请一实施例提供的终端设备的结构示意图。如图8所示,该实施例的终端设备8包括:至少一个处理器80(图8中仅示出一个)处理器、存储器81以及存储在所述存储器81中并可在所述至少一个处理器80上运行的计算机程序82,所述处理器80执行所述计算机程序82时实现上述任意方法实施例中的步骤。
所述终端设备8可以是手机、桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括但不仅限于处理器80、存储器81。本领域技术人员可以理解,图8仅仅是终端设备8的举例,并不构成对终端设备8的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器80可以是中央处理单元(Central Processing Unit,CPU),该处理器80还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器81在一些实施例中可以是所述终端设备8的内部存储单元,例如终端设备8的硬盘或内存。所述存储器81在另一些实施例中也可以是所述终端设备8的外部存储设备,例如所述终端设备8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器81还可以既包括所述终端设备8的内部存储单元也包括外部存储设备。所述存储器81用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器81还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种数据图谱的构建方法,其特征在于,包括:
获取多个目标数据库的数据库视图,每个所述数据库视图包含多个数据实体;
根据多个所述目标数据库或多个所述数据库视图,确定多个所述数据实体之间的数据关联关系,所述数据关联关系包括数据交换关系、数据加工关系和数据从属关系;
根据多个所述数据实体之间的数据关联关系,以任一个所述数据实体为数据图谱的数据中心,构建所述数据图谱。
2.如权利要求1所述的构建方法,其特征在于,多个所述目标数据库包括多个上游数据库和与所述上游数据库对应的下游数据库,多个所述数据库视图包括多个上游数据库视图和与所述上游数据库视图对应的下游数据库视图;
相应地,所述根据多个所述目标数据库或多个所述数据库视图,确定多个所述数据实体之间的数据关联关系,包括:
根据多个所述上游数据库和与所述上游数据库对应的下游数据库,确定所述上游数据库中的所述数据实体与所述下游数据库中的所述数据实体之间的数据交换关系;
根据多个所述上游数据库视图和与所述上游数据库视图对应的下游数据库视图,确定所述上游数据库视图中的所述数据实体与所述下游数据库视图中的所述数据实体之间的数据加工关系;
根据每个所述数据库视图,确定该数据库视图内的多个所述数据实体之间的数据从属关系。
3.如权利要求2所述的构建方法,其特征在于,所述根据多个所述上游数据库和与所述上游数据库对应的下游数据库,确定所述上游数据库中的所述数据实体与所述下游数据库中的所述数据实体之间的数据交换关系,包括:
向所述上游数据库发送数据交换请求,所述数据交换请求用于将该上游数据库中的多个第一实体交换至该上游数据库对应的下游数据库,所述第一实体为所述数据实体;
获取所述上游数据库基于所述数据交换请求返回的多个所述第一实体;
针对每个所述第一实体,确定与该第一实体相同的第二实体,所述第二实体为所述下游数据库中的数据实体;
若所述第一实体与所述第二实体相同,则确定该第一实体与该第二实体存在所述数据交换关系。
4.如权利要求2所述的构建方法,其特征在于,所述根据多个所述上游数据库视图和与所述上游数据库视图对应的下游数据库视图,确定所述上游数据库视图中的所述数据实体与所述下游数据库视图中的所述数据实体之间的数据加工关系,包括:
调用预设数据加工程序,将所述上游数据库视图中的多个第三实体进行数据加工为多个第四实体,所述第三实体为所述数据实体;
针对每个所述第四实体,确定与该第四实体相同的第五实体,所述第五实体为所述下游数据库视图中的数据实体;
若所述第四实体与所述第五实体相同,则确定该第四实体对应的所述第三实体与该第五实体存在所述数据加工关系。
5.如权利要求1至4任一项所述的构建方法,其特征在于,所述根据多个所述数据实体之间的数据关联关系,以任一个所述数据实体为数据图谱的数据中心,构建所述数据图谱之后,还包括:
获取数据变更信息,并根据所述数据变更信息,查询所述数据图谱中与数据变更信息对应的所述数据实体;
确定所述数据变更信息对应的所述数据实体所属的所述目标数据库;
将所述数据变更信息发送至所述目标数据库对应的预设通信地址。
6.一种数据查询方法,其特征在于,包括:
获取数据查询信息,所述数据查询信息包含查询关键字;
根据所述数据查询信息,查询预设的数据图谱中与所述查询关键字对应的第一目标数据实体,所述数据图谱包含多个存在数据关联关系的数据实体;
根据所述第一目标数据实体与其他所述数据实体之间的所述数据关联关系,加载以所述第一目标数据实体为数据中心的第一数据子图谱。
7.一种数据图谱的构建装置,其特征在于,包括:
第一获取模块,用于获取多个目标数据库的数据库视图,每个所述数据库视图包含多个数据实体;
分析模块,用于根据多个所述目标数据库或多个所述数据库视图,确定多个所述数据实体之间的数据关联关系,所述数据关联关系包括数据交换关系、数据加工关系和数据从属关系;
构建模块,用于根据多个所述数据实体之间的数据关联关系,以任一个所述数据实体为数据图谱的数据中心,构建所述数据图谱。
8.一种数据查询装置,其特征在于,包括:
第二获取模块,用于获取数据查询信息,所述数据查询信息包含查询关键字;
查询模块,用于根据所述数据查询信息,查询预设的数据图谱中与所述查询关键字对应的第一目标数据实体,所述数据图谱包含多个存在数据关联关系的数据实体;
加载模块,用于根据所述第一目标数据实体与其他所述数据实体之间的所述数据关联关系,加载以所述第一目标数据实体为数据中心的第一数据子图谱。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的构建方法,或权利要求6所述的数据查询方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的构建方法,或权利要求6所述的数据查询方法。
CN202110651163.6A 2021-06-10 2021-06-10 数据图谱的构建方法、数据查询方法及终端设备 Active CN113312410B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110651163.6A CN113312410B (zh) 2021-06-10 2021-06-10 数据图谱的构建方法、数据查询方法及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110651163.6A CN113312410B (zh) 2021-06-10 2021-06-10 数据图谱的构建方法、数据查询方法及终端设备

Publications (2)

Publication Number Publication Date
CN113312410A true CN113312410A (zh) 2021-08-27
CN113312410B CN113312410B (zh) 2023-11-21

Family

ID=77378474

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110651163.6A Active CN113312410B (zh) 2021-06-10 2021-06-10 数据图谱的构建方法、数据查询方法及终端设备

Country Status (1)

Country Link
CN (1) CN113312410B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019052533A1 (zh) * 2017-09-15 2019-03-21 华为技术有限公司 地图数据的构建方法和设备
CN110955803A (zh) * 2019-11-15 2020-04-03 北京浪潮数据技术有限公司 基于图数据库的关系图谱的绘制方法、装置、设备及介质
WO2020143326A1 (zh) * 2019-01-11 2020-07-16 平安科技(深圳)有限公司 知识数据存储方法、装置、计算机设备和存储介质
CN111475503A (zh) * 2019-12-27 2020-07-31 北京国双科技有限公司 一种虚拟知识图谱构建方法及装置
CN111694858A (zh) * 2020-04-28 2020-09-22 平安科技(深圳)有限公司 数据血缘分析方法、装置、设备及计算机可读存储介质
CN112115315A (zh) * 2020-09-25 2020-12-22 平安国际智慧城市科技股份有限公司 血缘数据查询方法、装置、计算机设备及存储介质
CN112182238A (zh) * 2020-09-22 2021-01-05 苏州浪潮智能科技有限公司 一种基于图数据库的知识图谱构建系统和方法
US20210097089A1 (en) * 2019-09-27 2021-04-01 Boe Technology Group Co., Ltd. Knowledge graph building method, electronic apparatus and non-transitory computer readable storage medium

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019052533A1 (zh) * 2017-09-15 2019-03-21 华为技术有限公司 地图数据的构建方法和设备
WO2020143326A1 (zh) * 2019-01-11 2020-07-16 平安科技(深圳)有限公司 知识数据存储方法、装置、计算机设备和存储介质
US20210097089A1 (en) * 2019-09-27 2021-04-01 Boe Technology Group Co., Ltd. Knowledge graph building method, electronic apparatus and non-transitory computer readable storage medium
CN110955803A (zh) * 2019-11-15 2020-04-03 北京浪潮数据技术有限公司 基于图数据库的关系图谱的绘制方法、装置、设备及介质
CN111475503A (zh) * 2019-12-27 2020-07-31 北京国双科技有限公司 一种虚拟知识图谱构建方法及装置
CN111694858A (zh) * 2020-04-28 2020-09-22 平安科技(深圳)有限公司 数据血缘分析方法、装置、设备及计算机可读存储介质
CN112182238A (zh) * 2020-09-22 2021-01-05 苏州浪潮智能科技有限公司 一种基于图数据库的知识图谱构建系统和方法
CN112115315A (zh) * 2020-09-25 2020-12-22 平安国际智慧城市科技股份有限公司 血缘数据查询方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN113312410B (zh) 2023-11-21

Similar Documents

Publication Publication Date Title
US20230032882A1 (en) Systems and methods for database investigation tool
US8108367B2 (en) Constraints with hidden rows in a database
US7702685B2 (en) Querying social networks
US10540375B2 (en) Systems and methods for self-pairing databases
JP5986195B2 (ja) データエンリッチメントの推奨
CN109034988B (zh) 一种会计分录生成方法和装置
US9218396B2 (en) Insight determination and explanation in multi-dimensional data sets
EP1302871A2 (en) Collecting statistics in a database system
US20120254089A1 (en) Vector throttling to control resource use in computer systems
US20040133581A1 (en) Database management system, data structure generating method for database management system, and storage medium therefor
CN110795455A (zh) 依赖关系解析方法、电子装置、计算机设备及可读存储介质
JP7465870B2 (ja) 多次元データベース環境における依存関係分析のためのシステムおよび方法
CN108280234B (zh) 数据查询方法及装置
CN103262076A (zh) 分析数据处理
CN111427971B (zh) 用于计算机系统的业务建模方法、装置、系统和介质
Han et al. Scatter-gather-merge: An efficient star-join query processing algorithm for data-parallel frameworks
CN107945092A (zh) 用于审计领域的大数据综合管理方法及系统
CN110928903A (zh) 数据提取方法及装置、设备和存储介质
CN112949269A (zh) 可视化数据分析报表的生成方法、系统、设备及存储介质
CN113704307A (zh) 数据查询方法、装置、服务器及计算机可读存储介质
AU2012203678A1 (en) Method and apparatus for performing a search for article content at a plurality of content sites
CN112667612A (zh) 一种数据质量检核方法、装置、电子设备及存储介质
US7590638B2 (en) System and method for online analytical processing using dimension attributes and multiple hierarchies where first hierarchy has at least one attribute from the defined dimension not present in the second hierarchy
CN110737673B (zh) 一种数据处理的方法及系统
KR101341948B1 (ko) 산업기술 지식정보 관리시스템 및 산업기술 지식정보의 서비스 방법

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