2021.11 ~2023.01 无锡文思海辉元辉科技有限公司
吉林时差培养系统
遇到的最大困境 :培养箱在运行过程中会产生一系列的数据 ,要上传到服务器 ,与评分软件进行同步。
最终解决方案 :在 MVC 框架下 ,创建辅助线程 , 队列线程 ,数据处理对象 ,服务管理模块对象 ,一个实时检测连接状 态的全局锁 ,辅助线程实现所有数据对象的异步传输(通过信号把封装好的网络数据对象通知队列线程放入队列里), 队列线程先进先出原则 ,把数据对象发送给数据处理对象进行上传 、 下传; 期间如果全局锁处于未释放状态,
将中断数据上传。
定量PCR仪系统
程序整体界面逻辑使用 QML 进行开发 ,底层通信与文件操作使用 c++进行 ,数据存储基于 xml 格式的文件; 文件的 导出会通过 Linux 的压缩命令进行压缩及加密; 程序基于 Linux 系统运行 ,通过串口与下位机通信。
相同点:
对客户提供的需求文档进行分析 ,形成分析报告 ,参与制定产品策略 ,设计业务流程并撰写需求文档, 与相关负责人进行协商 ,跟进技术开发进度 ,分析和优化产品不足 , 收集用户反馈 ,对产品进行迭代。
对项目的进度和质量进行把控 ,负责项目系统的更新以及日常维护工作。
2023.02 ~2024.03 南京优玛软件科技有限公司
实时宽频监测分析软件系统
问题1 :数据可视化监测模块中实时绘制通道的200ms采样波形时 ,对实时通道波形进行横向压缩和横向扩展过程中 , 由 于通道的采样数据是从子线程中实时获取并发送的 , 主线程中贸然改变子线程中要使用的200ms内采样点数 ,造成程序 崩溃。
解决措施 :把负责采样数据收发的子线程对象传递到采样波形类对象中 ,每次横向压缩或横向扩展时 ,先暂停子线程收发 采样数据 ,等到主线程把子线程中需要用到的采样点数更改后 ,再次恢复线程执行(通过共用互斥锁实现线程暂停或恢复)
问题2 :数据统计分析模块中对谐波幅值类型使用qcustomplot类绘制幅值变化曲线时 , 由于是从库表中查询历史数据 , 存在时间间隔不连续的情况 ,需要绘制曲线时 ,产生断线效果; 但qcustomplot类会默认把本该产生断线的地方 , 自动连 接上?
解决措施 :默认情况下 ,不管有没有断点产生 ,先把总秒数和对应的幅值赋给曲线对象grap中; 之后判断用于存储所有前 后断点的列表中是否有断点 ,如果有 ,就遍历整个断点列表 ,把每段的断线中产生的断点 ,用无穷大的数值(qQNaN()) 代替幅值,赋给曲线对象grap中 ,重新绘制 , 即可产生断线效果。
数据比对软件
问题 :加载完动态录波标准文件和动态录波比对文件后 ,启动以自动比对方式比对标准文件和比对文件中所有通道类型的数 据时 ,可以实时暂停和继续比对?
解决措施 :通过定义一个全局的、 用于阻塞子线程执行的条件变量QWaitConditon ,封装成静态接口; 和定义一个唤醒阻 塞子线程的静态接口; 之后在执行自动比对执行流程的子线程中 ,合适位置添加用于阻塞子线程的静态接口; 每次点击暂停 按钮 , 子线程执行到阻塞处 ,就暂停后续比对; 直到再次点击继续按钮 , 唤醒所有阻塞处 ,继续执行比对流程
2024.06 ~至今 万辰集团南京研发中心
POS收银系统
随时间轴 ,小票模块迭代过程中出现的疑难点及技术方案 难点一: 16钟小票类型x头尾独立模式的组合
方案一 :头尾独立预加载状态跟踪
难点二 :异步多阶段图片下载管线
方案二 :批量同步 +逐类型降级
难点三 :三级内存管理策略
方案三: 图片增量更新+MD5本地比对
难点四 :三种打印方式适配
方案四: 内存分级管理
难点五 :并发安全与状态一致性
方案五 :并发安全架构
2023.02 ~ 2024.03 南京优玛软件科技有限公司
★ 经讨论商定后 ,负责实时宽频监测分析软件架构设计; 期间主要负责主页面功能模块布局设计、数据可视化监测模块、 数据统计分析模块、数据比对模块(独立软件 , 单独调用) 、 告警事件监测模块、振荡分析模块、 配置模块、 工程数据文 件管理模块
★ 经讨论商定后, 负责数据比对软件架构设计; 期间主要负责模块: 主页面