CN110795455A - 依赖关系解析方法、电子装置、计算机设备及可读存储介质 - Google Patents
依赖关系解析方法、电子装置、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN110795455A CN110795455A CN201910842245.1A CN201910842245A CN110795455A CN 110795455 A CN110795455 A CN 110795455A CN 201910842245 A CN201910842245 A CN 201910842245A CN 110795455 A CN110795455 A CN 110795455A
- Authority
- CN
- China
- Prior art keywords
- task
- query language
- structured query
- target table
- source table
- 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
- 238000004458 analytical method Methods 0.000 title abstract description 39
- 238000012545 processing Methods 0.000 claims abstract description 52
- 238000000034 method Methods 0.000 claims abstract description 29
- 238000011144 upstream manufacturing Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012544 monitoring process Methods 0.000 claims description 10
- 238000013461 design Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101100379080 Emericella variicolor andB gene Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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/245—Query processing
- G06F16/2452—Query translation
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Abstract
本发明公开了依赖关系解析方法、电子装置、计算机设备及可读存储介质,方法包括:获取数据处理任务,并根据所述数据处理任务生成对应的结构化查询语言脚本文件;对所述结构化查询语言脚本文件中的每个结构化查询语言语句进行分析,获得每个结构化语言语句所对应的系谱树;根据系谱树,获取关键词、目标表、来源表;根据所述关键词,获取所述目标表和所述来源表之间的依赖关系。应用本发明实施例提供的实施例,能够自动进行依赖关系解析,减少人工寻找引起的错误,且解析速度快,解析效率高、质量高。
Description
技术领域
本发明涉及依赖关系解析技术领域,尤其涉及一种依赖关系解析方法、电子装置、设备及存储介质。
背景技术
关系数据库(Relational database),是建立在关系数据库模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,现在主流的关系数据库有Oracle、Sql Server、MySQL等。依赖关系:表示关系数据库中表与表之间存在外键依赖关系。关系数据库的定义造成元数据的一张表格或造成表格、列、范围和约束的正式描述。
由于关系数据库的数据平台技术框架支持的开发语言多种多样,就产生出很多不同类型的任务(程序)运行在大数据平台之上,如:MapReduce、Hive、Pig、Spark、Java、Shell、Python等。
任务的数据之间存在依赖关系,例如,上游任务和下游任务之间的执行顺序关系,现有技术中,在接收结构化查询语言脚本文件只包含SQL(Structured Query Language,简称SQL)语句后直接按照顺序执行任务,所以在编写数据处理任务的时候需要编程人员确定依赖关系,否则会造成SQL语句的执行错误,造成容错率较低的问题。
发明内容
有鉴于此,本发明提出一种依赖关系解析方法、电子装置、设备及存储介质,旨在自动进行依赖关系解析,减少用户编写程序中造成依赖关系引起的错误,容错率高,且解析速度快,解析效率高、质量高。
首先,为实现上述目的,本发明提出一种依赖关系解析方法,所述方法包括步骤:
获取数据处理任务,并根据所述数据处理任务生成对应的结构化查询语言脚本文件;
对所述结构化查询语言脚本文件中的每个结构化查询语言语句进行分析,获得每个结构化语言语句所对应的系谱树;
根据系谱树,获取关键词、目标表、来源表;
根据所述关键词,获取所述目标表和所述来源表之间的依赖关系。
进一步地,所述获取数据处理任务,并根据所述数据处理任务生成对应的结构化查询语言脚本文件的步骤,包括:
通过任务调度接口,获取数据处理任务中的至少一个结构化查询语言脚本文件;
或者;
通过与设计监控周期,对数据库进行监控;
获取数据处理任务中的至少一个结构化查询语言脚本文件。
进一步地,所述根据系谱树,获取关键词、目标表、来源表的步骤,包括:
基于系谱树,分析数据数据请求;
基于所述数据数据请求,获取关键词、目标表、来源表。
进一步地,所述根据所述关键词,获取所述目标表和所述来源表之间的依赖关系的步骤,包括:
根据所述关键词,获取每一个目标表所对应的来源表,并形成所述目标表与所述来源表之间的对应关系;
将所述对应关系确定为依赖关系。
进一步地,所述根据所述关键词,获取每一个目标表所对应的来源表,并形成所述目标表与所述来源表之间的对应关系的步骤,包括:
根据所述关键词和所述来源表,确定所述目标表对应的数据层级;
根据数据层级的最高级确定为数据输入,最低级确定为数据输出;
根据输入和输出,确定目标表与来源表之前的对应关系。
进一步地,所述根据所述关键词和所述来源表,确定所述目标表对应的数据层级的步骤,包括:
根据所述关键词和所述来源表,确定上游任务;
根据所述关键词和所述目标表,确定下游任务;
确定所述上游任务和所述下游任务对应的依赖关系;
根据所述依赖关系确定数据层级。
进一步地,所述方法还包括:
所述依赖关系中至少包括:任务主键、任务名称、任务的上游主键清单、任务的下游主键清单。
此外,为实现上述目的,本发明还提供一种电子装置,所述装置包括:
第一获取模块,用于获取数据处理任务,并根据所述数据处理任务生成对应的结构化查询语言脚本文件;
获得模块,用于对所述结构化查询语言脚本文件中的每个结构化查询语言语句进行分析,获得每个结构化语言语句所对应的系谱树;
第二获取模块,用于根据系谱树,获取关键词、目标表、来源表。
第三获取模块,用于根据所述关键词,获取所述目标表和所述来源表之间的依赖关系。
进一步地,第一获取模块,用于:通过任务调度接口,获取数据处理任务中的至少一个结构化查询语言脚本文件;或者;通过与设计监控周期,对数据库进行监控;获取数据处理任务中的至少一个结构化查询语言脚本文件。
进一步地,第二获取模块,用于:基于系谱树,分析数据数据请求;基于所述数据数据请求,获取关键词、目标表、来源表。
进一步地,第三获取模块,用于:根据所述关键词,获取每一个目标表所对应的来源表,并形成所述目标表与所述来源表之间的对应关系;将所述对应关系确定为依赖关系。
进一步地,第三获取模块,包括:
第一确定子模块,用于根据所述关键词和所述来源表,确定所述目标表对应的数据层级;
第二确定子模块,用于根据数据层级的最高级确定为数据输入,最低级确定为数据输出;
第三确定子模块,用于根据输入和输出,确定目标表与来源表之前的对应关系。
进一步地,第一确定子模块,包括:
第一确定单元,用于根据所述关键词和所述来源表,确定上游任务;
第二确定单元,用于根据所述关键词和所述目标表,确定下游任务;
第三确定单元,用于确定所述上游任务和所述下游任务对应的依赖关系;
第四确定单元,用于根据所述依赖关系确定数据层级。
此外,为实现上述目的,本发明还提供一种设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现任一项所述依赖关系解析方法的步骤。
此外,为实现上述目的,本发明还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现任一项所述依赖关系解析方法的步骤。
相较于现有技术,本发明所提出的依赖关系解析方法、电子装置、计算机设备及可读存储介质,首先根据数据处理任务生成对应的结构化查询语言脚本文件所包含的一个或者多个结构化查询语言语句,根据结构化查询语言语句的列和转换操作组成系谱树,构成节点,再通过节点之间的关系获取关键词、目标表、来源表;在获取关键词分别目标表和所源表之间的依赖关系,因此,可是实现针对一个数据处理任务的过程中,自动进行依赖关系的分析,所以对所输入的数据处理任务的容错率较高,即使在数据处理任务依赖关系错输的情况下,通过依赖关系分析依然可以获得正确的依赖关系,另一方面,通过系谱树能够实现清晰的关键词、目标表和来源表的展示,有助于进行任务解析,能够提高解析速度和解析效率,以提高解析质量。因此,能够减少用户编写程序中造成依赖关系引起的错误,容错率高。
附图说明
图1是本发明第一实施例之依赖关系解析方法的流程示意图;
图2是本发明第二实施例之依赖关系解析方法的流程示意图;
图3是本发明第三实施例之依赖关系解析方法的流程示意图;
图4是本发明实施例之电子装置一可选的应用环境图;
图5是本发明第一实施例之电子装置的硬件架构示意图;
图6是本发明第一实施例之电子装置的程序模块示意图;
图7是本发明第二实施例之电子装置的程序模块示意图;
图8是本发明第三实施例之电子装置的程序模块示意图。
附图标记:
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
为解决现有技术问题,如图1所示,本发明实施例提供了一种依赖关系解析方法,包括步骤如下:
S101,获取数据处理任务,并根据所述数据处理任务生成对应的结构化查询语言脚本文件。
可以理解的是,信息处理技术更加强调的是从海量数据中快速获得有价值信息的能力,因此,当数据量日益增大的时候,数据处理任务的高效型和准确性也随之提出更高的要求。
本领域技术人员可以理解的是,结构化查询语言脚本文件中可以包含多个结构化查询语言脚本语句,或者按功能来分包括执行多个功能的结构化查询语言脚本程序。
需要说明的是,由于数据处理任务是将关系数据库的所定义造成元数据表进行转换然后进行转换后的汇总,所以可以视为将数据处理任务进行分解。
示例性的,数据处理任务是任务1,任务1具体为:获取1个小时内,当type=1的时候,服务器A上访问的用户。因此,时间参数就是距当前时间1小时,任务维度参数为服务器A,执行参数为统计访问的用户,条件参数为type=1。管理员可以在管理界面上选择上述的数据处理参数,就可以生成一个实时数据处理任务。
本发明实施例中,在生成数据处理任务之后,将该数据处理任务转化为类SQL语句。例如,对于任务1“统计距现在1个小时,当type=1的时候服务器备A上访问的用户”,将这个任务转化为类SQL语句:select count(name)from table where type=1group byseverA,时间窗口为1小时。
示例性的,任务2是针对任务获得的结果P1中,编号为X的终端,select X fromP1。
示例性的,数据处理任务是:将表A和表B的数据关联,例如表A和表B中具有相同的名称的数据进行关联,生成表C,那么针对对于结构化查询语言脚本文件对应的程序来说,首先要确定表A中待关联的数据、表B中待关联的数据,然后通过结构化查询语言脚本程序将表A中待关联的数据、表B中待关联的数据进行关联汇总,生成表C。Select C from A andB,where A name=B name。
所以,需要获取的结构化查询语言脚本文件是需要包含上述功能的结构化查询语言脚本程序,从而确定对应的结构化查询语言脚本文件。
本发明的一种实现方式中,获取结构化查询语言脚本文件的方式可以有:通过任务调度接口,生成数据处理任务所对应的至少一个结构化查询语言脚本文件;或者;通过与设计监控周期,对数据库进行监控;获取数据处理任务,并根据数据处理任务生成至少一个结构化查询语言脚本文件。
可以理解的是,根据一个数据处理任务,可以生成一个或者多个结构化查询语言脚本文件。示例性的,如上述的任务1和任务2,可以是通过一条数据处理任务:统计距现在1个小时,当type=1的时候服务器备A上访问的用户并去重,则该任务对应上述两个SQL,也可以分成两个任务,每一个任务对应一个SQL。
此外,还可以通过任务调度接口能够获得数据处理任务所对应的所有结构化查询语言脚本文件,或者是在不断的对交互数据库进行监控,直到发现待处理的SQL为止。
S102,对所述结构化查询语言脚本文件中的每个结构化查询语言语句进行分析,获得每个结构化语言语句所对应的系谱树。
需要说明的是,系谱树是由数据库表中的列和转换操作组成的树,其中叶子节点是列,非叶子节点是转换操作。一种实现方式中,利用SQL分析查询中的输出和用于条件判断的列,计算出该SQL分析查询对应的系谱树。
具体实现中,首先将系谱树中的输出和条件初始化为空集,并使其分别对应SQL分析查询的输出和用于条件判断的列。为SQL的每一个列都创建一棵由该列组成的系谱树,然后根据列的执行顺序,自底向上按如下方式进行更新列所对应的系谱树,然后将该列的转换操作对应地拼接到这些系谱树上以得到一棵新的系谱树。可见,系谱树能够反映的是SQL在语句执行上的关系和顺序。
例如,当遇到条件判断操作,首先根据条件判断中的转换操作对系谱树进行更新,并将更新后的每棵系谱树放到条件集合中。当遇到UNION、INTERSECT和EXCEPT语句时,对于其两个子查询中每一组相对应的列,将两个列对应的系谱树通过一个空转换操作合成一棵新的系谱树。
S103,根据系谱树,获取关键词、目标表、来源表。
需要说明的,当遇到条件判断操作时,例如WHERE语句、HAVING语句、FROM语句等,因为条件起到连接的作用,是将该条件判断作为关键词。
又例如,当遇到UNION、INTERSECT和EXCEPT语句时,将UNION、INTERSECT和EXCEPT作为关键词,以起到连接的作用。
本发明的具体实现中,所述根据系谱树,获取关键词、目标表、来源表的步骤,包括:
基于系谱树,分析数据数据请求;基于所述数据数据请求,获取关键词、目标表、来源表。
因此,从上述系谱树中能够获得每一个输出所对应的条件,该条件就是关键词,此外,输出是用户为了得到的结果,结果为目标表;而得到结果的过程是实现数据请求的过程。因此,通过实现数据请求的过程可以获得结果对应的前端数据,因此,将前端数据作为来源表。
示例性的,针对系谱树J=(J.SHEET,J.asso,J.oper),对应的数据请求通过J.oper,在J.SHEET中寻找J.asso。
其中,J.SHEET代表了需要访问的数据表。J.asso是由查询所进行的数据访问组成的数组,其中每个数据访问包含一个列和对应的数据请求。J.oper是由关系组成的数组,其中,每一个请求操作对应了J.asso中的一个列。
因此,将J.asso中的一个列作为目标表,每个J.SHEET作为来源表,每一个J.oper对应一个关系,也就是关键词。
本领域技术人员可以理解的是,在一种具体的实现方式中,根据所述关键词,获取所述目标表和所述来源表之间的依赖关系表的步骤,包括:
S201,根据所述关键词,获取每一个目标表所对应的来源表,并形成所述目标表与所述来源表之间的对应关系。
由上述实施例可以得知,当目标表对应一个或者多个来源表时,则形成目标表与来源表之间的关系,依赖的条件就是关键词。
例如,需要获取的J.asso,寻找的范围是J.SHEET,而目标表和来源表之间的条件是J.oper列中的每一个,J.oper列也可以包含多个关系。而且只能是通过J.oper列所包含的关系去获得目标表。例如,在SQL为多个时,每一个SQL中至少包括一个条件,所以多个SQL则包含多个条件。
示例性的,以SQL语句:insert into table_A(value1,value2,value3,...)select fromB为例,通过词法分析可以识别出insert、into、select、from,会对应于系谱树中,并作为关键词。
S202,将所述对应关系确定为依赖关系。
示例性的,将需要获取的J.asso,寻找的范围是J.SHEET,依次从对应的列中进行取出,并且每一列的目标表和来源表会对应至少一个条件列,即是J.oper列中的一个,所以将每一个输入、输出和对应条件之间的关系确定为依赖关系,也就是对应的获得输出结果所采用的输入结果和关键词之间的对应关系作为依赖关系。
本领域技术人员可以理解的是,当一个目标表需要作为来源表,实现下一个系谱树的建立,则形成依赖关系。也就是前一个依赖关系实现后,后一个依赖关系才能够实现的基础上,则前一个依赖关系是父表,后一个依赖关系是子表。
在一种实现方式中,所述根据所述关键词、所述目标表和所述来源表,获取依赖表的步骤,包括:
S201,根据所述关键词和所述来源表,确定所述目标表对应的数据层级。
可以理解的是,例如,表A、表B、表C之间的关系是:表A需要同表D获得表E,然后表E同表B获得表C。
一种实现方式中,如图3所示,数据层级的确定包括:
S301,根据所述关键词和所述来源表,确定上游任务。
因此,在实现的时候,首先将关键词和对应的来源表进行排列,具体排列为,针对一关键词,判断该目标表是否作为其他关键词所对应的来源表,如果是,则该关键词和来源表所对应的任务是其他关键词所对应任务的上游任务。
S302,根据所述关键词和所述目标表,确定下游任务。
在实现的时候,首先将关键词和对应的来源表进行排列,具体排列为,针对一关键词,判断该来源表是否作为其他关键词所对应的目标表,如果是,将其他关键词所对应的是下游任务。
S303,确定所述上游任务和所述下游任务对应的依赖关系。
可以理解的是,只有当执行了上游任务以后才能够执行该上游任务对应的下游任务。
S304,根据所述依赖关系确定数据层级。
具体的,可以首先将关键词和对应的来源表进行排列,具体排列为,针对一关键词,判断该目标表是否作为其他关键词所对应的来源表,如果是,则将该目标表的数据层级作加1处理,直至所有关键词处理完毕,获取数据层级最高的目标表,作为输入;对应的最低的则为数据输出。
示例性的,表C-表E的转换关系中,如果要获得表C,则需要经历步骤:表A和表D获得表E,因为依赖关系是相对的,如果E和表E有依赖关系,显然上游任务就是获得表C,下游任务就是E。
S202,根据数据层级的最高级确定为数据输入,最低级确定为数据输出。
因此,在实现的时候,首先将关键词和对应的来源表进行排列,具体排列为,针对一关键词,判断该目标表是否作为其他关键词所对应的来源表,如果是,则将该目标表的数据层级作加1处理,直至所有关键词处理完毕,获取数据层级最高的目标表,作为输入;对应的最低的则为数据输出。
S203,根据输入和输出,确定目标表与来源表之前的对应关系。
可以理解的是,当数据层级越高,表示越多的目标表均依赖该层级高的以案例表来实现,所以需要首先获得该目标表,也就是说该目标表是其他目标表的输入,当其中一个目标表不做为任何一个目标表的输入,则表示,他是最重的输出,也就是获得的最重结果。
相较于现有技术,本发明所提出的依赖关系解析方法,首先根据数据处理任务生成对应的结构化查询语言脚本文件所包含的一个或者多个结构化查询语言语句,根据结构化查询语言语句的列和转换操作组成系谱树,构成节点,再通过节点之间的关系获取关键词、目标表、来源表;在获取关键词分别目标表和所源表之间的依赖关系,因此,可是实现针对一个数据处理任务的过程中,自动进行依赖关系的分析,所以对所输入的数据处理任务的容错率较高,即使在数据处理任务依赖关系错输的情况下,通过依赖关系分析依然可以获得正确的依赖关系,另一方面,通过系谱树能够实现清晰的关键词、目标表和来源表的展示,有助于进行任务解析,能够提高解析速度和解析效率,以提高解析质量。因此,能够减少用户编写程序中造成依赖关系引起的错误,容错率高。
参阅图4和图5所示,是本发明电子装置40一可选的应用环境示意图。
本实施例中,所述电子装置40可通过有线或无线方式与终端设备20以及数据库30进行通信。所述电子装置40通过网络接口43获取所述终端设备20的输入信息,根据获取到的输入信息经过处理后从数据库30中调取对应的依赖表,并将依赖表通过网络接口43发送于所述终端设备20的显示界面上,从而实现依赖关系解析后数据的传输。所述终端设备20包括手机、平板和个人计算机等。所述数据库30至少包括数据服务器。
参阅图4所示,是本发明电子装置40一可选的硬件架构示意图。电子装置40包括,但不仅限于,可通过系统总线相互通信连接存储器41、处理器42以及网络接口43,图4仅示出了具有组件41-43的电子装置40,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述电子装置40的内部存储单元,例如该电子装置40的硬盘或内存。在另一些实施例中,所述存储器也可以是所述电子装置40的外部存储设备,例如该电子装置40上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器41还可以既包括所述电子装置20的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述电子装置40的操作系统和各类应用软件,例如依赖关系解析系统44的程序代码等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述电子装置40的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的程序代码或者处理数据,例如运行所述依赖关系解析系统44等。
所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述电子装置40与其他电子设备之间建立通信连接。
至此,己经详细介绍了本发明相关设备的硬件结构和功能。下面,将基于上述介绍提出本发明的各个实施例。
首先,本发明提出一种电子装置40。
参阅图3所示,是本发明第一实施例之电子装置40的程序模块示意图。
本实施例中,所述电子装置40包括一系列的存储于存储器41上的计算机程序指令,当该计算机程序指令被处理器42执行时,可以实现本发明各实施例的依赖关系解析操作。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,电子装置40可以被划分为一个或多个模块。例如,在图6中,所述电子装置40可以被分割成第一获取模块401、获得模块402、第二获取模块403、第三获取模块404。其中:
第一获取模块401,用于获取数据处理任务,并根据所述数据处理任务生成对应的结构化查询语言脚本文件;
获得模块402,用于对所述结构化查询语言脚本文件中的每个结构化查询语言语句进行分析,获得每个结构化语言语句所对应的系谱树;
第二获取模块403,用于根据系谱树,获取关键词、目标表、来源表。
第三获取模块404,用于根据所述关键词,获取所述目标表和所述来源表之间的依赖关系。
进一步地,第一获取模块401,用于:通过任务调度接口,获取数据处理任务中的至少一个结构化查询语言脚本文件;或者;通过与设计监控周期,对数据库进行监控;获取数据处理任务中的至少一个结构化查询语言脚本文件。
进一步地,第二获取模块403,用于:基于系谱树,分析数据数据请求;基于所述数据数据请求,获取关键词、目标表、来源表。
进一步地,第三获取模块404,用于:根据所述关键词,获取每一个目标表所对应的来源表,并形成所述目标表与所述来源表之间的对应关系;将所述对应关系确定为依赖关系。
如图7所示,进一步地,所述第三获取模块403包括:
第一确定子模块701,用于根据所述关键词和所述来源表,确定所述目标表对应的数据层级;
第二确定子模块702,用于根据数据层级的最高级确定为数据输入,最低级确定为数据输出;
第三确定子模块703,用于根据输入和输出,确定目标表与来源表之前的对应关系。
如图8所示,进一步地,第一确定子模块701,包括:
第一确定单元801,用于根据所述关键词和所述来源表,确定上游任务;
第二确定单元802,用于根据所述关键词和所述目标表,确定下游任务;
第三确定单元803,用于确定所述上游任务和所述下游任务对应的依赖关系;
第四确定单元804,用于根据所述依赖关系确定数据层级。
本发明还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备至少包括但不限于:可通过系统总线相互通信连接的存储器、处理器等。
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储电子装置20,被处理器执行时实现本发明的依赖关系解析方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种依赖关系解析方法,其特征在于,所述方法包括步骤:
获取数据处理任务,并根据所述数据处理任务生成对应的结构化查询语言脚本文件;
对所述结构化查询语言脚本文件中的每个结构化查询语言语句进行分析,获得每个结构化语言语句所对应的系谱树;
根据系谱树,获取关键词、目标表、来源表;
根据所述关键词,获取所述目标表和所述来源表之间的依赖关系。
2.根据权利要求1所述的一种依赖关系解析方法,其特征在于,所述获取数据处理任务,并根据所述数据处理任务生成对应的结构化查询语言脚本文件的步骤,包括:
通过任务调度接口,获取数据处理任务中的至少一个结构化查询语言脚本文件;
或者;
通过与设计监控周期,对数据库进行监控;
获取数据处理任务中的至少一个结构化查询语言脚本文件。
3.根据权利要求1所述的一种依赖关系解析方法,其特征在于,所述根据系谱树,获取关键词、目标表、来源表的步骤,包括:
基于系谱树,分析数据数据请求;
基于所述数据数据请求,获取关键词、目标表、来源表。
4.根据权利要求3所述的一种依赖关系解析方法,其特征在于,所述根据所述关键词,获取所述目标表和所述来源表之间的依赖关系的步骤,包括:
根据所述关键词,获取每一个目标表所对应的来源表,并形成所述目标表与所述来源表之间的对应关系;
将所述对应关系确定为依赖关系。
5.根据权利要求3或4所述的一种依赖关系解析方法,其特征在于,所述根据所述关键词,获取每一个目标表所对应的来源表,并形成所述目标表与所述来源表之间的对应关系的步骤,包括:
根据所述关键词和所述来源表,确定所述目标表对应的数据层级;
根据数据层级的最高级确定为数据输入,最低级确定为数据输出;
根据输入和输出,确定目标表与来源表之前的对应关系。
6.根据权利要求3或4所述的一种依赖关系解析方法,其特征在于,所述根据所述关键词和所述来源表,确定所述目标表对应的数据层级的步骤,包括:
根据所述关键词和所述来源表,确定上游任务;
根据所述关键词和所述目标表,确定下游任务;
确定所述上游任务和所述下游任务对应的依赖关系;
根据所述依赖关系确定数据层级。
7.根据权利要求6所述的一种依赖关系解析方法,其特征在于,所述方法还包括:
所述依赖关系中至少包括:任务主键、任务名称、任务的上游主键清单、任务的下游主键清单。
8.一种电子装置,其特征在于,所述装置包括:
第一获取模块,用于获取数据处理任务,并根据所述数据处理任务生成对应的结构化查询语言脚本文件;
获得模块,用于对所述结构化查询语言脚本文件中的每个结构化查询语言语句进行分析,获得每个结构化语言语句所对应的系谱树;
第二获取模块,用于根据系谱树,获取关键词、目标表、来源表;
第三获取模块,用于根据所述关键词,获取所述目标表和所述来源表之间的依赖关系。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述依赖关系解析方法的步骤。
10.一种可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1-7中任一项所述依赖关系解析方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910842245.1A CN110795455B (zh) | 2019-09-06 | 2019-09-06 | 依赖关系解析方法、电子装置、计算机设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910842245.1A CN110795455B (zh) | 2019-09-06 | 2019-09-06 | 依赖关系解析方法、电子装置、计算机设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110795455A true CN110795455A (zh) | 2020-02-14 |
CN110795455B CN110795455B (zh) | 2023-11-21 |
Family
ID=69427248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910842245.1A Active CN110795455B (zh) | 2019-09-06 | 2019-09-06 | 依赖关系解析方法、电子装置、计算机设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110795455B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111581207A (zh) * | 2020-04-13 | 2020-08-25 | 深圳市云智融科技有限公司 | Azkaban项目的文件生成方法、装置及终端设备 |
CN111736896A (zh) * | 2020-06-30 | 2020-10-02 | 中国工商银行股份有限公司 | 代码处理方法、装置、电子设备和介质 |
CN111797157A (zh) * | 2020-07-21 | 2020-10-20 | 政采云有限公司 | 一种数据处理方法、系统及电子设备和存储介质 |
CN112181374A (zh) * | 2020-09-25 | 2021-01-05 | 广州力挚网络科技有限公司 | 一种数据整合方法、装置、电子设备及存储介质 |
CN112989763A (zh) * | 2021-03-16 | 2021-06-18 | 平安付科技服务有限公司 | 数据获取方法、装置、计算机设备及存储介质 |
CN113094162A (zh) * | 2021-04-09 | 2021-07-09 | 中国工商银行股份有限公司 | 一种任务依赖关系更新方法、装置及存储介质 |
CN113110866A (zh) * | 2021-04-30 | 2021-07-13 | 深圳前海微众银行股份有限公司 | 一种数据库变更脚本的评估方法及装置 |
CN113486108A (zh) * | 2021-07-06 | 2021-10-08 | 建信金融科技有限责任公司 | 一种数据处理方法、装置、电子设备及计算机可读介质 |
CN113672674A (zh) * | 2021-07-15 | 2021-11-19 | 浙江大华技术股份有限公司 | 一种自动编排业务流的方法、电子装置和存储介质 |
CN114780648A (zh) * | 2022-04-19 | 2022-07-22 | 湖南长银五八消费金融股份有限公司 | 任务调度方法、装置、计算机设备、存储介质和程序产品 |
WO2022262240A1 (zh) * | 2021-06-17 | 2022-12-22 | 深圳前海微众银行股份有限公司 | 数据处理方法、电子设备及存储介质 |
CN116069671A (zh) * | 2023-03-20 | 2023-05-05 | 南京优测信息科技有限公司 | 跨语言软件源代码的综合依赖关系分析 |
CN113094162B (zh) * | 2021-04-09 | 2024-04-26 | 中国工商银行股份有限公司 | 一种任务依赖关系更新方法、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2811782A1 (fr) * | 2000-07-12 | 2002-01-18 | Jaxo Europ | Systeme de conversion de documents a structure arborescente par parcours selectif de ladite structure |
CN104216888A (zh) * | 2013-05-30 | 2014-12-17 | 中国电信股份有限公司 | 数据处理任务关系设置方法及系统 |
CN105589874A (zh) * | 2014-10-22 | 2016-05-18 | 阿里巴巴集团控股有限公司 | Etl任务依赖关系的检测方法、装置及etl工具 |
CN105912595A (zh) * | 2016-04-01 | 2016-08-31 | 华南理工大学 | 一种关系数据库的数据起源收集方法 |
CN106383855A (zh) * | 2016-08-31 | 2017-02-08 | 清华大学 | 一种针对sql分析查询的静态授权方法 |
CN107273504A (zh) * | 2017-06-19 | 2017-10-20 | 浪潮软件集团有限公司 | 一种基于Kudu的数据查询方法和装置 |
-
2019
- 2019-09-06 CN CN201910842245.1A patent/CN110795455B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2811782A1 (fr) * | 2000-07-12 | 2002-01-18 | Jaxo Europ | Systeme de conversion de documents a structure arborescente par parcours selectif de ladite structure |
CN104216888A (zh) * | 2013-05-30 | 2014-12-17 | 中国电信股份有限公司 | 数据处理任务关系设置方法及系统 |
CN105589874A (zh) * | 2014-10-22 | 2016-05-18 | 阿里巴巴集团控股有限公司 | Etl任务依赖关系的检测方法、装置及etl工具 |
CN105912595A (zh) * | 2016-04-01 | 2016-08-31 | 华南理工大学 | 一种关系数据库的数据起源收集方法 |
CN106383855A (zh) * | 2016-08-31 | 2017-02-08 | 清华大学 | 一种针对sql分析查询的静态授权方法 |
CN107273504A (zh) * | 2017-06-19 | 2017-10-20 | 浪潮软件集团有限公司 | 一种基于Kudu的数据查询方法和装置 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111581207A (zh) * | 2020-04-13 | 2020-08-25 | 深圳市云智融科技有限公司 | Azkaban项目的文件生成方法、装置及终端设备 |
CN111581207B (zh) * | 2020-04-13 | 2023-12-29 | 深圳市云智融科技有限公司 | Azkaban项目的文件生成方法、装置及终端设备 |
CN111736896A (zh) * | 2020-06-30 | 2020-10-02 | 中国工商银行股份有限公司 | 代码处理方法、装置、电子设备和介质 |
CN111736896B (zh) * | 2020-06-30 | 2024-03-12 | 中国工商银行股份有限公司 | 代码处理方法、装置、电子设备和介质 |
CN111797157A (zh) * | 2020-07-21 | 2020-10-20 | 政采云有限公司 | 一种数据处理方法、系统及电子设备和存储介质 |
CN111797157B (zh) * | 2020-07-21 | 2024-03-22 | 政采云有限公司 | 一种数据处理方法、系统及电子设备和存储介质 |
CN112181374A (zh) * | 2020-09-25 | 2021-01-05 | 广州力挚网络科技有限公司 | 一种数据整合方法、装置、电子设备及存储介质 |
CN112181374B (zh) * | 2020-09-25 | 2024-03-12 | 广州力挚网络科技有限公司 | 一种数据整合方法、装置、电子设备及存储介质 |
CN112989763B (zh) * | 2021-03-16 | 2023-04-28 | 平安付科技服务有限公司 | 数据获取方法、装置、计算机设备及存储介质 |
CN112989763A (zh) * | 2021-03-16 | 2021-06-18 | 平安付科技服务有限公司 | 数据获取方法、装置、计算机设备及存储介质 |
CN113094162A (zh) * | 2021-04-09 | 2021-07-09 | 中国工商银行股份有限公司 | 一种任务依赖关系更新方法、装置及存储介质 |
CN113094162B (zh) * | 2021-04-09 | 2024-04-26 | 中国工商银行股份有限公司 | 一种任务依赖关系更新方法、装置及存储介质 |
WO2022227566A1 (zh) * | 2021-04-30 | 2022-11-03 | 深圳前海微众银行股份有限公司 | 一种数据库变更脚本的评估方法及装置 |
CN113110866B (zh) * | 2021-04-30 | 2023-07-21 | 深圳前海微众银行股份有限公司 | 一种数据库变更脚本的评估方法及装置 |
CN113110866A (zh) * | 2021-04-30 | 2021-07-13 | 深圳前海微众银行股份有限公司 | 一种数据库变更脚本的评估方法及装置 |
WO2022262240A1 (zh) * | 2021-06-17 | 2022-12-22 | 深圳前海微众银行股份有限公司 | 数据处理方法、电子设备及存储介质 |
CN113486108A (zh) * | 2021-07-06 | 2021-10-08 | 建信金融科技有限责任公司 | 一种数据处理方法、装置、电子设备及计算机可读介质 |
CN113672674A (zh) * | 2021-07-15 | 2021-11-19 | 浙江大华技术股份有限公司 | 一种自动编排业务流的方法、电子装置和存储介质 |
CN114780648A (zh) * | 2022-04-19 | 2022-07-22 | 湖南长银五八消费金融股份有限公司 | 任务调度方法、装置、计算机设备、存储介质和程序产品 |
CN116069671A (zh) * | 2023-03-20 | 2023-05-05 | 南京优测信息科技有限公司 | 跨语言软件源代码的综合依赖关系分析 |
CN116069671B (zh) * | 2023-03-20 | 2023-06-16 | 南京优测信息科技有限公司 | 跨语言软件源代码的综合依赖关系分析 |
Also Published As
Publication number | Publication date |
---|---|
CN110795455B (zh) | 2023-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110795455B (zh) | 依赖关系解析方法、电子装置、计算机设备及可读存储介质 | |
CN110633292B (zh) | 一种异构数据库的查询方法、装置、介质、设备及系统 | |
CN110908997B (zh) | 数据血缘构建方法、装置、服务器及可读存储介质 | |
US8943059B2 (en) | Systems and methods for merging source records in accordance with survivorship rules | |
WO2017019879A1 (en) | Multi-query optimization | |
CN106062751B (zh) | 对与数据类型有关的数据剖析操作的管理 | |
US8219581B2 (en) | Method and system for analyzing ordered data using pattern matching in a relational database | |
US20200210427A1 (en) | Column lineage and metadata propagation | |
CN110688544A (zh) | 一种查询数据库的方法、设备及存储介质 | |
CN113051268A (zh) | 数据查询方法、数据查询装置、电子设备及存储介质 | |
CN115543402B (zh) | 一种基于代码提交的软件知识图谱增量更新方法 | |
CN112579586A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN108415998B (zh) | 应用依赖关系更新方法、终端、设备及存储介质 | |
US9367307B2 (en) | Staged points-to analysis for large code bases | |
CN113297057A (zh) | 内存分析方法、装置及系统 | |
CN110704472A (zh) | 数据查询统计方法及装置 | |
CN116483850A (zh) | 数据处理方法、装置、设备以及介质 | |
CN115114325B (zh) | 数据查询方法、装置、电子设备以及存储介质 | |
CN107273293B (zh) | 大数据系统性能测试方法、装置及电子设备 | |
CN113868138A (zh) | 测试数据的获取方法、系统、设备及存储介质 | |
CN114547083A (zh) | 数据处理方法、装置及电子设备 | |
CN113609128A (zh) | 生成数据库实体类的方法、装置、终端设备及存储介质 | |
US20170031909A1 (en) | Locality-sensitive hashing for algebraic expressions | |
CN110895529B (zh) | 结构化查询语言的处理方法及相关装置 | |
CN111563094A (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 |