CN114253995B - 数据溯源方法、装置、设备及计算机可读存储介质 - Google Patents
数据溯源方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114253995B CN114253995B CN202210189857.7A CN202210189857A CN114253995B CN 114253995 B CN114253995 B CN 114253995B CN 202210189857 A CN202210189857 A CN 202210189857A CN 114253995 B CN114253995 B CN 114253995B
- Authority
- CN
- China
- Prior art keywords
- data
- query statement
- relation
- data query
- generation
- 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
Links
Images
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/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据溯源方法、装置、设备及计算机可读存储介质,属于计算机技术领域。本发明获取数据查询语句,对数据查询语句进行解析,得到解析结果,确定该数据查询语句对应的所有目标表,并各个目标表之间的关联关系,以在获取到数据查询语句对应的生成关系时,确定该关联关系与生成关系是否相同,从而确定数据查询语句是否准确,以确定数据查询语句是否存在问题,若关联关系与该生成关系不相同,则确定数据查询语句不准确,对所述数据查询语句对应的数据源进行定位,实现对问题数据的来源追溯,利用数据查询语句对应的关联关系与生成关系进行匹配,有效的提升了数据溯源的准确性,且通过自动解析数据查询语句,有效提升数据溯源的效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据溯源方法、装置、设备及计算机可读存储介质。
背景技术
随着科学技术的发展,信息高速流通,人们之间的交流越来越密切,生活也越来越方便,庞大的数据量成为这个高科技时代的产物。在不同的领域,对数据的处理转换存在各种不同的形式。例如,在房地产领域中,房企的营销、工程、成本、运营等系统中大量的数据将会制作成报表进行展示。而针对数据展示过程,若出现问题则需要快速对问题进行定位解决。其中,如将数据采用报表形式展示时,在制作报表的过程中,为了得到最终想要的数据,往往会写大量的SQL(Structured Query Language,结构化查询语言)语句进行处理。而当问题出现时,则需对每条SQL语句进行人工分析,以实现数据的溯源。随着数据库中表的不断增加,复杂度不断上升,单靠人工或普通溯源方式去寻找某些数据的来源变得异常困难且准确率和效率低下。
发明内容
本发明的主要目的在于提供一种数据溯源方法、装置、设备及计算机可读存储介质,旨在解决如何提升数据溯源效率的技术问题。
为实现上述目的,本发明提供一种数据溯源方法,所述数据溯源方法包括以下步骤:
获取数据查询语句,并对所述数据查询语句进行解析,得到解析结果;
基于所述解析结果确定所述数据查询语句对应的所有目标表,并确定各所述目标表之间的关联关系;
获取所述数据查询语句对应的生成关系,并确定所述关联关系与所述生成关系是否相同;
若所述关联关系与所述生成关系不相同,则确定所述数据查询语句不准确,对所述数据查询语句对应的数据源进行定位。
可选地,所述确定所述关联关系与所述生成关系是否相同的步骤包括:
通过数值转换算法分别计算出所述生成关系对应的生成值和所述关联关系对应的关联值;
依据检测所述生成值是否与所述关联值一致的检测结果确定所述关联关系与所述生成关系是否相同。
可选地,所述获取数据查询语句的步骤之前,还包括:
获取预设的多个初始表,并基于对各所述初始表输入的操作指令记录所述初始表以及所述初始表对应的关联关系至预设存储模块;
基于所述预设存储模块中的所述初始表与所述初始表对应的关联关系生成数据查询语句。
可选地,所述获取所述数据查询语句对应的生成关系的步骤包括:
确定所述目标表对应的表名,基于所述表名遍历预设存储模块中各所述初始表对应的关联关系;
将与所述表名匹配的初始表对应的关联关系作为所述数据查询语句对应的生成关系。
可选地,所述对所述数据查询语句进行解析,得到解析结果的步骤包括:
将所述数据查询语句解析成结构化数据;
基于所述结构化数据生成抽象语法树,将所述抽象语法树作为解析结果。
可选地,所述确定所述关联关系与所述生成关系是否相同的步骤之后,还包括:
若所述关联关系与所述生成关系相同,则确定所述数据查询语句准确;
通过标识字段确定所述关联关系中的连接关系,并通过索引字段确定所述关联关系中的父子关系;
将所述父子关系和所述连接关系进行图形化数据转换,将所述父子关系转换为点,所述连接关系转换为边;
依据点和边构建图模型,并将所述图模型写入图数据库中。
可选地,所述根据查询出的目标数据确定所述关联关系是否有效的步骤包括:
通过图形查询语言查询所述图数据库中与所述关联关系对应的目标数据;
判断查询出的目标数据是否符合有向无环图标准;
根据查询出的目标数据是否符合所述有向无环图标准的查询结果,确定所述关联关系是否有效。
此外,为实现上述目的,本发明还提供一种数据溯源装置,所述数据溯源装置包括:
语句解析模块,用于获取数据查询语句,并对所述数据查询语句进行解析,得到解析结果;
关联确定模块,用于基于所述解析结果确定所述数据查询语句对应的所有目标表,并确定各所述目标表之间的关联关系;
关系判断模块,用于获取所述数据查询语句对应的生成关系,并确定所述关联关系与所述生成关系是否相同;
数据定位模块,用于若所述关联关系与所述生成关系不相同,则确定所述数据查询语句不准确,对所述数据查询语句对应的数据源进行定位。
此外,为实现上述目的,本发明还提供一种数据溯源设备,所述数据溯源设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据溯源程序,其中:所述数据溯源程序被所述处理器执行时实现如上所述的数据溯源方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据溯源程序,所述数据溯源程序被处理器执行时实现如上所述的数据溯源方法的步骤。
本发明提出的一种数据溯源方法、装置、设备及计算机可读存储介质,通过获取数据查询语句,对该数据查询语句进行解析,得到解析结果,并基于该解析结果确定该数据查询语句对应的所有目标表,并确定各个目标表之间的关联关系,得到该数据查询语句当前所包含的数据信息,以在获取到数据查询语句对应的生成关系时,确定该关联关系与该生成关系是否相同,从而确定数据查询语句是否准确,以确定该数据查询语句是否存在问题,若关联关系与该生成关系不相同,则确定数据查询语句不准确,对所述数据查询语句对应的数据源进行定位,实现对问题数据的来源追溯,利用数据查询语句对应的关联关系与生成关系进行匹配,有效的提升了数据溯源的准确性,且通过自动解析数据查询语句,避免手工操作,有效提升数据溯源的效率。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的数据溯源设备结构示意图;
图2为本发明一种数据溯源方法第一实施例的流程示意图;
图3为本发明一实施例的应用流程示意图;
图4为本发明数据溯源装置结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的数据溯源设备结构示意图。
如图1所示,该数据溯源设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对数据溯源设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及数据溯源程序。
在图1所示的数据溯源设备中,网络接口1004主要用于与其他设备进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明数据溯源设备中的处理器1001、存储器1005可以设置在数据溯源设备中,所述数据溯源设备通过处理器1001调用存储器1005中存储的数据溯源程序,并执行本发明实施例提供的数据溯源方法。
本发明实施例提供了一种数据溯源方法,参照图2,图2为本发明一种数据溯源方法第一实施例的流程示意图。
本实施例中,所述数据溯源方法包括:
步骤S100,获取数据查询语句,并对所述数据查询语句进行解析,得到解析结果;
本实施例中,需要说明的是,数据查询语句包括SQL语句,SQL是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。在基于数据库中的大量数据进行数据处理展示时,会通过编写大量的SQL语句进行数据的处理。当出现问题时,需要准确定位到数据源,方能快速进行数据处理。对数据进行溯源时,通常需要对所有的SQL语句进行逐条分析。本实施例中,可对SQL语句进行解析。在对SQL语句进行解析时,可以是对该SQL语句中的字段进行抓取,进而获取该抓取的字段所属源表的相关信息;还可以是对该SQL语句进行结构化数据转换等解析方式。本实施例中,在对SQL语句进行解析,可以解析出该数据查询语句中所包含的数据库的表以及表之间的关联关系。具体地,在获取数据查询语句后,对该数据查询语句进行解析,得到对应的解析结果。
步骤S200,基于所述解析结果确定所述数据查询语句对应的所有目标表,并确定各所述目标表之间的关联关系;
本实施例中,需要说明的是,在对SQL语句进行解析,可以解析出该数据查询语句中所包含的数据库的表以及表之间的关联关系。其中,解析出的数据库的表作为目标表,表之间的关联关系作为目标表之间的关联关系。
步骤S300,获取所述数据查询语句对应的生成关系,并确定所述关联关系与所述生成关系是否相同;
本实施例中,需要说明的是,生成关系是指该数据查询语句在编写时所依据的关系记录,包括该数据查询语句生成时所依据的所有的数据库的表以及各个表之间的关联关系。通过利用对当前数据查询语句解析后得到的关联关系与在生成该数据查询语句时所依据的生成关系进行比对,以确定该数据查询语句是否出现错误。目标表与生成关系存在关联,对于生成关系的获取,可以依据该目标表在预先记录的所有生成关系中确定该数据查询语句对应的生成关系。其中,生成关系和关联关系是一一对应的,一个数据查询语句可能对应有一个或者多个生成关系和关联关系,确定关联关联关系与生成关系是否相同时,若存在多个生成关系和关联关系,可以将该多个生成关系和关联关系逐条比对,得到比对结果;也可以将该多个生成关系进行算法转换得到一个生成关系的转换值,并将该多个关联关系进行算法转换得到一个关联关系的转换值,可以将该生成关系的转换值和该关联关系的转换值进行比对,得到比对结果。具体地,获取数据查询语句对应的生成关系后,从而根据关联关系与该生成关系是否相同。
步骤S400,若所述关联关系与所述生成关系不相同,则确定所述数据查询语句不准确,对所述数据查询语句对应的数据源进行定位。
本实施例中,需要说明的是,如果关联关系与生成关系不相同,则可以确定数据查询语句不准确,进而可以判断该数据查询语句是存在问题的,此时可以直接对该数据查询语句中所对应的数据源进行确定,以实现对问题数据的准确定位。若果该数据查询语句是准确的,则进行其他数据查询语句的解析,以进一步定位问题数据源。
本发明实施例中,通过获取数据查询语句,对该数据查询语句进行解析,得到解析结果,并基于该解析结果确定该数据查询语句对应的所有目标表,并确定各个目标表之间的关联关系,得到该数据查询语句当前所包含的数据信息,以在获取到数据查询语句对应的生成关系时,确定该关联关系与该生成关系是否相同,从而确定数据查询语句是否准确,以确定该数据查询语句是否存在问题,若关联关系与该生成关系不相同,则确定数据查询语句不准确,对所述数据查询语句对应的数据源进行定位,实现对问题数据的来源追溯,利用数据查询语句对应的关联关系与生成关系进行匹配,有效的提升了数据溯源的准确性,且通过自动解析数据查询语句,避免手工操作,有效提升数据溯源的效率。
进一步地,基于本发明数据溯源方法第一实施例,提出本发明数据溯源方法第二实施例,所述步骤S300,获取所述数据查询语句对应的生成关系,并确定所述关联关系与所述生成关系是否相同的步骤,包括:
获取所述数据查询语句对应的生成关系,并执行步骤a,通过数值转换算法分别计算出所述生成关系对应的生成值和所述关联关系对应的关联值;
步骤b,依据检测所述生成值是否与所述关联值一致的检测结果确定所述关联关系与所述生成关系是否相同。
本实施例中,需要说明的是,数值转换算法为对信息进行处理,将一串信息转换成一个值的算法,其中,数值转换算法通过将需要处理的目标信息按照要求填充,使得目标信息的长度满足算法处理要求后,对该目标信息进行分段,例如,512位为一段,划分为n个段,初始化链接变量,针对每一段分别与链接变量进行一系列的循环运算,进而确定最终结果。例如,输入insert into tableA select * from tableB left join tableC ON b.id ==c.id,输出d26a53750bc,该d26a53750bc则为数值转换算法计算结果。数值转换算法可以确保信息传输完整一致。在一实施例中,数值转换算法还可以包括其他将信息进行处理以得到一个值的算法,在此不做限制。在确定数据查询语句对应的关联关系,并获取到数据查询语句对应的生成关系后,通过数值转换算法分别对生成关系和关联关系进行计算,分别得到一个生成值和一个关联值。若该数据查询语句是准确的,则该关联关系与该生成关系必定为对应的,通过数值转换算法计算得到的值也必然是一致的。例如,在利用数值转换算法计算得到的生成值为d26a53750bc,关联值为d26a53750bc时,二者一致,此时可认为该关联关系与该生成关系是相同的。若利用数值转换算法计算得到的生成值为a26a53750bc,关联值为d26a53750bc时,二者不一致,此时可以确定该关联关系与该生成关系并不相同,该数据查询语句可能存在问题。在一实施例中,还可针对生成值与关联值中具体不同的位置进行问题源头的进一步确定。如生成值为a26a53750bc,关联值为d26a53750bc的第一位分别为“a”和“d”此时,可利用该位置数值的不同进行问题的溯源。
具体地,在确定数据查询语句对应的关联关系,并依据目标表获取到数据查询语句对应的生成关系后,通过数值转换算法计算得到生成关系对应的生成值以及关联关系对应的关联值,将该生成值与该关联值进行比对,若该生成值与所述关联值一致,则可确定生成关系与关联关系是相同的,若该生成值与所述关联值不一致,则可确定生成关系与关联关系是不同的。
本实施例中,利用数值转换算法对于该数据查询语句对应的生成关系与关联关系分别进行计算,利用计算得到的生成值与关联值进行比对,以确定生成关系与关联关系是否相同,大量减少直接针对生成关系与关联关系的进行比对的流程,节省了数据处理时间,有效的提升了数据溯源的效率。
进一步地,获取数据查询语句的步骤之前,还包括:
步骤c,获取预设的多个初始表,并基于对各所述初始表输入的操作指令记录所述初始表与所述初始表之间的关联关系至预设存储模块;
步骤d,基于所述预设存储模块中的所述初始表与所述初始表对应的关联关系生成数据查询语句。
本实施例中,需要说明的是,初始表是指预先设置的存储有需要进行处理的数据的数据库表。在利用数据查询语句对数据库中的数据进行处理时,会依据用户实际需求对数据库中的单表或者多表进行处理或关联处理,以得到最终的展示结果。输入的操作指令为用户根据实际需求对表进行相关处理的指令,例如将两个不同的表进行关联,对单个表中的数据进行处理等操作指令。初始表指的是需要进行处理的表,当该表为多表时,输入的操作指令中会声明该多表之间的表关联关系,作为初始表之间的关联关系。基于初始表与初始表之间的关联关系可以自动生成数据查询语句。其中,该数据查询语句生成时所依据的所有的数据库的初始表与初始表之间的关联关系记录至预先设置的存储模块中。例如,在制作报表时,通过拖拉拽图表组件选择单表、多表制作并生成报表,在进行拖拉拽图表组件时记录的该图表所使用的表和表之间的关联关系。具体地,获取预设的多个初始表,并基于对该初始表输入的操作指令记录各个初始表之间的关联关系至预设存储模中,以依据该初始表和初始表之间的关联关系生成数据查询语句。
本实施例中,记录数据查询语句生成时的初始表和初始表之间的关联关系,为后续获取数据查询语句的生成关系提供查询依据,确保数据查询语句解析的有效性。
进一步地,获取所述数据查询语句对应的生成关系的步骤包括:
步骤e,确定所述目标表对应的表名,基于所述表名遍历预设存储模块中各所述初始表对应的关联关系;
步骤f,将与所述表名匹配的初始表对应的关联关系作为所述数据查询语句对应的生成关系。
本实施例中,需要说明的是,生成关系是数据查询语句在生成时所基于的数据库的表以及该数据库表之间的表关联关系。该生成关系是由记录至在预先设置的存储模块中的初始表之间的关联关系确定的,表的生成关系表明了表的表名以及表与表之间的关系。在确定数据查询语句中的目标表后,可通过该目标表的表名在该存储模块中获取包括有该目标表表名的初始表之间的关联关系。具体地,确定目标表对应的表名后,依据该表名对存储模块中的记录的各个初始表之间的关联关系进行遍历,以确定与该表名对应的初始表之间的关联关系,作为数据查询语句对应的生成关系。
本实施例中,通过表名快速确定数据查询语句在生成时所依据的生成关系,有效提升数据查询语句准确性判断的效率。
进一步地,对所述数据查询语句进行解析,得到解析结果的步骤包括:
步骤g,将所述数据查询语句解析成结构化数据;
步骤h,基于所述结构化数据生成抽象语法树,将所述抽象语法树作为解析结果。
本实施例中,需要说明的是,抽象语法树(Abstract Syntax Tree),或简称语法树(Syntax tree),是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。抽象语法树并不依赖于源语言的语法,很多编译器经常独立地构造语法分析树,为前端,后端建立一个清晰的接口。本实施例中,通过对数据查询语句进行解析,转换生成抽象语法树。其中,具体的转换过程例如,将SQL语句(例如:select id, name, b.age from tableA a left join tableB b on a.id ==b.id)转换成SqlNode ;将SqlNode 转换成结构化数据,例如:{from: [tableA, tableB],to: [tableC]}。通过抽象语法树,可快速获取数据查询语句中的表的关联关系。
本实施例中,通过将数据查询语句转换成抽象语法树,快速获取数据查询语句中的表的关联关系,有效提升数据查询语句准确性判断的效率。
进一步地,确定所述关联关系与所述生成关系是否相同的步骤之后,还包括:
步骤i,若所述关联关系与所述生成关系相同,则确定所述数据查询语句准确;
步骤j,通过标识字段确定所述关联关系中的连接关系,并通过索引字段确定所述关联关系中的父子关系;
步骤k,将所述父子关系和所述连接关系进行图形化数据转换,将所述父子关系转换为点,所述连接关系转换为边;
步骤l,依据点和边构建图模型,并将所述图模型写入图数据库中。
本实施例中,需要说明的是,在对数据查询语句进行解析后,若确定该数据查询语句是准确的,则将该数据查询语句对应的关联关系存储至图数据库中。图数据库是以点、边为基础存储单元,以高效存储、查询图数据为设计原理的数据管理系统,应用图理论(GraphTheory)存储实体的相关属性以及它们之间的关系信息。本实施例中,表的关联关系可以包括父子关系和连接关系。可以通过预先设置的关系确定规则对表的关联关系进行确定。其中,连接关系为通过标识字段进行关联的表关系,例如,通过通过id字段进行关联。父子关系中,父表和子表有一个相同的字段,如关联字段,对子表的关联字段必须索引。即父子关系为通过索引字段进行关联的表关系。例如,父子关系:insert into tableA select *from tableB,表示tableB是tableA父节点。连接关系: tableC join tableD ontableC.id = tableD.id,表示 tableC 和tableD表是通过id字段关联。在图数据库中,利用图形化数据的“点”和“边”构建图模型,将父子关系作为图数据库中的“点”,将连接关系作为图数据库中的“边”来表示表的关联关系。具体地,当关联关系与生成关系相同时,可以确定该数据查询语句为准确的。通过关系确定规则获取该关联关系中通过标识字段关联的连接关系和通过索引字段关联的父子关系,并将获取的父子关系和连接关系进行图形化数据转换,将父子关系转换为点,连接关系转换边;以基于该点和边构建图模型,写入图数据库中。
本实施例中,在对数据查询语言解析完成并存储至图数据库为进一步利用图像查询语言查询出目标数据,以确定该关联关系是否有效,提供数据查询依据,并在确定所述数据查询语句准确后,进行存储,提升存储至图数据库中数据的准确性,避免将错误信息传递至用户,减少问题数据的出现。
进一步地,根据查询出的目标数据确定所述关联关系是否有效的步骤包括:
步骤m,通过图形查询语言查询所述图数据库中与所述关联关系对应的目标数据;
步骤n,判断查询出的目标数据是否符合有向无环图标准;
步骤o,根据查询出的目标数据是否符合所述有向无环图标准的查询结果,确定所述关联关系是否有效。
本是实施例中,需要说明的是,图形查询语言包括Cypher查询语言。在对图数据库中的数据进行查询时,通过Cypher查询语言查询图形数据库中数据。“Cypher”是一个描述性的图形查询语言,允许不必编写图形结构的遍历代码对图形存储有表现力和效率的查询。通过图形查询语言查询到图数据库中与关联关系对应的目标数据,可根据该目标数据是否符合预设的标准以确定该关联关系是否有效。若该关联关系有效,则可对该关联关系继续渲染;若该关联关系并非有效,则结束并认为该数据查询语句解析错误,不再进行展示。在依据目标数据确定关联关系是否有效时,为依据该目标数据是否符合有向无环图标准,有向无环图指的是一个无回路的有向图,在图论中,如果一个有向图无法从某个顶点出发经过若干条边回到该点,则这个图是一个有向无环图。根据查询出的目标数据是否符合有向无环图标准,以确定该关联关系是否有效。
本实施例中,通过有向无环图标准对在图数据库中查询出的目标数据进行进一步验证,提升存储至图数据库中数据的准确性,避免将错误信息传递至用户,减少问题数据的出现。
参考图3,在一实施例中,以数据报表形式展示的场景为例,从数据查询语句开始,通过拖拉拽生成报表,进而确定数据查询语句。对该数据查询语句进行解析,转换成抽象语法树,若解析失败,则直接结束;若解析成功则利用MD5算法进行解析结果比对,当结果比对失败时,则直接结束;当结果比对成功时,则确定该数据查询语句对应的关联关系,并将该关联关系保存至图数据库中,判断在该图数据库中查询出的数据是否符合有向无环图标准,若符合,则进行前端渲染后结束;若不符合则直接结束。
此外,参考图4,本发明还提出一种数据溯源装置,所述数据溯源装置包括:
语句解析模块2001,用于获取数据查询语句,并对所述数据查询语句进行解析,得到解析结果;
关联确定模块2002,用于基于所述解析结果确定所述数据查询语句对应的所有目标表,并确定各所述目标表之间的关联关系;
关系判断模块2003,用于获取所述数据查询语句对应的生成关系,并确定所述关联关系与所述生成关系是否相同;
数据定位模块2004,用于若所述关联关系与所述生成关系不相同,则确定所述数据查询语句不准确,对所述数据查询语句对应的数据源进行定位。
可选地,所述语句解析模块2001,还用于:
将所述数据查询语句解析成结构化数据;
基于所述结构化数据生成抽象语法树,将所述抽象语法树作为解析结果。
可选地,所述语句解析模块2001,还用于:
获取预设的多个初始表,并基于对各所述初始表输入的操作指令记录所述初始表以及所述初始表对应的关联关系至预设存储模块;
基于所述预设存储模块中的所述初始表与所述初始表对应的关联关系生成数据查询语句。
可选地,所述关系判断模块2003,还用于:
通过数值转换算法分别计算出所述生成关系对应的生成值和所述关联关系对应的关联值;
依据检测所述生成值是否与所述关联值一致的检测结果确定所述关联关系与所述生成关系是否相同。
可选地,所述关系判断模块2003,还用于:
确定所述目标表对应的表名,基于所述表名遍历预设存储模块中各所述初始表对应的关联关系;
将与所述表名匹配的初始表对应的关联关系作为所述数据查询语句对应的生成关系。
可选地,所述关系判断模块2003,还用于:
若所述关联关系与所述生成关系相同,则确定所述数据查询语句准确;
通过标识字段确定所述关联关系中的连接关系,并通过索引字段确定所述关联关系中的父子关系;
将所述父子关系和所述连接关系进行图形化数据转换,将所述父子关系转换为点,所述连接关系转换为边;
依据点和边构建图模型,并将所述图模型写入图数据库中。
可选地,所述关系判断模块2003,还用于:
通过图形查询语言查询所述图数据库中与所述关联关系对应的目标数据;
判断查询出的目标数据是否符合有向无环图标准;
根据查询出的目标数据是否符合所述有向无环图标准的查询结果,确定所述关联关系是否有效。
本发明数据溯源装置的具体实施方式与上述数据溯源方法各实施例基本相同,在此不再赘述。
此外,本发明还提出一种数据溯源设备,其特征在于,所述数据溯源设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据溯源程序,其中:所述数据溯源程序被所述处理器执行时实现本发明各个实施例所述的数据溯源方法。
此外,本发明还提出一种计算机可读存储介质,其上存储有数据溯源程序。所述计算机可读存储介质可以是图1的终端中的存储器20,也可以是如ROM(Read-Only Memory,只读存储器)/RAM(Random Access Memory,随机存取存储器)、磁碟、光盘中的至少一种,所述计算机可读存储介质包括若干指令用以使得一台具有处理器的数据溯源设备执行本发明各个实施例所述的数据溯源方法。
可以理解的是,在本说明书的描述中,参考术语“一实施例”、“另一实施例”、“其他实施例”、或“第一实施例~第N实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个计算机可读存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种数据溯源方法,其特征在于,所述数据溯源方法包括以下步骤:
获取数据查询语句,并对所述数据查询语句进行解析,得到解析结果;
基于所述解析结果确定所述数据查询语句对应的所有目标表,并确定各所述目标表之间的关联关系;
获取所述数据查询语句对应的生成关系,并确定所述关联关系与所述生成关系是否相同;
若所述关联关系与所述生成关系不相同,则确定所述数据查询语句不准确,对所述数据查询语句对应的数据源进行定位;
所述获取数据查询语句的步骤之前,还包括:
获取预设的多个初始表,并基于对各所述初始表输入的操作指令记录所述初始表以及所述初始表对应的关联关系至预设存储模块;
基于所述预设存储模块中的所述初始表与所述初始表对应的关联关系生成数据查询语句;
所述获取所述数据查询语句对应的生成关系的步骤包括:
确定所述目标表对应的表名,基于所述表名遍历预设存储模块中各所述初始表对应的关联关系;
将与所述表名匹配的初始表对应的关联关系作为所述数据查询语句对应的生成关系。
2.如权利要求1所述的数据溯源方法,其特征在于,所述确定所述关联关系与所述生成关系是否相同的步骤包括:
通过数值转换算法分别计算出所述生成关系对应的生成值和所述关联关系对应的关联值;
依据检测所述生成值是否与所述关联值一致的检测结果确定所述关联关系与所述生成关系是否相同。
3.如权利要求1所述的数据溯源方法,其特征在于,所述对所述数据查询语句进行解析,得到解析结果的步骤包括:
将所述数据查询语句解析成结构化数据;
基于所述结构化数据生成抽象语法树,将所述抽象语法树作为解析结果。
4.如权利要求1所述的数据溯源方法,其特征在于,所述确定所述关联关系与所述生成关系是否相同的步骤之后,还包括:
若所述关联关系与所述生成关系相同,则确定所述数据查询语句准确;
通过标识字段确定所述关联关系中的连接关系,并通过索引字段确定所述关联关系中的父子关系;
将所述父子关系和所述连接关系进行图形化数据转换,将所述父子关系转换为点,所述连接关系转换为边;
依据点和边构建图模型,并将所述图模型写入图数据库中。
5.如权利要求4所述的数据溯源方法,其特征在于,所述图模型写入图数据库中的步骤之后,还包括:
通过图形查询语言查询所述图数据库中与所述关联关系对应的目标数据;
判断查询出的目标数据是否符合有向无环图标准;
根据查询出的目标数据是否符合所述有向无环图标准的查询结果,确定所述关联关系是否有效。
6.一种数据溯源装置,其特征在于,所述数据溯源装置包括:
语句解析模块,用于获取数据查询语句,并对所述数据查询语句进行解析,得到解析结果;
关联确定模块,用于基于所述解析结果确定所述数据查询语句对应的所有目标表,并确定各所述目标表之间的关联关系;
关系判断模块,用于获取所述数据查询语句对应的生成关系,并确定所述关联关系与所述生成关系是否相同;
数据定位模块,用于若所述关联关系与所述生成关系不相同,则确定所述数据查询语句不准确,对所述数据查询语句对应的数据源进行定位;
所述语句解析模块,还用于:
获取预设的多个初始表,并基于对各所述初始表输入的操作指令记录所述初始表以及所述初始表对应的关联关系至预设存储模块,基于所述预设存储模块中的所述初始表与所述初始表对应的关联关系生成数据查询语句;
所述关系判断模块,还用于:
确定所述目标表对应的表名,基于所述表名遍历预设存储模块中各所述初始表对应的关联关系,将与所述表名匹配的初始表对应的关联关系作为所述数据查询语句对应的生成关系。
7.一种数据溯源设备,其特征在于,所述数据溯源设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据溯源程序,所述数据溯源程序配置为实现如权利要求1至5中任一项所述的数据溯源方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据溯源程序,所述数据溯源程序被处理器执行时实现如权利要求1至5中任一项所述的数据溯源方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210189857.7A CN114253995B (zh) | 2022-03-01 | 2022-03-01 | 数据溯源方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210189857.7A CN114253995B (zh) | 2022-03-01 | 2022-03-01 | 数据溯源方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114253995A CN114253995A (zh) | 2022-03-29 |
CN114253995B true CN114253995B (zh) | 2022-05-27 |
Family
ID=80800123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210189857.7A Active CN114253995B (zh) | 2022-03-01 | 2022-03-01 | 数据溯源方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114253995B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114912089B (zh) * | 2022-05-07 | 2023-02-03 | 中国计量科学研究院 | 用于算法溯源的算法量传计算的配置方法和系统 |
CN117235153B (zh) * | 2023-10-08 | 2024-06-18 | 数安信(北京)科技有限公司 | 一种基于prov-dm模型的合规数据存证和溯源方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8631034B1 (en) * | 2012-08-13 | 2014-01-14 | Aria Solutions Inc. | High performance real-time relational database system and methods for using same |
CN104516882A (zh) * | 2013-09-26 | 2015-04-15 | 国际商业机器公司 | 确定sql语句的危害度的方法和设备 |
CN112527816A (zh) * | 2020-12-03 | 2021-03-19 | 平安科技(深圳)有限公司 | 数据血缘关系解析方法、系统、计算机设备及存储介质 |
CN113672457A (zh) * | 2021-08-09 | 2021-11-19 | 支付宝(杭州)信息技术有限公司 | 识别数据库中的异常操作的方法和装置 |
CN113961584A (zh) * | 2021-10-20 | 2022-01-21 | 平安银行股份有限公司 | 字段血缘分析方法、装置、电子设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582660B (zh) * | 2018-12-06 | 2021-08-10 | 深圳前海微众银行股份有限公司 | 数据血缘分析方法、装置、设备、系统及可读存储介质 |
-
2022
- 2022-03-01 CN CN202210189857.7A patent/CN114253995B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8631034B1 (en) * | 2012-08-13 | 2014-01-14 | Aria Solutions Inc. | High performance real-time relational database system and methods for using same |
CN104516882A (zh) * | 2013-09-26 | 2015-04-15 | 国际商业机器公司 | 确定sql语句的危害度的方法和设备 |
CN112527816A (zh) * | 2020-12-03 | 2021-03-19 | 平安科技(深圳)有限公司 | 数据血缘关系解析方法、系统、计算机设备及存储介质 |
CN113672457A (zh) * | 2021-08-09 | 2021-11-19 | 支付宝(杭州)信息技术有限公司 | 识别数据库中的异常操作的方法和装置 |
CN113961584A (zh) * | 2021-10-20 | 2022-01-21 | 平安银行股份有限公司 | 字段血缘分析方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114253995A (zh) | 2022-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110543517B (zh) | 一种基于Elasticsearch实现海量数据复杂查询方法、装置及介质 | |
US9607060B2 (en) | Automatic generation of an extract, transform, load (ETL) job | |
US10740396B2 (en) | Representing enterprise data in a knowledge graph | |
US7926026B2 (en) | Graphical analysis to detect process object anomalies | |
CN114253995B (zh) | 数据溯源方法、装置、设备及计算机可读存储介质 | |
US20140351241A1 (en) | Identifying and invoking applications based on data in a knowledge graph | |
CN110659282B (zh) | 数据路由的构建方法、装置、计算机设备和存储介质 | |
WO2011060257A1 (en) | Managing record format information | |
CN113760891B (zh) | 一种数据表的生成方法、装置、设备和存储介质 | |
CN111626028A (zh) | 基于函数解析的报表生成方法、装置、设备及计算机介质 | |
CN108572945A (zh) | 创建报表的方法、系统、存储介质、及电子设备 | |
US9158599B2 (en) | Programming framework for applications | |
CN111553556A (zh) | 业务数据分析方法、装置、计算机设备及存储介质 | |
Petermann et al. | Graph mining for complex data analytics | |
US20130124484A1 (en) | Persistent flow apparatus to transform metrics packages received from wireless devices into a data store suitable for mobile communication network analysis by visualization | |
CN115757479A (zh) | 数据库的查询优化方法、机器可读存储介质与计算机设备 | |
CN112416966B (zh) | 即席查询方法、装置、计算机设备和存储介质 | |
CN115204155A (zh) | 一种配置异常检测方法、装置、计算机设备和存储介质 | |
US11074401B2 (en) | Merging delta object notation documents | |
CN114328572A (zh) | 基于sql解析器的数据查询方法、装置、系统及介质 | |
CN115599976B (zh) | 用户分群方法、装置、电子设备及存储介质 | |
US20230394021A1 (en) | Computing similarity of tree data structures using metric functions defined on sets | |
US20240296460A1 (en) | Carbon footprint estimation based on bill of materials | |
CN117312369A (zh) | 一种基于数据字典的数据规范检验方法及系统 | |
CN118069479A (zh) | 一种sql语句的性能评价方法、装置、设备及存储介质 |
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 |