CN104424269A - 数据血统分析方法与装置 - Google Patents
数据血统分析方法与装置 Download PDFInfo
- Publication number
- CN104424269A CN104424269A CN201310385157.6A CN201310385157A CN104424269A CN 104424269 A CN104424269 A CN 104424269A CN 201310385157 A CN201310385157 A CN 201310385157A CN 104424269 A CN104424269 A CN 104424269A
- Authority
- CN
- China
- Prior art keywords
- field
- statement
- data lineage
- query statement
- source
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24573—Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种数据血统分析方法与装置。该方法包括基于模式配置对查询语句进行分析,以识别其中的目标表、目标字段、源表与源字段;获取各类数据库系统定义的或用户自定义的元数据并利用元数据对查询语句的模糊字段进行精确匹配;根据识别出的目标字段与源字段的字段追溯顺序生成查询语句的数据血统关系;通过多层语句解析分析出多条查询语句之间的数据血统关系。本公开可以灵活分析各种通用结构化语句的数据血统。
Description
技术领域
本公开涉及云计算领域,特别地,涉及一种数据血统分析方法与装置。
背景技术
数据血统关系是指数据之间的上下文关系,数据的血统分析是对数据库系统追溯查询结果的来源,以衡量数据的可信度、数据的质量。通过数据血统追踪,在分布数据共享时可以解决数据的可信度、质量、版本信息等,对于各种导出数据集也能解决这些问题。通过数据血统追踪,可以获得数据在数据流的演化过程。
当前数据血统自动分析技术主要是针对主流关系型数据的标准SQL(Structured Query Language,结构化查询语言)语言的解析,通过词法分析、语法分析等技术分析SQL脚本中的数据的来由。
随着现在各类数据库技术的发展,分布式数据库与非关系型数据库等在SQL语法上不再囿于过往的标准SQL规范,会有很多自身扩充的关键字或语法格式,因此,现有的基于标准SQL语法完整定义的技术难以灵活扩充解析这些分布式数据库与非关系型数据库中的数据由来。
发明内容
本公开鉴于以上问题中的至少一个提出了新的技术方案。
本公开在其一个方面提供了一种数据血统分析方法,其可以灵活分析各种通用结构化语句的数据血统。
本公开在其另一方面提供了一种数据血统分析装置,其可以灵活分析各种通用结构化语句的数据血统。
根据本公开,提供一种数据血统分析方法,包括:
基于模式配置对查询语句进行分析,以识别其中的目标表、目标字段、源表与源字段;
获取各类数据库系统定义的或用户自定义的元数据,并利用元数据对查询语句的模糊字段进行精确匹配;
根据识别出的目标字段与源字段的字段追溯顺序生成查询语句的数据血统关系;
通过多层语句解析分析出多条查询语句之间的数据血统关系。
在本公开的一些实施例中,模式配置包括关键字语句模式、关键字集、运算符集、函数模式。
在本公开的一些实施例中,基于模式配置对查询语句进行分析的步骤包括:
利用模式配置中的关键字语句模式识别与提取查询语句中的关键字语句,并识别提取出的关键字语句中包含的目标表、目标字段、源表与源字段;
利用模式配置中的函数模式识别查询语句中包含的函数结构,并根据函数模式提取函数结构中的目标字段;
根据模式配置中的关键字集过滤查询语句中与数据血统关系无关的关键字;
利用模式配置中的运算符集识别目标数据与常量集,并得出目标字段与常量集之间的关系。
在本公开的一些实施例中,利用元数据对查询语句的模糊字段进行精确匹配的步骤包括:
从元数据中获取数据表包含的字段信息与字段顺序。
在本公开的一些实施例中,根据识别出的目标字段与源字段的字段追溯顺序生成查询语句的数据血统关系的步骤包括:
按照字段顺序对查询语句的目标字段和源字段进行匹配;
对于查询语句中的嵌套语句,通过递归追溯原始字段以生成查询语句的数据血统关系。
在本公开的一些实施例中,通过多层语句解析分析出多条查询语句之间的数据血统关系的步骤包括:
根据单一语句的源表、源字段与目标表、目标字段之间的关系在多条查询语句间进行比对和分析;
根据源表、源字段与目标表、目标字段的关系设置各查询语句的层级并形成各查询语句之间的数据血统关系。
根据本公开,还提供了一种数据血统分析装置,包括:
模式适配单元,用于基于模式配置对查询语句进行分析,以识别其中的目标表、目标字段、源表与源字段;
模糊字段匹配单元,用于获取各类数据库系统定义的或用户自定义的元数据,并利用元数据对查询语句的模糊字段进行精确匹配;
字段追溯单元,用于根据识别出的目标字段与源字段的字段追溯顺序生成查询语句的数据血统关系;
血统关系形成单元,用于通过多层语句解析分析出多条查询语句之间的数据血统关系。
在本公开的一些实施例中,模式配置中包括关键字语句模式、关键字集、运算符集、函数模式。
在本公开的一些实施例中,模式适配单元包括:
关键字模式识别子单元,用于利用模式配置中的关键字语句模式识别与提取查询语句中的关键字语句,并识别提取出的关键字语句中包含的目标表、目标字段、源表与源字段;
函数模式识别子单元,用于利用模式配置中的函数模式识别查询语句中包含的函数结构,并根据函数模式提取函数结构中的目标字段;
关键字滤除子单元,用于根据模式配置中的关键字集过滤查询语句中与数据血统关系无关的关键字;
常量识别子单元,用于利用模式配置中的运算符集识别目标数据与常量集,并得出目标字段与常量集之间的关系。
在本公开的一些实施例中,模糊字段匹配单元从元数据中获取数据表包含的字段信息与字段顺序。
在本公开的一些实施例中,字段追溯单元包括:
字段匹配子单元,用于按照字段顺序对查询语句的目标字段和源字段进行匹配;
递归追溯子单元,对于查询语句中的嵌套语句,用于通过递归追溯原始字段以生成查询语句的数据血统关系。
在本公开的一些实施例中,血统关系形成单元包括:
根据单一语句的源表、源字段与目标表、目标字段之间的关系在多条查询语句间进行比对和分析;
根据源表、源字段与目标表、目标字段的关系设置各查询语句的层级并形成各查询语句之间的数据血统关系。
在本公开的技术方案中,由于用户可以自定义模式配置、并且在对查询语句进行识别时只识别与血统分析相关的关键字、滤除与统计数据血统关系无关的关键字,这样就可以通过灵活地设定模式配置来实现对各类查询语句的数据血统分析。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分。在附图中:
图1是本公开一个实施例的数据血统分析方法的流程示意图。
图2是语句间关联关系的一个实例的示意图。
图3是以insert语句分析为例的数据血统关系示意图。
图4是本公开一个实施例的数据血统分析装置的结构示意图。
具体实施方式
下面将参照附图描述本公开。要注意的是,以下的描述在本质上仅是解释性和示例性的,决不作为对本公开及其应用或使用的任何限制。除非另外特别说明,否则,在实施例中阐述的部件和步骤的相对布置以及数字表达式和数值并不限制本公开的范围。另外,本领域技术人员已知的技术、方法和装置可能不被详细讨论,但在适当的情况下意在成为说明书的一部分。
为了解决上述现有技术中的问题,本公开下述实施例提出了一种可灵活扩展的通用结构化查询语句的数据血统分析方法,在该方法中,首先进行元数据的获取,例如,可以通过元数据接口配置提取各类数据库的系统定义或用户自定义的元数据;其次进行模式识别,包括语句模式识别和函数模式识别;接下来进行词法分析,通过过滤关键字集中包含的关键字来识别其中的目标数据集和常量集;最后进行血统关系分析,通过单个语句输入输出的血统关系进一步计算系统语句间的数据血统关系,进而形成完整的数据血统关系网。
图1是本公开一个实施例的数据血统分析方法的流程示意图。
如图1所示,该实施例可以包括以下步骤:
S102,基于模式配置对查询语句进行分析,以识别其中的目标表、目标字段、源表与源字段;
其中,模式配置可以包括但不限于关键字语句模式、关键字集、运算符集和函数模式。
具体地,关键字语句模式给出了查询语句中需要识别的语句模式,例如,insert<targetbale>(<targetcol>,){select}。
关键字集可以包括但不限于insert、overwrite、table、select、from、as、where、join、on、bigint。
运算符集可以包括但不限于=、+、-、*、/、and、or、in、not in、like。
函数模式可以由用户任意定义,例如:
[A-Z][A-Za-z0-9]*(<arg>,);
[A-Z][A-Za-z0-9]*(<arg>#keyword#keyword)。
具体地,可以通过以下步骤实现:
利用模式配置中的关键字语句模式识别与提取查询语句中的关键字语句,并识别提取出的关键字语句中包含的目标表、目标字段、源表与源字段;
利用模式配置中的函数模式识别查询语句中包含的函数结构,并根据函数模式提取函数结构中的目标字段;
根据模式配置中的关键字集过滤查询语句中与数据血统关系无关的关键字;
利用模式配置中的运算符集识别目标数据与常量集,并得出目标字段与常量集之间的关系。
需要指出的是,如果语句中存在嵌套语句,则可以通过递归方法逐层进行解析。
S104,获取各类数据库系统定义的或用户自定义的元数据,并利用元数据对查询语句的模糊字段进行精确匹配;
其中,元数据是描述数据及其环境的数据,主要指数据在数据库中的定义和描述,可以理解为数据库中的数据字典。具体地,可以通过配置信息获取数据库类别,然后通过配置信息连接数据库,最后通过配置信息获取数据库中的元数据。
具体地,可以从元数据中获取数据表包含的字段信息与字段顺序,其中,该数据表可以为源表,可以为目标表。
S106,根据识别出的目标字段与源字段的字段追溯顺序生成查询语句的数据血统关系;
具体地,可以通过以下步骤实现:
按照字段顺序对查询语句的目标字段和源字段进行匹配;
对于查询语句中的嵌套语句,通过递归追溯原始字段以生成查询语句的数据血统关系。
S108,通过多层语句解析分析出多条查询语句之间的数据血统关系,需要指出的是,最细粒度的数据血统是从单一语句解析而来的,但数据血统解析的最终目标是形成整个系统内的所有数据的来龙去脉的关系,因此,需要基于单一语句解析往上继续计算不同语句之间的关系,进而形成全局关系。
具体地,可以通过以下步骤实现:
根据单一语句的源表、源字段与目标表、目标字段之间的关系在多条查询语句间进行比对和分析;
根据源表、源字段与目标表、目标字段的关系设置各语句的层级并形成各查询语句之间的数据血统关系。
在该实施例中,由于用户可以自定义模式配置、并且在对查询语句进行识别时只识别与血统分析相关的关键字、滤除与统计数据血统关系无关的关键字,这样就可以通过灵活地设定模式配置来实现对各类查询语句的数据血统分析。
进一步地,还可以对查询语句进行实时分析,通过不断获取数据处理脚本进行实时分析,进而实时更新数据血统关系网。
接下来,通过另一实施例对本公开的技术方案作进一步说明。该实施例可以包括以下步骤:
步骤一,元数据的获取:通过元数据接口配置提取各类数据库的系统定义或用户自定义的元数据,可以提供多种接口方式、灵活支持关系型/非关系型数据库。
步骤二,关键语法模式配置解析:通过语句模式配置快速识别和提取脚本中的关键语句,例如,通过解析如下模式配置快速识别语句中包含目标表、目标字段、源表、源字段及相关字段的关键部分:
insert<targettable>(<targetcol>,){select};
select<srccol>,from<srctable>,where<condcol>。
步骤三,函数模式配置解析:通过自定义函数模式配置识别关键语句中包含的函数结构,例如,通过[A-Z][A-Za-z0-9_]*(<arg>,)或[A-Z][A-Za-z0-9_]*(<arg>#keyword<arg>)等预先设置好的定义,只要符合预设的规则就认为是函数,再从中提取<arg>部分作为目标字段进行分析。
步骤四,关键字过滤:对步骤二和步骤三输出的结果进行关键字过滤,滤除与数据血统分析无关的关键字,例如,overwrite、join、on、bigint与函数名等,进而得出需进一步解析的嵌套数据集和需进一步识别的目标集。
步骤五,识别目标数据集与常量集:根据运算符集匹配得出步骤四输出的目标集中的目标数据集与常量集,及其相互运算关系。
其中,目标数据集中包含目标表字段的集合,常量集是指语句中的常量,例如,select*from a where a.a1=1,那么1就是常量,或者a.a1=“test”,那么test就是常量。
步骤六,嵌套分析:对于步骤四输出的嵌套数据集,递归执行步骤二至步骤五,得出源字段的数据关系。
步骤七,模糊匹配:对于语句中没有指定的字段,例如,select*等,可以通过步骤一获取的元数据取得数据表的具体字段顺序。
步骤八,单语句数据血统分析:根据目标字段与源字段顺序匹配字段间的数据血统关系,包括直接影响关系与间接影响关系。
步骤九,语句间的数据血统分析:通过单一语句的输入输出关系,计算多层语句之间的血统关系,形成最终的数据关联关系网。
例如:
第一条类SQL语句为:
Insert overwrite table tar_table1(t1,t2,t3)
Select src_table1.t1,src_table1.t2,src_table2.t3
From src_table1,src_table2;
第二条类SQL语句为:
Insert overwrite table src_table1(t1,t2)
Select src_table2.t1,src_table2.t2from src_table2;
第三条类SQL语句为:
Insert overwrite table src_table2(t1,t3)
Select sum(src_table3.t1)as t1,count(src_talbe3.t2)as t3
From src_table3;
首先,我们通过前述步骤一至步骤八解析出单条语句的关系;
然后,再分析t1字段的来源,通过源数据比对t1字段是来自于表src_table1中的t1,而src_table1中的t1是来自于src_table2中的t1,src_table2中的t1是来自于src_table3中的t1;通过分析比对tar_table1中的t3字段是来自于src_table2中的t3,而src_table2中的t3是来自于src_table3中的t2,就这样逐层的解析分解得到血统关系网,如图2所示。
从该实施例可以看出,在进行数据血统分析时,只需要根据配置的模式识别查询语句的关键部分后再进行解析,而不需要对查询语句的完整语法进行解析。
以insert语句为例,关键字语句模式仅需要配置:
insert<targettable>(<targetcol>,){select};
select<srccol>,from<srctable>,where<condcol>;
在insert语句的识别过程仅需要识别insert、select、from、where四个关键字,而不关注其他的语法模式,其他的关键字也不需要被识别,因此,只要是类似这种模式的SQL和类SQL脚本都可以被灵活地解析。其中,类SQL语句可以包括insert、ovewrite、table1、select、colum1、colum2、from、table2等。类SQL语句有自身扩展的关键字、不同的语法结构、还有扩充的各种函数格式等。
如果有其他存在数据血统关系的语法格式需要被解析,也可以沿用类似的模式配置进行扩展,以实现快速配置与灵活扩展。
接下来,通过一个具体实例说明如何进行数据血统分析:
首先,可以在模式配置中定义如下insert语句模式:
{insert}=insert<targettable>[(<targetcol>,)]{select};
{select}=select<srccol>,from<srctable>,where<condcol>;
<srctable>:({select})[<srctable>],<condcol>;意为<srctable>中会包含嵌套select语句的<srctable>子串和<condcol>子串;
<condcol>:<condcol>,({select})[<condtable>];意为<condcol>会包含<condcol>子串和({select})[<condtable>]。
关键字集可以包括但不限于:insert、overwrite、table、select、from、as、where、join、on、bigint。
运算符集可以包括但不限于:=、+、-、*、/、and、or、in、not in、like。
函数模式可以包括但不限于:
[A-Z][A-Za-z0-9_]*(<arg>,)
[A-Z][A-Za-z0-9_]*(<arg>#keyword#keyword)。
假设需要解析的查询语句如下:
insert overwrite target_table
select src_table1.s1,cast(src_table2.s2 as bigint),src_table2.s3,′20130701′
from
(select c1,s1 from t1 where id>30)src_table1
join
(select c2,s2,s3 from t2 where date=′20130701′)src_table2
on src_table1.c1=src_table2.c2
where src_table2.s3 in(select c3 from t3);
具体的数据血统分析过程如下:
语句模式识别过程:
(1)根据模式配置中的insert、select、from、where等关键字识别语句的各关键部分;
<targettable>=‘overwrite table target_table’
<targetcol>=null,无指定
<srccol>=src_table1.s1/cast(src_table2.s2 as bigint)/src_table3.s3/′20130701′
<srctable>=‘(select c1,s1 from t1 where id>30)src_table1
join
(select c2,s2,s3 from t2 where date=′20130701′)src_table2
on src_table1.c1=src_table2.c2
<condcol>=‘src_table2.s3 in(select c3 from t3)’
(2)识别函数模式,根据[A-Z][A-Za-z0-9_]*(<arg>#keyword#keyword)模式识别cast(src_table2.s2 as bigint)函数,得出目标字段为src_table2.s2;
(3)按括号层级处理,过滤关键字集,例如,对<srctable>过滤关键字后,得到如下子串:
(select c1,s1from t1 where id>30)src_table1
(select c2,s2,s3from t2 where date=′20130701′)src_table2
src_table1.c1=src_table2.c2
(4)识别目标数据集与常量集,根据运算符集匹配得出相关字段src_table1.c1和src_table2.c2,其相关关系为src_table1.c1=src_table2.c2;
(5)对于嵌套语句,递归执行(1)-(4)步,得出以下数据关系:
src_table1.s1来自于t1.s1,相关字段t1.c1和t1.id,其相关关系为t1.id>30和t1.c1=t2.c2;
src_table2.s2来自于t2.s2,相关字段t2.c2和t2.date,其相关关系为t2.date=’20130701’和t1.c1=t2.c2;
src_table2.s3来自于t2.s3,相关字段t2.c2和t2.date,其相关关系为t2.date=’20130701’和t1.c1=t2.c2;
(6)对于语句中没有指定目标字段、select*等情况,从数据库元数据中获取相应信息;
<targettable>过滤关键字后得出目标表为target_table,由于<targetcol>无指定,因此需从数据库元数据中查询,得到target_table包含t1、t2、t3、t4字段。
(7)匹配生成最终数据血统关系,如图3所示,其中,实线是直接影响关系,虚线是间接影响关系。
本领域普通技术人员可以理解,实现上述方法实施例的全部和部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算设备可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤,而前述的存储介质可以包括ROM、RAM、磁碟和光盘等各种可以存储程序代码的介质。
图4是本公开一个实施例的数据血统分析装置的结构示意图。
如图4所示,该实施例中的装置40可以包括模式适配单元402、模糊字段匹配单元404、字段追溯单元406和血统关系形成单元408。其中,
模式适配单元402,用于基于模式配置对查询语句进行分析,以识别其中的目标表、目标字段、源表与源字段,其中,模式配置中可以包括但不限于关键字语句模式、关键字集、运算符集和函数模式;
模糊字段匹配单元404,用于获取各类数据库系统定义的或用户自定义的元数据,并利用元数据对查询语句的模糊字段进行精确匹配;
字段追溯单元406,用于根据识别出的目标字段与源字段的字段追溯顺序生成查询语句的数据血统关系;
血统关系形成单元408,用于通过多层语句解析分析出多条查询语句之间的数据血统关系。
在该实施例中,由于用户可以自定义模式配置、并且在对查询语句进行识别时只识别与血统分析相关的关键字、滤除与统计数据血统关系无关的关键字,这样就可以通过灵活地设定模式配置来实现对各类查询语句的数据血统分析。
进一步地,模式适配单元可以包括:
关键字模式识别子单元,用于利用模式配置中的关键字语句模式识别与提取查询语句中的关键字语句,并识别提取出的关键字语句中包含的目标表、目标字段、源表与源字段;
函数模式识别子单元,用于利用模式配置中的函数模式识别查询语句中包含的函数结构,并根据函数模式提取函数结构中的目标字段;
关键字滤除子单元,用于根据模式配置中的关键字集过滤查询语句中与数据血统关系无关的关键字;以及
常量识别子单元,用于利用模式配置中的运算符集识别目标数据与常量集,并得出目标字段与常量集之间的关系。
进一步地,模糊字段匹配单元从元数据中获取数据表包含的字段信息与字段顺序。
进一步地,字段追溯单元可以包括:
字段匹配子单元,用于按照字段顺序对查询语句的目标字段和源字段进行匹配;以及
递归追溯子单元,对于查询语句中的嵌套语句,用于通过递归追溯原始字段以生成查询语句的数据血统关系。
进一步地,血统关系形成单元可以包括:
根据单一语句的源表、源字段与目标表、目标字段之间的关系在多条查询语句间进行比对和分析;以及
根据源表、源字段与目标表、目标字段的关系设置各查询语句的层级并形成各查询语句之间的数据血统关系。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同和相似的部分可以相互参见。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处可以参见方法实施例部分的说明。
虽然已参照示例性实施例描述了本公开,但应理解,本公开不限于上述的示例性实施例。对于本领域技术人员显然的是,可以在不背离本公开的范围和精神的条件下修改上述的示例性实施例。所附的权利要求的范围应被赋予最宽的解释,以包含所有这样的修改以及等同的结构和功能。
Claims (12)
1.一种数据血统分析方法,其特征在于,包括:
基于模式配置对查询语句进行分析,以识别其中的目标表、目标字段、源表与源字段;
获取各类数据库系统定义的或用户自定义的元数据,并利用所述元数据对所述查询语句的模糊字段进行精确匹配;
根据识别出的目标字段与源字段的字段追溯顺序生成查询语句的数据血统关系;
通过多层语句解析分析出多条查询语句之间的数据血统关系。
2.根据权利要求1所述的数据血统分析方法,其特征在于,所述模式配置中包括关键字语句模式、关键字集、运算符集和函数模式。
3.根据权利要求2所述的数据血统分析方法,其特征在于,基于模式配置对查询语句进行分析的步骤包括:
利用所述模式配置中的关键字语句模式识别与提取查询语句中的关键字语句,并识别提取出的关键字语句中包含的目标表、目标字段、源表与源字段;
利用所述模式配置中的函数模式识别所述查询语句中包含的函数结构,并根据所述函数模式提取函数结构中的目标字段;
根据所述模式配置中的关键字集过滤所述查询语句中与数据血统关系无关的关键字;
利用所述模式配置中的运算符集识别目标数据与常量集,并得出目标字段与常量集之间的关系。
4.根据权利要求1所述的数据血统分析方法,其特征在于,利用所述元数据对所述查询语句的模糊字段进行精确匹配的步骤包括:
从所述元数据中获取数据表包含的字段信息与字段顺序。
5.根据权利要求4所述的数据血统分析方法,其特征在于,根据识别出的目标字段与源字段的字段追溯顺序生成查询语句的数据血统关系的步骤包括:
按照所述字段顺序对所述查询语句的目标字段和源字段进行匹配;
对于所述查询语句中的嵌套语句,通过递归追溯原始字段以生成查询语句的数据血统关系。
6.根据权利要求1所述的数据血统分析方法,其特征在于,所述通过多层语句解析分析出多条查询语句之间的数据血统关系的步骤包括:
根据单一语句的源表、源字段与目标表、目标字段之间的关系在多条查询语句间进行比对和分析;
根据源表、源字段与目标表、目标字段的关系设置各查询语句的层级并形成各查询语句之间的数据血统关系。
7.一种数据血统分析装置,其特征在于,包括:
模式适配单元,用于基于模式配置对查询语句进行分析,以识别其中的目标表、目标字段、源表与源字段;
模糊字段匹配单元,用于获取各类数据库系统定义的或用户自定义的元数据,并利用所述元数据对所述查询语句的模糊字段进行精确匹配;
字段追溯单元,用于根据识别出的目标字段与源字段的字段追溯顺序生成查询语句的数据血统关系;
血统关系形成单元,用于通过多层语句解析分析出多条查询语句之间的数据血统关系。
8.根据权利要求7所述的数据血统分析装置,其特征在于,所述模式配置中包括关键字语句模式、关键字集、运算符集和函数模式。
9.根据权利要求8所述的数据血统分析装置,其特征在于,所述模式适配单元包括:
关键字模式识别子单元,用于利用所述模式配置中的关键字语句模式识别与提取查询语句中的关键字语句,并识别提取出的关键字语句中包含的目标表、目标字段、源表与源字段;
函数模式识别子单元,用于利用所述模式配置中的函数模式识别查询语句中包含的函数结构,并根据所述函数模式提取函数结构中的目标字段;
关键字滤除子单元,用于根据所述模式配置中的关键字集过滤所述查询语句中与数据血统关系无关的关键字;
常量识别子单元,用于利用所述模式配置中的运算符集识别目标数据与常量集,并得出目标字段与常量集之间的关系。
10.根据权利要求7所述的数据血统分析装置,其特征在于,所述模糊字段匹配单元从所述元数据中获取数据表包含的字段信息与字段顺序。
11.根据权利要求10所述的数据血统分析装置,其特征在于,所述字段追溯单元包括:
字段匹配子单元,用于按照所述字段顺序对所述查询语句的目标字段和源字段进行匹配;
递归追溯子单元,对于所述查询语句中的嵌套语句,用于通过递归追溯原始字段以生成查询语句的数据血统关系。
12.根据权利要求7所述的数据血统分析装置,其特征在于,所述血统关系形成单元包括:
根据单一语句的源表、源字段与目标表、目标字段之间的关系在多条查询语句间进行比对和分析;
根据源表、源字段与目标表、目标字段的关系设置各查询语句的层级并形成各查询语句之间的数据血统关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310385157.6A CN104424269B (zh) | 2013-08-30 | 2013-08-30 | 数据血统分析方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310385157.6A CN104424269B (zh) | 2013-08-30 | 2013-08-30 | 数据血统分析方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104424269A true CN104424269A (zh) | 2015-03-18 |
CN104424269B CN104424269B (zh) | 2018-01-30 |
Family
ID=52973252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310385157.6A Active CN104424269B (zh) | 2013-08-30 | 2013-08-30 | 数据血统分析方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104424269B (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104881427A (zh) * | 2015-04-01 | 2015-09-02 | 北京科东电力控制系统有限责任公司 | 一种面向电网调控运行的数据血统分析方法 |
CN104899314A (zh) * | 2015-06-17 | 2015-09-09 | 北京京东尚科信息技术有限公司 | 一种数据仓库的血统分析方法和装置 |
CN104915390A (zh) * | 2015-05-25 | 2015-09-16 | 广州精点计算机科技有限公司 | 一种etl数据血统查询系统及查询方法 |
CN105844390A (zh) * | 2016-03-21 | 2016-08-10 | 乐视网信息技术(北京)股份有限公司 | 一种数据质量追溯的方法及其装置以及硬件处理器 |
CN106802931A (zh) * | 2016-12-28 | 2017-06-06 | 深圳市华傲数据技术有限公司 | 基于影响分析进行数据表查找的方法及装置 |
CN107402920A (zh) * | 2016-05-18 | 2017-11-28 | 北京京东尚科信息技术有限公司 | 确定关系数据库表关联复杂度的方法和装置 |
CN107644073A (zh) * | 2017-09-18 | 2018-01-30 | 广东中标数据科技股份有限公司 | 一种基于深度优先遍历的字段血缘分析方法、系统及装置 |
CN107861963A (zh) * | 2017-02-20 | 2018-03-30 | 平安科技(深圳)有限公司 | 险种合约的生成方法和装置 |
CN108600313A (zh) * | 2018-03-22 | 2018-09-28 | 厦门欣旅通科技有限公司 | 一种旅游产品发布系统、方法及系统对接装置 |
CN109299073A (zh) * | 2018-10-19 | 2019-02-01 | 杭州数梦工场科技有限公司 | 一种数据血缘的生成方法、系统、电子设备和存储介质 |
CN109325078A (zh) * | 2018-09-18 | 2019-02-12 | 拉扎斯网络科技(上海)有限公司 | 基于结构数据的数据血缘确定方法及装置 |
CN109446263A (zh) * | 2018-11-02 | 2019-03-08 | 成都四方伟业软件股份有限公司 | 一种数据关系关联方法及装置 |
CN109710703A (zh) * | 2019-01-03 | 2019-05-03 | 北京顺丰同城科技有限公司 | 一种血缘关系网络的生成方法及装置 |
CN109739894A (zh) * | 2019-01-04 | 2019-05-10 | 深圳前海微众银行股份有限公司 | 补充元数据描述的方法、装置、设备及存储介质 |
CN110008231A (zh) * | 2019-03-19 | 2019-07-12 | 福建省天奕网络科技有限公司 | MySQL数据回溯方法、存储介质 |
CN110457405A (zh) * | 2019-08-20 | 2019-11-15 | 上海观安信息技术股份有限公司 | 一种基于血缘关系的数据库审计方法 |
CN111190969A (zh) * | 2019-12-23 | 2020-05-22 | 苏州银丰睿哲信息科技有限公司 | 一种元数据流向分析方法及系统 |
WO2020238597A1 (zh) * | 2019-05-27 | 2020-12-03 | 深圳前海微众银行股份有限公司 | 基于Hadoop的数据更新方法、装置、系统及介质 |
CN112434071A (zh) * | 2020-12-15 | 2021-03-02 | 北京三维天地科技股份有限公司 | 一种基于数据图谱的元数据血缘关系与影响分析平台 |
CN112753029A (zh) * | 2018-09-20 | 2021-05-04 | 华为技术有限公司 | 用于基于图的查询分析的系统和方法 |
CN114676678A (zh) * | 2022-04-08 | 2022-06-28 | 北京百度网讯科技有限公司 | 结构化查询语言数据的解析方法、装置和电子设备 |
CN116432185A (zh) * | 2022-12-30 | 2023-07-14 | 支付宝(杭州)信息技术有限公司 | 一种异常检测方法、装置、可读存储介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156740A (zh) * | 2011-04-15 | 2011-08-17 | 国都兴业信息审计系统技术(北京)有限公司 | Sql语句的处理方法及系统 |
US8024329B1 (en) * | 2006-06-01 | 2011-09-20 | Monster Worldwide, Inc. | Using inverted indexes for contextual personalized information retrieval |
CN102402615A (zh) * | 2011-12-22 | 2012-04-04 | 哈尔滨工程大学 | 一种基于结构化查询语言语句的源信息追踪方法 |
-
2013
- 2013-08-30 CN CN201310385157.6A patent/CN104424269B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8024329B1 (en) * | 2006-06-01 | 2011-09-20 | Monster Worldwide, Inc. | Using inverted indexes for contextual personalized information retrieval |
CN102156740A (zh) * | 2011-04-15 | 2011-08-17 | 国都兴业信息审计系统技术(北京)有限公司 | Sql语句的处理方法及系统 |
CN102402615A (zh) * | 2011-12-22 | 2012-04-04 | 哈尔滨工程大学 | 一种基于结构化查询语言语句的源信息追踪方法 |
Non-Patent Citations (1)
Title |
---|
龚利等: "基于数据血统标注的物化视图精确更新技术", 《计算机研究与发展》 * |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104881427A (zh) * | 2015-04-01 | 2015-09-02 | 北京科东电力控制系统有限责任公司 | 一种面向电网调控运行的数据血统分析方法 |
CN104915390A (zh) * | 2015-05-25 | 2015-09-16 | 广州精点计算机科技有限公司 | 一种etl数据血统查询系统及查询方法 |
CN104899314B (zh) * | 2015-06-17 | 2018-10-19 | 北京京东尚科信息技术有限公司 | 一种数据仓库的血统分析方法和装置 |
CN104899314A (zh) * | 2015-06-17 | 2015-09-09 | 北京京东尚科信息技术有限公司 | 一种数据仓库的血统分析方法和装置 |
CN105844390A (zh) * | 2016-03-21 | 2016-08-10 | 乐视网信息技术(北京)股份有限公司 | 一种数据质量追溯的方法及其装置以及硬件处理器 |
CN105844390B (zh) * | 2016-03-21 | 2022-08-30 | 天津智融创新科技发展有限公司 | 一种数据质量追溯的方法及其装置以及硬件处理器 |
CN107402920A (zh) * | 2016-05-18 | 2017-11-28 | 北京京东尚科信息技术有限公司 | 确定关系数据库表关联复杂度的方法和装置 |
CN107402920B (zh) * | 2016-05-18 | 2020-02-07 | 北京京东尚科信息技术有限公司 | 确定关系数据库表关联复杂度的方法和装置 |
CN106802931A (zh) * | 2016-12-28 | 2017-06-06 | 深圳市华傲数据技术有限公司 | 基于影响分析进行数据表查找的方法及装置 |
CN107861963A (zh) * | 2017-02-20 | 2018-03-30 | 平安科技(深圳)有限公司 | 险种合约的生成方法和装置 |
CN107644073A (zh) * | 2017-09-18 | 2018-01-30 | 广东中标数据科技股份有限公司 | 一种基于深度优先遍历的字段血缘分析方法、系统及装置 |
CN108600313A (zh) * | 2018-03-22 | 2018-09-28 | 厦门欣旅通科技有限公司 | 一种旅游产品发布系统、方法及系统对接装置 |
CN108600313B (zh) * | 2018-03-22 | 2021-05-07 | 厦门欣旅通科技有限公司 | 一种旅游产品发布系统、方法及系统对接装置 |
CN109325078A (zh) * | 2018-09-18 | 2019-02-12 | 拉扎斯网络科技(上海)有限公司 | 基于结构数据的数据血缘确定方法及装置 |
CN112753029A (zh) * | 2018-09-20 | 2021-05-04 | 华为技术有限公司 | 用于基于图的查询分析的系统和方法 |
CN109299073A (zh) * | 2018-10-19 | 2019-02-01 | 杭州数梦工场科技有限公司 | 一种数据血缘的生成方法、系统、电子设备和存储介质 |
CN109299073B (zh) * | 2018-10-19 | 2019-12-24 | 杭州数梦工场科技有限公司 | 一种数据血缘的生成方法、系统、电子设备和存储介质 |
CN109446263A (zh) * | 2018-11-02 | 2019-03-08 | 成都四方伟业软件股份有限公司 | 一种数据关系关联方法及装置 |
CN109710703A (zh) * | 2019-01-03 | 2019-05-03 | 北京顺丰同城科技有限公司 | 一种血缘关系网络的生成方法及装置 |
CN109739894A (zh) * | 2019-01-04 | 2019-05-10 | 深圳前海微众银行股份有限公司 | 补充元数据描述的方法、装置、设备及存储介质 |
CN109739894B (zh) * | 2019-01-04 | 2022-12-09 | 深圳前海微众银行股份有限公司 | 补充元数据描述的方法、装置、设备及存储介质 |
CN110008231A (zh) * | 2019-03-19 | 2019-07-12 | 福建省天奕网络科技有限公司 | MySQL数据回溯方法、存储介质 |
WO2020238597A1 (zh) * | 2019-05-27 | 2020-12-03 | 深圳前海微众银行股份有限公司 | 基于Hadoop的数据更新方法、装置、系统及介质 |
CN110457405A (zh) * | 2019-08-20 | 2019-11-15 | 上海观安信息技术股份有限公司 | 一种基于血缘关系的数据库审计方法 |
CN110457405B (zh) * | 2019-08-20 | 2021-09-21 | 上海观安信息技术股份有限公司 | 一种基于血缘关系的数据库审计方法 |
CN111190969A (zh) * | 2019-12-23 | 2020-05-22 | 苏州银丰睿哲信息科技有限公司 | 一种元数据流向分析方法及系统 |
CN112434071B (zh) * | 2020-12-15 | 2021-07-20 | 北京三维天地科技股份有限公司 | 一种基于数据图谱的元数据血缘关系与影响分析平台 |
CN112434071A (zh) * | 2020-12-15 | 2021-03-02 | 北京三维天地科技股份有限公司 | 一种基于数据图谱的元数据血缘关系与影响分析平台 |
CN114676678A (zh) * | 2022-04-08 | 2022-06-28 | 北京百度网讯科技有限公司 | 结构化查询语言数据的解析方法、装置和电子设备 |
CN114676678B (zh) * | 2022-04-08 | 2023-10-27 | 北京百度网讯科技有限公司 | 结构化查询语言数据的解析方法、装置和电子设备 |
CN116432185A (zh) * | 2022-12-30 | 2023-07-14 | 支付宝(杭州)信息技术有限公司 | 一种异常检测方法、装置、可读存储介质及电子设备 |
CN116432185B (zh) * | 2022-12-30 | 2024-03-26 | 支付宝(杭州)信息技术有限公司 | 一种异常检测方法、装置、可读存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104424269B (zh) | 2018-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104424269A (zh) | 数据血统分析方法与装置 | |
Su et al. | Information resources processing using linguistic analysis of textual content | |
CN100576201C (zh) | 用于从自然语言文本开发本体的方法和电子数据处理系统 | |
Gu et al. | DeepAM: Migrate APIs with multi-modal sequence to sequence learning | |
CN102156740B (zh) | Sql语句的处理方法及系统 | |
CN106843840B (zh) | 一种基于相似度分析的源代码版本演化注释复用方法 | |
CN110222045A (zh) | 一种数据报表获取方法、装置及计算机设备、存储介质 | |
CN105718585B (zh) | 文档与标签词语义关联方法及其装置 | |
CN102682118A (zh) | 一种多维数据模型访问方法及装置 | |
CN103729463A (zh) | 基于Lucene和Solr实现全文检索的方法 | |
US20110060712A1 (en) | Method and system for design check knowledge construction | |
CN109558166A (zh) | 一种面向缺陷定位的代码搜索方法 | |
US20170060977A1 (en) | Data preparation for data mining | |
CN111914534A (zh) | 构建知识图谱语义映射方法及系统 | |
CN110909126A (zh) | 一种信息查询方法及装置 | |
CN111914066B (zh) | 多源数据库全局搜索方法及系统 | |
CN106383701A (zh) | 基于通用多协议数据访问接口技术的数据服务系统 | |
van Opijnen et al. | Beyond the experiment: the eXtendable legal link eXtractor | |
Kamalabalan et al. | Tool support for traceability of software artefacts | |
CN109284088B (zh) | 一种信令大数据处理方法及电子设备 | |
CN109446277A (zh) | 基于中文自然语言的关系型数据智能搜索方法及系统 | |
CN113297251A (zh) | 多源数据检索方法、装置、设备及存储介质 | |
Preidel et al. | Integrating relational algebra into a visual code checking language for information retrieval from building information models | |
CN110929509B (zh) | 一种基于louvain社区发现算法的领域事件触发词聚类方法 | |
Babur et al. | Towards statistical comparison and analysis of models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |