C/S架构的应用程序开发实战(一)

2023-05-16

项目背景

近期需要开发一个对巨量的图片数据进行车辆品牌信息标注的工具,为了提高标注效率,准备先通过现有车辆品牌识别的算法模型进行下预标注,标注人员在此基础上进行审核和修改即可。另外,需要统计出各个品牌数据的数量等信息。

软件架构确定

用户是分散的,待标注数据量大而且通常存在用户PC机的磁盘上,软件做成一款即开即用的桌面应用是非常合适的。但考虑到要用算法进行预标注,算法模型运行要用到性能较好的GPU资源,为每个用户提供具有这样硬件资源的是不切合实际的,所以可以采用部署后端服务的方法。是采用C/S架构呢,还是B/S架构呢?针对实际应用场景,需要进行大量的数据交互,而且用户数也不算多,对实用性、稳定性的要求较高,因此决定采用C/S架构。
后端服务采用Flasky框架,主要对算法模型进行封装,数据库增删改查接口以及算法运行几个Restfull风格的API实现;数据库采用mysql,建立车辆品牌表;前端GUI采用PqQt5,通过http协议和后端进行通信。

设计方案

  1. 进一步确认沟通、细化需求。时间允许的话,最好进行评审,形成需求文档。
  2. 业务流程梳理。
  3. 数据库表单制定,示例如下图:
    在这里插入图片描述
  4. 接口设计,形成文档,示例如下图:
  • 方法 :POST
  • URI: /vehicle_label/algorithem/get_result
  • 数据格式:json
  • 请求参数:
    参数名 必选 类型 描述
    image 是 base64
  • 应答参数:
    参数名 必选 类型 描述
    errorCode 是 int
    desc 是 string
    result 否 Dic
  • 请求示例:
    {
    “image_data”: ***
    }
  • 应答示例:
    {
    “errorCode”: 0,
    “desc”: “成功”,
    “result”: {
    “brand_a”: “a027_Jeep”,
    “brand_b”: “a027b01_Jeep(进口)”,
    “brand_c”: “a027b01c07_牧马人”,
    “brand_d”: “a027b01c07d13_2010款”
    }
    }
  1. 前端
    时间允许的话,最后画出界面的设计示意图,作为前端界面开发的依据。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C/S架构的应用程序开发实战(一) 的相关文章

  • centos7防火墙配置详细(转载)

    一 条件防火墙是开启的 systemctl start firewalld 1 查看防火墙的配置 firewall cmd state firewall cmd list all 2 开放80端口 firewall cmd permanen
  • JAVA简单快速排序讲解

    首先 xff0c 我们来了解一下什么是快速排序 xff1a 所谓快速排序 xff0c 就是在冒泡排序的基础上进行改进 xff0c 延伸出来的一种跳跃性的排序方法 xff0c 我们都知道 xff0c 冒泡排序 xff0c 就是相邻两个数之间进
  • 基于 CentOS7 的 KVM 部署 + 虚拟机创建

    目录 一 实验环境二 部署 KVM三 创建虚拟机四 远程管理 KVM 虚拟机FAQ 一 实验环境 实验环境 xff1a VMware Workstation 16 Pro 打开虚拟机之前 xff0c 首先开启 VMware Workstat
  • 云原生|kubernetes|网络插件flannel二进制部署和calico的yaml清单部署总结版

    前言 xff1a 前面写了一些关于calico的文章 xff0c 但感觉好像是浅尝辄止 xff0c 分散在了几篇文章内 xff0c 并且很多地方还是没有说的太清楚云原生 kubernetes kubernetes的网络插件calico和fl
  • 在PROC程序中出现 "error: break statement not within loop or switch" 的原因。

    今天碰到一个问题 xff0c 如果proc预编译后生成的 c文件中有下面代码 xff1a if sqlca sqlcode 61 61 1403 break 如果在gcc编译时出现 error break statement not wit
  • Ubuntu18.04下ROS安装

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 Ubuntu操作系统版本对应二 安装ROS1 换源2 添加国内源3 设置密钥4 安装ROS5 初始化 rosdepc6
  • jdbc连接MySQL数据库的简单应用

    jdbc连接MySQL数据库和连接Oracle数据库大体步骤一样 xff0c 首先加载数据库驱动包 xff0c 然后创建数据库连接 xff0c 接着执行sql语句 xff0c 最后返回结果集 但连接MySQL我们需要导入的驱动包是mysql
  • Matlab学习笔记4——readtable

    Matlab学习笔记4 readtable 基于文件创建表 xff0c 第一行就作为表头 xff0c 如果取的表头符合matlab的命名规则 xff0c 那么该列直接如此命名 语法 T 61 readtable filename T 61
  • 【Mysql细节】插入日期数据报格式错误:Data truncation: Incorrect datetime value

    看图吧 xff1a 为什么会在插入的第四条数据报格式错误呢 xff1f 首先这些插入数据是直接复制的 xff08 不是纯手写 xff09 看到报错第一反应是不是觉得自己的数据格式有问题啊 xff0c 细看又没有发现有啥问题 那我是如何解决的
  • 联合索引的最左前缀匹配原则

    目录 联合索引 最左前缀匹配原则 最左匹配原则的成因 联合索引 所谓的联合索引就是指 xff0c 由两个或以上的字段共同构成一个索引 本文测试用例的数据表结构如下 xff0c 一张简简单单的学生信息表 tb student xff0c 仅包
  • KEIL下载程序失败系列问题

    发现问题 xff1a 例如 xff1a 当你使用keil下载程序时 xff0c 往往会出现以下类似问题 xff0c 下面带你解决问题 1 电源 xff1a one 首先 xff0c 当你做嵌入式方面工作 xff0c 出了问题重中之重就是检查
  • js各进制之间的相互转换

    size 61 medium 十进制转二进制 parseInt num toString 2 十进制转八进制parseInt num toString 8 十进制转十六进制parseInt num toString 16 二进制转十进制pa
  • linux|奇怪的知识---账号安全加固,ssh安全加固

    前言 xff1a 一般情况下 xff0c 我们对于账号的安全是比较随意的 xff0c 因为在生产环境里 xff0c 基本都是使用堡垒机这样的带有安全审计功能的工具对各个主机进行监控 xff0c 管理 xff0c 并且结合prometheus
  • Python 自学笔记

    前言 此Python3笔记仅为本人自学网络教学视频总结的笔记 xff0c 初衷仅为个人的学习和复习使用 xff0c 本人使用的编译器为Pycharm xff0c 内容仅供参考 xff08 俺是小白 xff0c 有不对的地方希望各位大佬指出
  • libcli工具的使用-命令行修改输入参数

    libcli工具的使用 命令行修改输入参数 libcli工具介绍 Libcli 提供了一个共享的 C 库 xff0c 用于将类似 Cisco 的命令行界面包含到其他软件中 它是一个 telnet 接口 xff0c 支持用户可定义的功能树的命
  • STM32无法连接JLink(Flash读写保护) 解决方法

    By Ailson Jack Date 2020 12 12 个人博客 xff1a 首页 说好一起走 本文在我博客的地址是 xff1a STM32无法连接JLink Flash读写保护 解决方法 说好一起走 xff0c 排版更好 xff0c
  • Softmax到AMSoftmax(附可视化代码和实现代码)

    Softmax nbsp 个人理解 在训练的时候 加上角度margin 把预测出来的值减小 往0那里挤压 离标注距离更大 减少训练得分 加大loss 增加训练收敛难度 不明白的有个问题 减去m后 如果出现负数怎么办 nbsp nbsp 以下
  • linux python保存mp4

    解决 python调用OpenCV 保存视频时使用 avc1 格式出现 Could not find encoder for codec id 27 Encoder not found的错误 此错误不能保存视频文件 以及使用 mpeg 格式

