一种基于DAG的可视化数据加工方法技术

技术编号:36092660 阅读:12 留言:0更新日期:2022-12-24 11:10
本发明专利技术涉及数据处理技术领域,提供一种基于DAG的可视化数据加工方法,包括:创建节点配置;对节点配置中节点的连接方式进行校验;根据通过校验的节点配置生成可执行的SQL语句;对生成的SQL语句进行语法校验;执行通过语法校验的SQL语句。根据本发明专利技术示例性实施例的基于DAG的可视化数据加工方法,通过组件封装的方式降低数据处理的门槛,易于操作,适用于不熟悉数据库技术的开发人员;不再需要手工编写SQL语句,可以显著提高数据开发效率;支持操作多种数据库,避免了代码冗余、维护繁杂以及数据处理不稳定性等不足,降低数据开发成本,能够完成各种数据处理工作,并且有较好的扩展性和通用性。和通用性。和通用性。

【技术实现步骤摘要】
一种基于DAG的可视化数据加工方法


[0001]本专利技术涉及数据处理
,尤其涉及一种基于DAG的可视化数据加工方法。

技术介绍

[0002]随着互联网技术的高速发展,各行各业数据产生的速度不断提高,数据的数量也不断增长,因此,数据以及数据处理显得越来越重要。如何对各种数据进行收集、存储、整理、分类、统计、加工、利用,提取各种关键信息是当下大数据背景下尤为重要的事情。
[0003]目前主要是通过执行SQL语句的方式来对存储于各种数据库的数据进行操作,开发人员通过手动编写SQL语句,并通过各式连接工具连接数据库,将编写好的语句以文本或命令的方式在数据库中执行以获取结果。这种方式原始有效,不需要其他依赖和配置,但也在实际应用中,也存在以下问题:1.无直观的图形展示,SQL语句本身可读性差;2.编写SQL语句有一定技术门槛,且SQL语句本身排查错误困难,不易于维护。3.不同的数据库有不同的方言体系,并且数据库特性和支持的功能也不尽相同,并没有一个集成化的方式来统一处理不同数据库的数据。
[0004]因此,如何提供一种可读性高、易于维护以及通用性好的数据处理方法,成为亟待解决的技术问题。

技术实现思路

