当前位置: 首页 > news >正文

【提效工具开发】Python功能模块执行和 SQL 执行 需求整理

需求梳理


背景

当前我们在IDE或MySQL查询工具中只能进行个人使用,缺乏共享功能,且在查询及数据统计上有一定的不便。为了改善这种情况,计划搭建一个Web平台,通过后台交互来提升效率。此平台需要兼容Python工具和SQL工具的管理、执行与记录。


需求概述
  1. 工具管理模块

    • 平台支持Python和SQL工具的管理,包括工具的创建、更新、需求关联及执行记录保存。
    • 工具的基础信息包括:
      • 工具名称
      • 创建人、更新人
      • 创建时间、更新时间
      • 工具类型:推荐用字符串(如"SQL", “Python”)标识类型,便于扩展。
  2. 需求与工具的关联关系

    • 需求表中的需求 (也可以不关联,我们是和需求做强关联) 可以关联多个工具,采用一对多的外键约束。
    • 需求删除时将弹出确认,用户可选择是否删除关联工具。
  3. 代码管理模块

    • 设计与工具表关联的表来保存具体工具代码。
    • 表结构:
      • Python工具可关联多条Python文件记录,包含文件名称、路径和代码内容。
      • 必须指定一个文件为主文件 (main 文件),用于执行。
      • SQL工具关联一条SQL代码记录,无需文件名称。
    • Python代码存储于文件系统,并在表中保存路径。
  4. 执行记录管理

    • SQL工具执行记录
      • 记录执行的SQL语句、执行结果、错误信息、执行时间等。
      • 建议错误信息结构包括:错误代码、错误描述等。
    • Python工具执行记录
      • 记录执行人信息、执行结果(成功或失败)、执行日志(详细描述过程和结果)。
      • 记录主文件的路径和是否为main文件。
      • 记录执行开始和结束时间、执行消耗时间。

功能模块需求
  1. 工具执行模块(视图)
    • SQL工具执行

      • 支持接收SQL语句并执行,记录执行结果,包括执行SQL、结果和错误信息。
      • 增加执行安全性检查,如SQL注入防护、超时限制。
      • 异步执行,以避免页面卡顿。
    • Python工具执行

      • 从数据库中读取指定的main文件路径,确保有明确的执行入口。
      • 使用沙箱环境执行Python代码,隔离系统资源,防止安全风险。
      • 执行信息反馈到前端,包括详细结果和日志。
      • 异步执行,确保界面响应。

技术实现要求
  • 后端:使用Django REST Framework (DRF)实现API接口和数据管理功能。
  • 前端:element Vue2。

总结

在Python工具的代码管理中,明确了必须指定一个main文件作为执行入口,以确保执行过程中有明确的文件可供调用。同时在执行时从数据库中读取并验证main文件路径,确保安全执行。

歇后语

后边我会继续更新实现逻辑, 有需要的请关注我后续更新

http://www.lryc.cn/news/479289.html

相关文章:

  • Linux系列-进程的状态
  • SpringBoot项目中常用的一些注解
  • 【网络】自定义协议——序列化和反序列化
  • Pytorch如何精准记录函数运行时间
  • 使用 Java 实现邮件发送功能
  • html第一个网页
  • 前后端交互接口(三)
  • 华为Mate70前瞻,鸿蒙NEXT正式版蓄势待发,国产系统迎来关键一战
  • 【安卓13 源码】Input子系统(4)- InputReader 数据处理
  • Xserver v1.4.2发布,支持自动重载 nginx 配置
  • Java反射原理及其性能优化
  • RabbitMQ 管理平台(控制中心)的介绍
  • 【SQL】在 SQL Server 中创建数据源是 MySQL 数据表的视图
  • 现代Web开发:Next.js 深度解析与最佳实践
  • LeetCode题练习与总结:赎金信--383
  • eval: jdk1.8.0_431/jre/bin/java: Permission denied
  • .Net IOC理解及代码实现
  • 履带机器人(一、STM32控制部分--标准库)
  • 地理空间-Java实现航迹稀释
  • qt QHttpMultiPart详解
  • 【测试】【Debug】vscode中同一个测试用例出现重复
  • Mac上的免费压缩软件-FastZip使用体验实测
  • Linux(CentOS)运行 jar 包
  • 基于YOLOv8 Web的安全帽佩戴识别检测系统的研究和设计,数据集+训练结果+Web源码
  • LabVIEW VISA通信常见问题
  • Node.js Stream(流)以及模块系统使用介绍 (基础介绍 五)
  • 嵌入式linux中设备树控制硬件的方法
  • 定时器入门:Air780E定时器基础与进阶
  • Java LeetCode练习
  • go 集成go-redis 缓存操作