当前位置: 首页 > 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.mrgr.cn/news/67624.html

相关文章:

  • 【系统设计】提升Kafka系统性能:Spring Boot实现Lag感知的生产者与消费者
  • vue实战学习(1)(Vue概述、Vue学习方向)
  • 点云分割总结
  • Java Agent使用
  • 详解Rust标准库:VecDeque 队列
  • UE hard/soft reference| DDX DDY | Unity pcg color
  • 【C#】创建一个主菜单和弹出菜单系统
  • 归并排序:高效算法的深度解析
  • 卷积神经网络——pytorch与paddle实现卷积神经网络
  • 用ChatGPT完成高质量文献综述全过程实操指南,用高级学术版专业应用gpts轻松搞定
  • AndroidRuntime学习总结
  • C++对象模型:站在对象模型的尖端
  • QML中Var详细介绍
  • 掌握GLM-4大模型微调技巧:入门级实战教程——命名实体识别(NER)任务
  • WebAPI 初学 Visual Studio 2022,.NET 6.0(EF 代码迁移)
  • C++ Qt6 QtQuick/QML入门进阶与项目实战视频教程
  • 【代码分支管理】你知道什么 GitFlow 吗?
  • 你是否在为如何撰写国自然基金申请书而苦恼?快来轻松掌握申请技巧!脱颖而出
  • 2024-11-6----Android 11(全志713m)----- 关于添加 Selinux 权限
  • Call For Speaker! |2025中国国际音频产业大会(GAS)演讲嘉宾征集令启动!
  • Java基础使用①Java特点+环境安装+IDEA使用
  • 奇妙的交互,真的可以实现CanOpen转Profinet吗?
  • 欧协杯:射手缺席,紫百合远征塞浦路斯
  • java冒泡排序
  • 隐世绝秘天书,千门八将到底讲了什么,你之所以不成功,是没有人告诉你真相,你想知道吗?
  • 保护核心数据-----日记审计