[0005]有鉴于此,为了提高数据处理的效率、通用性和可读性,同时降低数据处理的成本并提高数据处理的稳定性,本专利技术提供一种基于DAG的可视化数据加工方法。
[0006]本专利技术提供一种基于DAG的可视化数据加工方法,包括:步骤S1:创建节点配置;步骤S2:对节点配置中节点的连接方式进行校验;步骤S3:根据通过步骤S2校验的节点配置生成可执行的SQL语句;步骤S4:对步骤S3生成的SQL语句进行语法校验;步骤S5:执行通过语法校验的SQL语句。
[0007]进一步地,本专利技术基于DAG的可视化数据加工方法的步骤S1,包括:创建输入节点、处理节点和输出节点。
[0008]进一步地,本专利技术基于DAG的可视化数据加工方法的步骤S2,包括:校验节点配置中的输入节点是否为顶级节点;校验节点配置中的处理节点是否为中间节点;校验节点配置中的输出节点是否为最终节点。
[0009]进一步地,本专利技术基于DAG的可视化数据加工方法的步骤S3,包括:遍历节点配置中的节点,判断当前节点是否为输入节点,如果当前节点是输入节点,为当前节点创建SELECT语法模板,采用创建的SELECT语法模板生成当前节点的SQL语句,保存当前节点的字段列表和当前节点的SQL语句,判断当前节点是否为最终节点,如果
当前节点不是最终节点,遍历下一个节点;如果当前节点是最终节点,结束遍历,返回当前节点的SQL语句;如果当前节点不是输入节点,判断当前节点是否是节点配置中的重复节点,如果当前节点是节点配置中的重复节点,将重复节点的SQL语句进行合并生成当前节点的SQL语句,保存当前节点的字段列表和当前节点的SQL语句;判断当前节点是否为最终节点,如果当前节点不是最终节点,遍历下一个节点;如果当前节点是最终节点,结束遍历,返回当前节点的SQL语句;如果当前节点不是节点配置中的重复节点,判断当前节点是否为连接节点或集合节点,如果当前节点是连接节点或集合节点,获取当前节点上级所有节点的字段列表和SQL语句,根据当前节点的配置以及当前节点上级所有节点的字段列表和SQL语句生成当前节点的SQL语句,保存当前节点的字段列表和当前节点的SQL语句;判断当前节点是否为最终节点,如果当前节点不是最终节点,遍历下一个节点;如果当前节点是最终节点,结束遍历,返回当前节点的SQL语句;如果当前节点不是连接或集合节点,获取当前节点上一级别节点的字段列表和SQL语句,根据当前节点配置以及当前节点上一级别节点的字段列表生成新的SQL语句,采用子查询的方式将所述新的SQL语句嵌入上一级别节点的SQL语句,生成当前节点的SQL语句,保存当前节点的字段列表和当前节点的SQL语句;判断当前节点是否为最终节点,如果当前节点不是最终节点,遍历下一个节点;如果当前节点是最终节点,结束遍历,返回当前节点的SQL语句。
[0010]进一步地,本专利技术基于DAG的可视化数据加工方法的步骤S4,包括:采用封装的语法校验工具对每个节点的SQL语句进行语法校验,对语法错误的SQL语句对应的节点进行标记,并修改或重新创建所述被标记的节点。
[0011]进一步地,本专利技术基于DAG的可视化数据加工方法的步骤S4中,对语法错误的SQL语句对应的节点进行标记,包括:将语法校验产生的错误信息写入对应节点对象的属性,并通过页面展示。
[0012]进一步地,本专利技术基于DAG的可视化数据加工方法的步骤S5,包括:通过散列算法为步骤S3生成的SQL语句生成一个执行ID,并通过异步调用JDBC的方式将通过语法校验的SQL语句提交至对应的数据库执行。
[0013]进一步地,本专利技术基于DAG的可视化数据加工方法的步骤S5,包括:当SQL语句执行失败,将记录执行失败的错误日志通过消息队列返回给后端服务,后端服务再通过Websocket将错误状态和错误日志展示给前端,并重新创建节点配置。
[0014]进一步地,本专利技术基于DAG的可视化数据加工方法的步骤S5,包括:当SQL语句执行成功,判断是否有执行结果,如果有执行结果,将执行结果写入Elasticsearch,通过Websocket将执行状态发送至前端,前端通过当前SQL的执行ID调用接口从Elasticsearch获取对应的执行结果,以表格的形式展示在页面上。
[0015]进一步地,本专利技术基于DAG的可视化数据加工方法的步骤S5,包括:当SQL语句执行成功,判断是否有执行结果,如果没有执行结果,通过Websocket将执行成功但没有执行结果的状态发送至前端,通过前端进行展示。
[0016]本专利技术基于DAG的可视化数据加工方法,通过组件封装的方式降低数据处理的门
槛,易于操作,适用于不熟悉数据库技术的开发人员;不再需要手工编写SQL语句,可以显著提高数据开发效率;支持操作多种数据库,避免了代码冗余、维护繁杂以及数据处理不稳定性等不足,降低数据开发成本,能够完成各种数据处理工作,并且有较好的扩展性和通用性。
附图说明
[0017]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0018]图1为本专利技术示例性第一实施例基于DAG的可视化数据加工方法的方法流程图。
[0019]图2为本专利技术示例性第一实施例基于DAG的可视化数据加工方法的执行流程图。
[0020]图3为本专利技术示例性第二实施例基于DAG的可视化数据加工方法的执行流程图。
具体实施方式
[0021]下面结合附图对本专利技术实施例进行详细描述。
[0022]需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于DAG的可视化数据加工方法,其特征在于,所述方法,包括:步骤S1:创建节点配置;步骤S2:对节点配置中节点的连接方式进行校验;步骤S3:根据通过步骤S2校验的节点配置生成可执行的SQL语句;步骤S4:对步骤S3生成的SQL语句进行语法校验;步骤S5:执行通过语法校验的SQL语句。2.根据权利要求1所述的基于DAG的可视化数据加工方法,其特征在于,步骤S1,包括:创建输入节点、处理节点和输出节点。3.根据权利要求1所述的基于DAG的可视化数据加工方法,其特征在于,步骤S2,包括:校验节点配置中的输入节点是否为顶级节点;校验节点配置中的处理节点是否为中间节点;校验节点配置中的输出节点是否为最终节点。4.根据权利要求1所述的基于DAG的可视化数据加工方法,其特征在于,步骤S3,包括:遍历节点配置中的节点,判断当前节点是否为输入节点,如果当前节点是输入节点,为当前节点创建SELECT语法模板,采用创建的SELECT语法模板生成当前节点的SQL语句,保存当前节点的字段列表和当前节点的SQL语句,判断当前节点是否为最终节点,如果当前节点不是最终节点,遍历下一个节点;如果当前节点是最终节点,结束遍历,返回当前节点的SQL语句;如果当前节点不是输入节点,判断当前节点是否是节点配置中的重复节点,如果当前节点是节点配置中的重复节点,将重复节点的SQL语句进行合并生成当前节点的SQL语句,保存当前节点的字段列表和当前节点的SQL语句;判断当前节点是否为最终节点,如果当前节点不是最终节点,遍历下一个节点;如果当前节点是最终节点,结束遍历,返回当前节点的SQL语句;如果当前节点不是节点配置中的重复节点,判断当前节点是否为连接节点或集合节点,如果当前节点是连接节点或集合节点,获取当前节点上级所有节点的字段列表和SQL语句,根据当前节点的配置以及当前节点上级所有节点的字段列表和SQL语句生成当前节点的SQL语句,保存当前节点的字段列表和当前节点的SQL语句;判断当前节点是否为最终节点,如果当前节点不是最终节点,遍历下一个节点;如果当前节点是最终节点,结束遍历,返回当前节点的SQL语句;如果当前节点不是连接或集合节点,获取当前节...

【专利技术属性】
技术研发人员:汪诗祺韩志雄李双耿慧莉陈攀飞
申请(专利权)人:中国电子系统技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1