一种流程编排平台的数据库组件的创建方法与系统与流程
- 国知局
- 2024-11-06 14:39:37
本发明属于数据库,具体涉及一种流程编排平台的数据库组件的创建方法与系统。
背景技术:
1、数据库技术是通过研究数据库的结构、存储、设计、管理以及应用的基本理论和实现方法,并利用这些理论来实现对数据库中的数据进行处理、分析和理解的技术,其中,低代码平台使用动态sql执行sql查询语句,旨在提供更灵活、高效的查询方式。
2、目前市面上有很多低代码流程编排的快速开发平台,主要是对已经硬编码开发好的代码模块进行编排,但对于一些简单流程硬编码反而增加了复杂性,特别是大量的基础数据库操作是重复低效的,并不能保证某些常见的业务场景的执行效率,此外,在低代码流程编排的快速开发平台中频繁出现sql注入的状况,sql注入:指应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在应用程序中事先定义好的查询语句的结尾上添加额外的sql语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息;sql注入可导致数据泄露、数据被修改、数据完整性被破坏,甚至可以破解数据库密码,对数据库信息安全造成严重威胁。
技术实现思路
1、针对上述现有技术的不足,本技术提供一种流程编排平台的数据库组件的创建方法及系统。
2、第一方面本技术提出了一种流程编排平台的数据库组件的创建方法,所述方法包括:
3、新建业务交易服务接口,基于所述业务交易服务接口进入对应的流程编排界面,拖拽所述流程编排界面中的数据库组件至流程画布;
4、响应用户选择的数据库组件的sql类型、业务数据库表以及业务交易字段,对所述业务交易字段进行赋值,所述sql类型包括新增、修改、删除、查询和分页查询;
5、调用后台接口将前端流程编排中的信息保存至流程画布文件;
6、调用流程画布解析引擎解析执行所述流程画布文件,对所述流程画布文件中选择的数据库组件sql类型进行执行,执行完成后返回结果,组装成json数据放入到流程画布上下文中,流程画布上下文结果根据流程编排进行转换并返回响应数据,实现前端流程编排的数据库组件解析执行。
7、在一些实施例中,所述调用后台接口将所述数据库组件的赋值信息保存至流程画布文件,还包括:在保存过程中对所述前端流程编排中的信息的sql关键字进行校验,若后台接口检测到包括sql注入关键字则取消保存为流程画布文件,若不包括sql注入关键字则保存为所述流程画布文件。
8、在一些实施例中,所述根据所述业务数据库表选择对应的业务交易字段,并对业务交易字段进行赋值,包括:
9、将接口请求参数、函数、常量和流程中其他节点的返回值通过参数el表达式赋值给所述业务交易字段。
10、在一些实施例中,所述调用后台接口将前端流程编排中的信息保存至流程画布文件,在保存过程中对所述前端流程编排中的信息的sql关键字进行校验,若后台接口检测到包括sql注入关键字则取消保存为流程画布文件,若不包括sql注入关键字则保存为所述流程画布文件,包括:
11、调用接口将前端流程编排中的信息保存至流程画布文件中,其中,前端流程编排中的信息包括字段信息、表信息和条件信息,所述字段信息用于组装数据库组件的sql主体,所述表信息作为数据库组件的sql操作的业务数据库表,所述条件信息用于组装数据库组件的sql条件;
12、检查所述字段信息和所述条件信息中是否存在sql注入关键字,若所述字段信息和所述条件信息中的任一项包含所述sql注入关键字,则取消保存为流程画布文件, 若所述字段信息和所述条件信息中均不包含所述sql注入关键字,则保存为所述流程画布文件。
13、在一些实施例中,所述调用流程画布解析引擎解析执行所述流程画布文件,对所述流程画布文件中选择的数据库组件sql类型进行执行,执行完成后返回结果,组装成json数据放入到流程画布上下文中,流程画布上下文结果根据流程编排进行转换并返回响应数据,实现前端流程编排的数据库组件解析执行,包括:
14、步骤1:调起数据库组件解析执行类,并将流程引擎上下文传入所述数据库组件解析执行类;
15、步骤2:将数据库组件保存至流程画布文件中前端流程编排的信息转化为数据库组件节点定义类;
16、步骤3:根据数据库组件sql类型对sql进行组装,包括将数据库组件节点定义类中的字段信息组装数据库组件的sql主体,表信息作为sql操作的业务数据库表,条件信息作为组装数据库组件的sql条件;
17、步骤4:将sql组装过程中的参数el表达式替换为由业务数据库识别执行的sql语句;
18、步骤5:将所述步骤4中所有的参数el表达式放入参数集合中;
19、步骤6:遍历所述参数集合将参数el表达式传入流程引擎上下文,通过解析参数el表达式方法解析出对应数据,并再次检查确定运行态参数中不含sql注入关键字,防止sql注入,将替换后的实际值放入参数数组;
20、步骤7:根据选择的数据库组件sql类型调用业务数据库连接所述参数数组,并执行sql类型所对应的新增、修改、删除、查询和分页查询;
21、步骤8:执行完成后数据库组件中的查询组件会将查询或分页查询返回的字段值放入画布流程的上下文,数据库新增、修改、删除会将执行条数放入画布流程的上下文,已备在后续的流程画布中直接拖拽使用。
22、在一些实施例中,所述步骤3还包括:
23、组装sql时通过节点信息的字段sqltype将分页查询sql或常规sql进行区分,其中,分页查询sql需要再单独拼装一条查询总条数sql,根据sql类型来组装节点信息传入的值,得到适配业务数据库执行的sql语句。
24、在一些实施例中,所述步骤8还包括:
25、数据库组件返回的结果在流程画布后续的业务逻辑判断、业务逻辑处理和直接响应赋值中直接使用,表示在解析参数el表达式过程中得到数据库组件返回结果时的参数el表达式的实际值。
26、第二方面本技术提出一种流程编排平台的数据库组件的创建系统,包括可视化编排模块、sql关键字校验模块和解析模块;
27、所述可视化编排模块用于执行前端可视化流程编排步骤,所述前端可视化流程编排步骤包括:
28、新建业务交易服务接口,基于所述业务交易服务接口进入对应的流程编排界面,通过拖拽方式将流程编排界面中的数据库组件拖拽至流程画布中,并根据业务服务类别选择对应的数据库组件sql类型;
29、根据所述数据库组件sql类型选择对应的业务数据库表,所述业务数据库表包括当前业务交易服务接口对应微服务所使用的所有业务参数表和业务控制参数表,根据所述业务数据库表选择对应的业务交易字段,并对业务交易字段进行赋值,从而完成前端流程编排;
30、所述sql关键字校验模块用于执行sql关键字校验步骤,所述sql关键字校验步骤包括:
31、调用后台接口将前端流程编排中的信息保存为流程画布文件,在保存过程中对数据库组件信息和数据库组件解释执行时的sql关键字进行校验,若后台接口检测到包括sql注入关键字则取消保存为流程画布文件,若不包括sql注入关键字则保存为所述流程画布文件;
32、所述解析模块用于执行底层流程解析步骤,所述底层流程解析步骤包括:
33、调用流程画布解析引擎解析执行所述流程画布文件,对所述流程画布文件中选择的数据库组件sql类型进行执行,执行完成后返回结果,组装成json数据放入到流程画布上下文中,流程画布上下文结果根据流程编排进行转换并返回响应数据,实现前端流程编排的数据库组件解析执行。
34、第三方面本技术提出一种电子装置,包括存储器、处理器以及存储在所述存储器中并且可以在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。
35、第四方面本技术提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法的步骤。
36、本发明的有益效果:
37、本方案能实现数据库基础操作查询、分页查询、新增、修改、删除,支持通过可视化选择数据库表、选择字段、静态/动态赋值、函数处理、sql预览,无需编写程序即可实现,从而精简了大量的基础数据库操作,保证业务场景中流程编排的解析执行效率,并在数据库组件信息和数据库组件解释执行时对sql关键字进行校验,止出现sql动态注入风险,做到低代码开发,更安全便捷。
本文地址:https://www.jishuxx.com/zhuanli/20241106/323380.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表