随机推荐

  • 在树莓派4B安装 scipy 笔记,不需要删除numpy,不需要mkl

    在树莓派4B安装 scipy 笔记 xff0c 不需要删除numpy xff0c 不需要mkl 参考官网 xff1a 不要用sudo xff0c 带上 user xff0c 否则有问题 xff0c 官网 最好用pip安装 python sp
  • LINUX基础试题大全(4)

    说明 xff1a 此文章由于题数庞大 xff0c 为方便阅读本人将其分为四篇文章为大家分享 xff01 答案会今后不断进行更新 xff01 LINUX基础试题大全 xff08 1 xff09 填空题题 LINUX基础试题大全 xff08 2
  • Oracle 创建用户

    span class token comment 查看表空间 span span class token keyword select span span class token operator span span class token
  • Win10 (mstsc)局域网远程桌面连接,超全面设置。(附带,外网远程连接mstsc)

    TCP IP xff08 Transmission Control Protocol Internet Protocol xff0c 传输控制协议 网际协议 xff09 是指能够在多个不同网络间实现信息传输的协议簇 TCP IP协议不仅仅指
  • postgresql |数据库 |数据库的常用备份方法总结

    前言 xff1a 数据库的重要性就不需要在这里重复了 xff0c 那么 xff0c 不管是测试环境 xff0c 还是开发环境 xff0c 亦或者是生产环境 xff0c 数据库作为系统内 xff08 项目内 xff09 的一个非常重要的组件
  • USB连接到centos7虚拟机出现错误(VMware USB Arbitration Service无法启动)

    USB连接到centos7虚拟机出现错误 有可能是因为VMware USB Arbitration Service出现无法自启动的问题 windows主机中WIN 43 R打开运行界面 xff0c 输入 接着查看VMware USB Arb
  • Centos7下配置网卡网桥

    简介 xff1a Linux系统下开启虚拟机需要配置网桥 xff0c 从而使得Linux系统里虚拟化软件的虚拟交换机与宿主机的物理网卡绑定一起 虚拟机与宿主机互相独立的IP 物理网卡监听这些IP xff0c 从而达到虚拟机与物理机在同一个局
  • 【玩转cocos2d-x之二十五】数据结构CCArray

    原创作品 xff0c 转载请标明 xff1a http blog csdn net jackystudio article details 16938787 CCArray是从cocos2d中移植过来的 xff0c 类似于Apple的NSM
  • 5、钉钉平台

    文章目录 文章目录 应用管理运行环境应用类型编程模式风神工作台基础应用信息接口权限应用发布 钉钉集成参数设置钉钉接口地址常量 钉钉集成登录钉钉事件回调接口注册通讯录事件回调群会话事件回调签到事件回调审批事件回调 日志管理签到事件回调审批事件
  • CentOS常用防火墙命令

    systemctl启动 停止 查看防火墙状态 systemctl从CentOS7 x开始引入的一个服务管理工具命令 xff0c 集 service和chkconfig的功能于一体 启动防火墙 systemctl start firewall
  • ARDUINO LCD显示简单的汉字、符号(二 已写成的字模和基于Python的检索系统)

    北 61 0x0A 0x0A 0x0A 0x1B 0x0A 0x0A 0x0A 0x1B 京 61 0x04 0x1F 0x0E 0x0A 0x0E 0x15 0x15 0x0C 市 61 0x04 0x1F 0x04 0x1F 0x15
  • MindSpore图像分类训练resnet50实现

    目录 一 mindspore简介 二 训练环境 三 数据集与数据加载 四 模型训练和验证 五 迁移学习 六 模型测试和导出 一 mindspore简介 MindSpore 是华为开源的全场景深度学习框架 xff0c 旨在实现易开发 高效执行
  • 最快的远程控制软件radmin的配置和使用

    Remote Administrator Radmin 是最快的远程控制软件 又因为它不被杀毒软件查杀 从而成为远程控制的首选 nbsp 一 radmin的配置 首先下载并解压Radmin2 1 解压后有七个文件 打开 配置r server
  • 介绍一个成功的 Git 分支模型

    英文原文 xff0c A successful Git branching model xff0c 翻译 xff1a 开源中国 在这篇文章中 xff0c 我提出一个开发模型 我已经将这个开发模型引入到我所有的项目里 xff08 无论在工作还
  • 浪潮服务器通过BMC远程安装系统

    浪潮服务器的BMC xff0c 类似于IBM服务器的IPMI xff0c 可以远程安装系统或者其他操作 前提 xff1a 1 带外ip xff1a 192 168 1 100 在bios的 lan channel 1 里面配置带外ip xf
  • Linux|错误集锦|prometheus Error on ingesting samples that are too old or are too far into the future的解决

    前情回顾 xff1a 二进制prometheus部署完成后 xff0c 在prometheus的web界面进行一些数据验证工作 下面这个是我已经恢复正常的 xff0c 其实是查询不到数据的 grafana也接收不到任何数据 问题排查 xff
  • 《软件工程导论》/ 第一章 软件工程学概述 / 1.3 软件生命周期

    概括地说 xff0c 软件生命周期由3个时期组成 xff0c 每个时期又进一步划分成若干个阶段 xff1a 软件定义 xff08 问题定义 可行性研究 需求分析 xff09 软件开发 xff08 总体设计 详细设计 编码和单元测试 综合测试
  • python开发PC端桌面应用

    项目场景 xff1a 很多情况下需要用很短的时间开发一款在windows上离线运行的小工具 xff0c 以便解决一些现实问题 比如公司近期有个紧急项目 xff0c 需要根据算法需求人工标注海量的地址信息 xff0c 开发周期和工具易用性上都
  • Vue和Flask实现前后端分离

    引言 近期了解了下目前比较热门的前端框架Vue js xff0c 新技能嘛 xff0c 只有实践了用起来了 xff0c 才能有比较直观的体验 因此考虑写个小demo练练手 xff0c 后端采用Flask提供几个Restfull风格的API
  • C/S架构的应用程序开发实战(一)

    项目背景 近期需要开发一个对巨量的图片数据进行车辆品牌信息标注的工具 xff0c 为了提高标注效率 xff0c 准备先通过现有车辆品牌识别的算法模型进行下预标注 xff0c 标注人员在此基础上进行审核和修改即可 另外 xff0c 需要统计出