diff --git a/src/.vuepress/navbar.ts b/src/.vuepress/navbar.ts index 7d9e3e7..3cfd70c 100644 --- a/src/.vuepress/navbar.ts +++ b/src/.vuepress/navbar.ts @@ -7,4 +7,9 @@ export default navbar([ icon: "mdi:laptop", link: '/programming/' }, + { + text: '工作', + icon: "mdi:laptop", + link: '/work/' + }, ]); diff --git a/src/.vuepress/sidebar.ts b/src/.vuepress/sidebar.ts index cba5399..e77b47f 100644 --- a/src/.vuepress/sidebar.ts +++ b/src/.vuepress/sidebar.ts @@ -1,4 +1,4 @@ -import {sidebar} from "vuepress-theme-hope"; +import { sidebar } from "vuepress-theme-hope"; export default sidebar({ "/programming/": [ @@ -6,26 +6,26 @@ export default sidebar({ text: "Java", collapsible: true, expanded: true, - icon: "mdi:language-java", + icon: "mdi:language-java", // 这个还是合适的 prefix: "java/", children: [ { text: "框架", - icon: "simple-icons:framework", + icon: "mdi:code-braces", // 更适合框架的图标 collapsible: true, prefix: "框架/", children: "structure", }, { text: "工具箱", - icon: "mdi:tools", + icon: "mdi:toolbox", // 更适合工具箱的图标 collapsible: true, prefix: "工具箱/", children: "structure", }, { text: "试题", - icon: "ic:baseline-question-answer", + icon: "mdi:comment-question", // 更适合试题的图标 collapsible: true, prefix: "AI试题/", children: "structure", @@ -36,12 +36,12 @@ export default sidebar({ text: "Linux", collapsible: true, expanded: true, - icon: "devicon:linux", + icon: "mdi:linux", // 这个仍然适用 prefix: "linux/", children: [ { text: "凝思", - icon: "simple-icons:linux", + icon: "mdi:linux", // 还是适合Linux的图标 collapsible: true, prefix: "凝思/", children: "structure", @@ -50,13 +50,26 @@ export default sidebar({ }, { text: "Docker", - // 可折叠 collapsible: true, - //是否展开 expanded: false, - icon: "devicon:docker", + icon: "mdi:docker", // 这个仍然适合Docker prefix: "docker/", children: "structure", } + ], + "/work/": [ + { + text: "日志", + collapsible: true, + expanded: false, + icon: "mdi:file-document", // 更适合日志的图标 + prefix: "log/", + children: "structure", + }, + { + text: "常用", + icon: "mdi:file", // 更通用的文件图标 + link: "/work/常用.md", + } ] }); diff --git a/src/programming/java/工具箱/RustDesk自建远程桌面服务器.md b/src/programming/java/工具箱/RustDesk自建远程桌面服务器.md index cc3443a..59b8279 100644 --- a/src/programming/java/工具箱/RustDesk自建远程桌面服务器.md +++ b/src/programming/java/工具箱/RustDesk自建远程桌面服务器.md @@ -1,6 +1,6 @@ --- icon: tabler:device-desktop-analytics -date: 2025-07-04 +date: 2025-07.md-04 category: - 实用工具 tag: diff --git a/src/work/README.md b/src/work/README.md new file mode 100644 index 0000000..16be701 --- /dev/null +++ b/src/work/README.md @@ -0,0 +1,9 @@ +--- +title: 工作 +index: false +icon: laptop-code +category: + - 工作 +--- + + \ No newline at end of file diff --git a/src/work/log/2025-06.md b/src/work/log/2025-06.md new file mode 100644 index 0000000..fdee258 --- /dev/null +++ b/src/work/log/2025-06.md @@ -0,0 +1,123 @@ +--- +icon: bi:arrows-expand +date: 2025-06-01 +category: + - 日志 +tag: + - 个人日志 +title: 202506日志 +--- + +# 上周 +PR7050: + +1. 根据ue提供的模型文件重构了导入功能 +2. 新增构建状态管理及关联相关功能 +3. 图元服务适配了除了主设备-辅设备外的巡视设备相关图元信息查询接口 +4. 新增了动态路由的功能(根据辅设备自动生成菜单) + +巡视系统 + +1. 智能巡视系统新增四遥信号和点位关联的业务逻辑及巡视任务(c++未开始) +2. 新增巡视点位在线状态统计和最新巡视任务信息获取(100%) + +# 本周 + +## PR7050 + +1. 调整属性存储方式(100%) +2. 图元控制相关功能联调(遥控和遥设)(80% 未测试) +3. 三维告警初始化及告警推送相关功能(100%) +4. 业务上的图片存储地址调整(80% 测试流程存在问题 c++目前无法抓图 还需要调整excel导入导出图片位置) +5. PR7050系统依赖变更,需重新适配打包加密环境(0% 未开始) +6. 三维页面联动相关功能开发。查询构件台账 查询构件告警 (70% 待联调) +7. 完善三维启动程序(问题:三维提供的linux版本启动需要在linx80,需要ue去适配) +8. 问题:分析主机如何重ftp取文件(分析主机默认获取数据是根据FTP)(已解决) + +巡视系统 + +1. 智能巡视系统新增四遥信号和点位关联的业务逻辑及巡视任务(可以正常跑通 )(100%) + +## 主站 + +1. 功能测试(测试了自定义模板并修复了异常) +2. 处理了子系统上报数据异常问题 + +# PR7050 + +1. 完善了告警推送相关功能(100%) +2. 新增四遥信号值变化消息发布功能(100%) +3. 测试业务中调整为FTP文件处理的逻辑(50%,优先级最低。暂停中) +4. 参考重庆三维实现了多用户多个模型的业务逻辑(100%) +5. 图元服务新增 100(巡视设备类型)(100%) +6. 模型需要根据meta过滤数据(已完成) +7. 调整新版菜单结构(80%) +8. 图元相关服务调整(70%) + +### 问题: + +1. 测试流程存在问题, c++目前无法抓图 还需要调整excel导入导出图片位置 +2. 抓图、手动录像接口。如果原数据没有在/temp目录下,需要删除 +3. 本地录像失败 +4. 手动下载录像失败 + +## 巡视 + +1. 现场主站新增是否上送告警文件字段 (已完成) +2. 处理现场点位在线状态统计信息(新增机器人 无人机 声纹装置是否在线状态检测)(已完成) +3. 现场问题一些配置问题处理(已完成) +4. excel点位导入导出新增四遥信号 +5. 首页地图新增json格式(已完成) +6. 适配多ip统计信息(未开始 优先级 1)先查询双ip 作为新的类型双光谱云台(枪击,球机)。再查询其它类型(已完成) +7. 导入多个算法消失的问题(已完成) +8. YUFAN人脸门禁操作优化(待定) +9. 适配机器人直接上送分析结果的业务(已完成) + + + +## 主站 + +1. 巡视主机上报至主站需要新增任务模型(已完成) +2. 适配上报分析主机数据业务处理 (已完成) +3. 需要排除变电站为主站那个变电站,只显示子站,ips默认变电站为-1(待适配 优先级 2)(已完成) +4. 变电站新增公司字段信息(已完成) +5. 主站首页变电站状态调整,右下角告警等级及确认信息统计(已完成) +6. 适配主站的联动业务逻辑(已完成) +7. 适配主站超期逻辑(已完成) +8. 适配主站缺陷类型描述(已完成) +9. 主站新增变电站图标字段(已完成) + +## 区域主机 + +1. 下发任务时如果任务正在执行。计划不能删除 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/work/log/2025-07.md b/src/work/log/2025-07.md new file mode 100644 index 0000000..8405d65 --- /dev/null +++ b/src/work/log/2025-07.md @@ -0,0 +1,29 @@ +--- +icon: bi:arrows-expand +date: 2025-07-01 +category: + - 日志 +tag: + - 个人日志 +title: 202507日志 +--- + +## TODO +1. 判断ue文件是否存在,调整目录 + +## 2025-06-30 至 2025-07-04 + +**PRS-7950 巡视系统** +1. **巡视任务调度与执行逻辑优化**:重构了巡视任务的调度、执行和清理机制。通过优化调度策略、调整任务优先级和引入异步清理僵尸任务,提升了系统执行效率和稳定性。新增了唯一时间戳以确保计划的精确执行,并在执行数据中加入了时间记录,便于追踪与分析。 +2. **数据处理与查询逻辑重构**:优化了多个核心模块的数据查询和处理逻辑。在巡视设备查询中,统一使用 `patrolDeviceId` 作为关键索引。重构了机器人视频位置(`videopos`)的解析逻辑,以兼容字符串格式并增强了代码的健壮性。同时,优化了设备点位导出和视频设备状态数据的处理,提高了数据处理的准确性和效率。 +3. **功能新增与业务适配**:为适应机器人上送带有分析数据的业务场景,增加了新的设备查询方式和分析结果处理逻辑,并统一了结果发送格式。新增了巡视任务点位识别类型的枚举,为不同设备(主站、机器人)提供了差异化的分析类型支持。 +4. **修复与健壮性提升**:修复了多个关键问题,包括巡视报告无图导出失败、FTPS 根目录字段名错误以及日志输出错误等。在代码层面,通过增加空值检查、优化异常捕获和引入重试机制,显著提升了系统的稳定性和容错能力。 +5. **代码与配置同步**:为保持不同部署环境下的代码一致性,对部分主站特定的逻辑代码(如采集失败信息上报)进行了注释处理,并统一了非区域主机模式下的进度计算方式。 + +**PRS-7050 场站智慧管控** +1. **信号处理与操作控制模块发布**:新增 `cygbusiness-control` 模块,全面实现信号操作控制功能。支持对模拟量和状态量信号进行加解锁、延长有效期、人工置数/取反、告警抑制与恢复等精细化操作。该功能集成了审计日志,确保所有操作可追溯。 +2. **权限验证与安全强化**:为信号操作控制功能增加了严格的权限验证机制,实现了操作员与监护员的双重权限校验逻辑。同时,对用户权限菜单的获取逻辑进行了重构,简化了代码,提升了后端服务效率。权限跳过功能(`@EnableSkipAuth`)经历了临时开启用于测试和最终禁用的过程,以强化系统的安全配置。 +3. **构建、依赖及部署优化**:对 Maven 项目结构进行了系列重构,调整了模块的 `artifactId` 并更新了相关依赖引用。通过移除冗余依赖和插件、排除特定依赖冲突(`tomcat-embed-websocket`),优化了项目整体结构。同时,将静态资源路径和日志文件路径修改为相对路径,显著提高了项目的可移植性和部署灵活性。 +4. **后端服务与日志系统完善**:优化了 Actor 子节点的处理逻辑,通过增加过滤条件提高了数据处理的准确性。为多个模块(如 `platform`, `sunri-service-report-starter`)添加了详细的 `logback-config.xml` 配置文件,实现了日志的彩色输出、分级管理和按日期滚动,提升了系统的可维护性。 +5. **数字孪生(Twins)功能优化**:对三维模型的导入功能进行了持续优化,提升了模型处理的效率和稳定性。 + diff --git a/src/work/常用.md b/src/work/常用.md new file mode 100644 index 0000000..178a52f --- /dev/null +++ b/src/work/常用.md @@ -0,0 +1,488 @@ +--- +icon: bi:arrows-expand +date: 2025-07-10 +category: + - 常用 +tag: + - 工作常用 +title: 工作常用 +--- + + + + +```json +scp -r -P 10022 sunri@10.6.221.209:/home/sunri/V1.00_2024/binary/java/jar/x64/dist /home/sunri/PRS7950/binary/java/jar/x64 +scp -r -P 10022 sunri@10.6.220.209:/home/sunri/V1.00_2024/resource/conf/dbmanager /home/sunri/PRS7950/resource/conf/ +scp -r -P 10022 sunri@10.6.220.223:/home/sunri/docker/mavenRepository/com/sunri /home/sunri/.m2/repository/com +scp -r -P 10022 sunri@10.6.221.38:/home/sunri/V1.00_2024/packagemake/PRS-7950-IPS-V2.00-Beta-NewStart6-241212.tar.gz /home/sunri/Desktop/ +scp -r -P 10022 sunri@10.6.221.120:/home/sunri/PRS-7950/V1.00_2024/packagemake/PRS-7950-IPS-V2.00-Beta-NewStart6-241212.tar.gz /home/sunri/Desktop/ +scp -r -P 10022 sunri@10.6.213.128:/home/sunri/Desktop/sh/cygstart.xml /home/sunri/PRS7950/resource/conf + + + +//2024合并2.00 +svn merge -c 239816 http://10.6.220.216:8080/svn/houtai/001_后台软件/PRS-7950在线巡视/01_开发库/V1.00_2024/src_java/platapp +svn merge -c 239600 http://10.6.220.216:8080/svn/houtai/001_后台软件/PRS-7950在线巡视/01_开发库/V1.00_2024/resource/conf/dbmanager +svn merge -c 241108 https://10.1.0.101/svn/houtai/001_后台软件/PRS-7950在线巡视/01_开发库/V1.00_2024/src_java/platapp + +//2.00合并到2024 +svn merge -c 240928 http://10.6.220.216:8080/svn/houtai/001_后台软件/PRS-7950在线巡视/01_开发库/V2.00/src_java/platapp +svn merge -c 241091 https://10.1.0.101/svn/houtai/001_后台软件/PRS-7950在线巡视/01_开发库/V2.00/src_java/platapp + +svn merge -c 237503 http://10.6.220.216:8080/svn/houtai/001_后台软件/PRS-7950在线巡视/01_开发库/V2.00/src_java/platform + +docker exec -it -e TERM=xterm jenkins-stand /bin/bash +scp -r -P 10022 sunri@10.6.220.107:/home/sunri/docker/mavenRepository/com/sunri /root/.m2/repository/com/ + +http://10.6.220.216:8080/svn/houtai/001_后台软件/PRS-7950在线巡视/01_开发库/V1.00_2024/src_java +https://10.1.0.101/svn/houtai/001_后台软件/PRS-7950在线巡视/01_开发库/V1.00_2024/src_java + +https://10.1.0.101/svn/houtai/001_后台软件/PRS-7950在线巡视/01_开发库/V1.00 + +https://10.1.0.101/svn/houtai/001_后台软件/PRS-7950在线巡视/01_开发库/V1.00_2024/src_java/platapp + +http://10.6.220.236:8080/svn/houtai/001_后台软件/PRS-7950在线巡视/01_开发库/V2.00/src_java/tool + +https://10.1.0.101/svn/houtai/001_后台软件/PRS-7950在线巡视/01_开发库/V2.00/src_java/tool + +http://10.6.220.216:8080/svn/houtai/001_后台软件/PRS-7050场站智慧管控/01_开发库/V1.00 +http://10.6.220.216:8080/svn/houtai/001_后台软件/PRS-7050场站智慧管控/01_开发库/V1.00/binary/java +http://10.6.220.216:8080/svn/houtai/001_后台软件/PRS-7050场站智慧管控/01_开发库/V1.00/src_java/platapp +http://10.6.220.216:8080/svn/houtai/001_后台软件/PRS-7050场站智慧管控/01_开发库/V1.00/src_web/prw +https://10.1.0.101/svn/houtai/001_后台软件/PRS-7050场站智慧管控/01_开发库/V1.00 +https://10.1.0.101/svn/houtai/001_后台软件/PRS-7050场站智慧管控/01_开发库/V1.00/src_java/platapp +https://10.1.0.101/svn/houtai/001_后台软件/PRS-7050场站智慧管控/01_开发库/V1.00/src_web/prw + + +-Djps.track.ap.dependencies=false +tgy Prs7950.sunri +Yzzx220 Yzzx@220901 +prs7000.sunri +CYGWEBMODE=DEV +file:/home/sunri/PRS7950/binary/java/jar/x64/dist/ +Yzzx@220901 +nohup /home/sunri/.jdks/idea/bin/idea.sh & +nohup /home/sunri/.jdks/java/idea/bin/idea.sh & +nohup /home/sunri/.mydata/idea/bin/idea.sh & 10.6.221.46 +nohup /home/sunri/Desktop/idea/bin/idea.sh & 10.6.213.128 +nohup ./AlgoSimulation > output.log 2>&1 & +# 查看程序可以防止grep出现在结果中 +pgrep -fl tcptester +liujing2 sunri@20230620*#& sunri@20230620*#& sunri2015.. sunri@2021*#& +pkill -15 -f java + +pgrep java | grep -v -E '1001|2002' | xargs kill -15 //排除指定pid +pkill -9 -f java + +10.6.220.50 +administrator@vsphere.local +Prs7950.sunri + +# c++编译代码 +cd src_cxx +CLEAN +qmake-qt4 CONFIG+=release +make -j8 +cd /home/sunri/CygLog/logspatrolcenter + + +[auth] +password-stores = +store-plaintext-passwords = yes + +//NVR +10.6.220.5 + +//主站 子站 +主站10.6.221.179 子站10.6.221.211 + +//win10 ssh异常 +ssh -o MACs=hmac-sha1 -p 10022 sunri@10.6.221.106 + +./xjar java -jar -Dplainload.dir.path=../../lib/common cyggridb.jar + +10.6.223.50登录,账号为liujing2@vsphere.local、密码为Aaaa@1234 + + +161550,OnlineMonitor#/udprecv/10.6.220.46/test.jpg,1; +161739,OnlineMonitor#/udprecv/10.6.220.46/test.jpg,2; +161950,OnlineMonitor#/udprecv/10.6.220.46/test.jpg,2 +``` + + + +| 属性 | 描述 | 类型 | 是否必填 | 值 | +| ------------------ | ---------------- | ------ | -------- | ----------------------------------------------- | +| dataclass | 数据类型 | string | 是 | FacialCamera | +| optype | 操作类型 | string | 是 | getFacialList | +| username | 操作人 | string | 是 | | +| condition | 参数 | object | 是 | | +| deviceid | 设备id | int | 是 | | +| result | 返回结果码 | int | 是 | | +| data | 返回结果 | object | 是 | 1-成功,0-失败 | +| errcode | 错误码 | int | 否 | | +| errmsg | 错误信息 | string | 否 | | +| facialControlLists | 人员控制名单列表 | array | 否 | | +| work_number | 人员工号 | string | 是 | | +| listType | 名单类型 | int | 是 | 1:白名单 2:访客 3:黑名单 | +| personnel_name | 人员名称 | string | 是 | | +| personnel_gender | 人员性别 | int | 是 | 0:未知 1:男 2:女 | +| facial_pic_path | 人员图像路径 | string | 是 | | +| card_number | 卡号 | string | 否 | | +| valid_begin_time | 有效开始时间 | string | 是 | yyyy-mm-dd hh:mm:ss,当listType为1时,该字段无效 | +| valid_end_tiime | 有效结束时间 | string | 是 | yyyy-mm-dd hh:mm:ss当listType为1时,该字段无效 | + +# 权限图 + +![image-20240513143908211](./assets/image-20240513143908211.png) + +# 问题 + +![image-20240716164500637](./assets/image-20240716164500637.png) + +```tex +检查下cygrunset的主机名和ip 或修改jkcfghostnode主机名和ip和一致 +``` + +# 杀死所有Java进程脚本.sh + +```tex +#!/bin/bash + +# 获取当前用户的所有 Java 进程的 PID,同时排除名为 Main 的进程 +pids=$(ps -u $USER -o pid,cmd | grep java | grep -v 'Main' | awk '{print $1}') + +# 检查是否获取到 PID +if [ -z "$pids" ]; then + echo "没有找到需要杀掉的 Java 进程。" + exit 0 +fi + +# 杀掉所有非 Main 的 Java 进程 +for pid in $pids; do + kill -9 $pid + echo "杀掉进程 $pid" +done + +echo "所有非 Main 的 Java 进程已被杀掉。" +``` + +# 间隔任务规范 + +## 1. 整体需要使用Quartz 框架实现 + +## 2. 间隔任务执行范围 + +间隔开始时间(interval_start_time)与间隔结束时间(interval_end_time) 范围之内,且在不可用开始时间与不可用结束时间范围之外。 + +## 3. 间隔为天的计算规则 + +1. 第一次执行:若间隔开始时间的yyyyMMdd,接interval_execute_time的HHmmss(记为 T0)在间隔执行的执行范围内,则T0为间隔任务的首次执行时间;若T0小于间隔开始时 间,则在T0基础上加上1天,并判断计算的时间是否在间隔执行时间范围内,若在,则该时间为首次执行时间,否则再在T0+1天基础上再增加1天,并做同上判断,依次类推, 直至获取第一次执行时间或超出间隔结束时间。 + +2. 非第一次执行:则判断上一次任务执行时间+interval_number天(记为Tn)是否在间隔 任务的执行范围内,若在,则为本次任务的执行时间;否则,在Tn基础上+interval_number 天,并做同上判断,直至获得本次任务执行时间或超出间隔结束时间。 + +## 4. 间隔为小时的计算规则 + +1. 第一次执行,若间隔开始时间的yyyyMMdd,接interval_execute_time的HHmmss(记为 T0)在间隔执行时间范围内之内,则T0为间隔任务的首次执行时间;若T0小于间隔开始 时间,则判断(T0+1天)是否在间隔执行时间范围内,若在,则(T0+1天)为首次执行 时间,否则在(T0+1天)基础上再增加1天,并做同上判断,直至获取第一次执行时间 或超出间隔结束时间。 +2. 非第一次执行,则判断上一次任务执行时间+interval_number小时(记为Tn)是否在间 隔任务的时间范围内,若在,则为本次任务的执行时间,否则,在Tn基础上 +interval_number 小时,并做同上判断,直至获得本次任务执行时间或超出间隔结束时间 + + + + + +### 项目:PRS-7050 场站智慧管控 + + + +------ + + + +#### 1. 数字孪生 (Twins) 与 UE (Unreal Engine) 功能深化 + + + +- 新增三维初始化告警、构件关联告警查询及构件台账查询等**核心接口**。 +- 完成 UE 服务端启动功能迁移,并实现基于 **WebSocket 的多用户、多模型进程管理及自动驱逐机制**。 +- 重构 Twins **属性管理、构件导入、XML 解析及关联关系处理**等核心逻辑,提升了数据处理效率与健壮性。 +- 持续优化 UE WebSocket 连接管理与错误处理逻辑,增强了系统稳定性。 + +------ + + + +#### 2. 信号处理与操作控制功能新增 + + + +- 增加四遥信号值变化的**发布订阅功能**,并新增巡视设备信号类型。 +- 新增完整的**信号操作控制模块**,支持模拟量、状态量信号的加/解锁与延期等操作,并集成**审计日志**。 +- 实现了配套的操作员与监护员**权限验证逻辑**,确保操作的合规性。 + +------ + + + +#### 3. FTP 与文件服务优化 + + + +- 实现文件上传至 **FTP 服务器**的功能,并适配相关业务模块。 +- 持续优化 FTP 功能,支持 **FTPS 安全连接**,并将文件操作路径调整为相对路径,增强了健壮性与部署灵活性。 + +------ + + + +#### 4. 后端服务性能与代码质量提升 + + + +- 通过引入 `@Lazy` 注解,对多个核心服务模块进行**延迟加载优化**,提升应用启动速度。 +- 修复了属性批量更新、SQL 查询、XML 解析数据不全及多模型加载等多个**已知问题**。 +- 对告警信息处理、台账查询等功能的实现进行了优化,提升了**接口性能**。 + +------ + + + +#### 5. 项目构建与依赖管理重构 + + + +- 全面梳理并重构了项目的 **Maven 依赖结构**,移除了冗余配置,统一了编译环境。 +- 调整了项目模块 `artifactId`、日志归档及静态资源路径,提升了可维护性与部署灵活性。 +- 根据功能模块化需要,新增、移除和调整了多个内部组件的依赖。 + +------ + + + +### 项目:主站与单站巡视系统 + + + +------ + + + +#### 1. 主站功能深度开发与适配 + + + +- **核心业务适配:** 全面适配和开发主站的巡视业务逻辑,包括接收子站上送的巡视结果、解析任务模型、处理联动任务及同步任务状态。 +- **组织架构扩展:** 为适应主站集中管理模式,在变电站、视频终端等树形结构中新增了“**公司**”层级,并对整体树结构的生成、查询及展示逻辑进行了深度重构和性能优化。 +- **数据处理增强:** 主站新增了对子站上报数据中“**缺陷类型**”字段的处理能力,并增加了任务超期逻辑处理,使管理和分析维度更丰富。 +- **功能与修复:** 新增了主站系统默认初始化 IPS、变电站信息增加在线状态等功能,并集中修复了主站模式下任务状态同步、数据关联、模型同步异常等多个问题。 + +------ + + + +#### 2. 设备工况统计与展示优化 + + + +- **统计范围扩展:** 重构了设备在线状态统计逻辑,扩展支持对机器人、无人机、声纹等多种设备类型的**在线率统计**,并新增对双光谱摄像机的工况统计。 +- **计算逻辑优化:** 采用 `BigDecimal` 优化在线率计算,避免了精度丢失和除零异常,提升了统计准确性。 +- **首页功能增强:** 首页右下角弹窗增加了对“**已确认告警**”的统计;新增变电站图标功能,提升了地图展示效果;地图文件新增支持 JSON 格式。 + +------ + + + +#### 3. 巡视与数据采集流程优化 + + + +- **在线监测强化:** 优化了在线监测和四遥信号的数据采集流程,新增了“**优先查询实时库,无数据则查询历史库**”的策略,确保数据完整性。 +- **任务流程优化:** 通过异步线程执行任务超期检查,避免了对主任务流程的阻塞,提升了系统响应速度。 +- **数据兼容性提升:** 适配了机器人巡视结果中直接包含分析数据的业务场景,并重构 `videopos` 解析逻辑以兼容不同数据格式,增强了系统的健壮性。 + +------ + + + +#### 4. 主子站数据交互与配置完善 + + + +- **数据上报机制:** 完善了子站向主站的数据上报内容,实现了子站联动任务模型的自动上报,并增加了采集失败时上送特定信息至主站的机制。 +- **配置项增加:** 新增了“**主站是否上传报警文件**”和“**FTPS 根目录**”等可配置项,提高了系统部署的灵活性。 +- **国际化支持:** 为 WebSocket 推送的部分告警字段增加了中英文**国际化支持**,可根据系统配置自动切换。 + + + + + + + + + + + +```tex +简历 + +个人信息: +- 姓名:(请提供您的姓名) +- 联系方式:(请提供您的联系方式) + +教育背景: +- 学历:(请提供您的学历) +- 专业:(请提供您的专业) + +技能和经验: +1. 编程语言和框架: + - 熟悉 Java 基础,包括异常、泛型、注解、反射和 IO。 + - 熟悉 Java 集合框架,对 HashMap 和 ArrayList 有深入研究,阅读过相关源码。 + - 熟悉 JVM 原理,常见垃圾回收算法、垃圾收集器、类加载过程,了解 JVM 参数调优。 + - 熟悉 Java 并发编程,对 Java 的线程池机制、Volatile、Synchronized、ThreadLocal 和 Atomic 原子类有一定的理解,并能够在项目中熟练使用。 + - 熟悉 Spring、SpringMVC、Springboot、Mybatis、MybatisPlus 等常用框架,多年实战经验并能快速构建项目。对 Spring 的 IOC 和 AOP,Springboot 的自动装配原理,自定义 Starter 和 Springboot 启动流程等有一定的理解。 + - 熟悉 SpringCloud/SpringCloud Alibaba(Feign、Gateway、Nacos、Sentinel、Seata 等),能够进行微服务项目快速搭建和开发。对微服务特点,服务治理有一定的理解。也具有项目开发经验。 + +2. 数据库和缓存: + - 熟悉 SQL 语言,熟练使用 Mysql、Oracle 等关系型数据库,熟悉 SQL 优化。对 Mysql 事务、索引,和存储引擎有一定的理解。 + - 熟悉 Redis。对 redis 数据结构、线程模型、持久化机制和内存管理有一定的了解。对 Redis 三大生产问题缓存穿透、缓存击穿和缓存雪崩有深入的研究。 + +3. 消息队列和搜索引擎: + - 熟悉 RocketMQ,能够对 RocketMQ 进行单机和集群环境搭建。了解 RocketMQ 的刷盘机制。对顺序消费、重复消费、广播消费和集群消费有一定的理解。具有 RocketMQ 和 Kafka 的实战项目经验。 + - 熟悉 Elasticsearch,能够进行集群的搭建。了解倒排索引,ES 系统架构。具有项目实战经验。 + +4. 操作系统和部署工具: + - 熟悉 Centos 系统和常用命令,能够熟练使用 Centos 和 docker 进行项目环境搭建和部署。 + +5. 前端技术: + - 熟悉 VUE,具有大屏和后台管理前端实战开发经验。 + +6. 版本控制和开发工具: + - 熟练使用 Git、Maven 和 Idea 等版本控制和开发工具,熟悉 UML 类图画法。 + +工作经验:(请提供您的工作经历) + +项目经验:(请提供您参与过的项目) + +自我评价:(请提供您的自我评价) +``` + + + +``` +2022.09-2024.05 +在工作期间参与了500kv远程巡视系统、区域主机巡视系统、边缘节点系统和目前正在研发的2024最新版规范的220和500规范的系统研发。 +主要职责: +1. 负责巡视任务相关核心业务代码开发和维护 +2. 负责一键顺控相关核心业务代码开发和维护 +3. 负责智能联动相关核心业务代码开发和维护 +4. 负责静默任务相关业务代码开发和维护 +5. 负责与智能分析主机交互相关业务代码维护 +6. 负责对接c++视频服务相关业务代码的编写 +7. 其余配置相关业务开发和维护 + + + + + +深圳市飞思捷跃科技有限公司——Java 开发——2022.09~2024.05 +外派到长园深瑞继保自动化成都分公司进行Java 开发工作 +项 目:500kV远程巡视系统、区域主机巡视系统、边缘节点系统,以及正在推进的符合2024 +最新标准规范的220kV与500kV系统研发 +技术框架:SpringBoot+SpringMVC+Mybatis+Redis+zookeeper+mqtt +Mysql+Hutool 等 +项目职责: +1. 负责巡视任务、一键顺控、智能联动、静默任务相关核心业务代码开发和维护 +2. 负责与智能分析主机交互相关业务代码维护 +3. 负责对接c++视频服务相关业务代码的编写 +4. 其余配置相关业务开发和维护 +负责各类配置业务的开发维护,亲赴项目现场进行问题诊断与新需求迭代实施 + + +成都四方创新科技有限公司——Java 开发——2021.11~2022.8 +项 目:音视频分析监控子系统 +项目介绍:音视频分析监控子系统实现对音视频数据接入、采集、存储、分析、管理、应用及 数据交互,通过视频监控和智能分析,实现视频设备集中管理、实时监控、同步切换、远程控 制、检索查询和智能分析等功能 +技术框架: SpringBoot + SpringMVC + MybatisPlus+Redis+SpringCloud Alibaba + SpringCloud + SaToken + Mysql+Hutool 等 +项目职责: +1. 配合产品分析项目需求,整理出项目功能清单。 +2. 熟悉选定厂家的系统和平台,对自己平台需要集成的功能模块接口进行测试和验证。 +3. 根据项目需求进行系统的数据库设计和详细设计文档编写 +4. 负责设备基础服务的设备管理、通道管理、设备类型、录像回放、实时预览等功能开发。 +5. 负责人脸微服务、结构化微服务、行为分析微服务和告警信息服务的开发。 + 通过 Feign 调用设备基础服务的通道树接口。获取创建任务的设备树信息并放入缓 存。 + 接收比特大陆推送的告警数据通过线程池的线程去处理原始告 警信息。并使用 CompletableFuture 处理本系统需要的告警(数据入库,图片上传图片服务器,发送 告警消息至 Kafka)。 + + 北京奥特贝睿科技有限公司——Java 开发——2020.03~2021.11 +项 目: 论论 APP +项目介绍: 一款为科研人员量身打造的 APP,可进行个人动态发布和他人动态的预览, 论文 搜索翻译等。 +技术框架:SpringBoot+MybatisPlus+Mysql+Elasticsearch+Redis+SpringSecurity + OSS + 阿里云短 信,百度翻译等技术。 +项目职责: +1. 登录注册使用 SpringSecurity 结合手机短信验证方式,成功后使用 Token 进行登录后的 身份和权限验证 +2. 用户行为分析统计, 根据用户操作日志, 计算浏览 APP 时间小于一定分钟后,进行时间 统计和汇总 +3. 论文搜索主要是根据论文标题、摘要、导师等在 Elasticsearch 进行数据搜索排序。 4. 对于一些访问量较大的动态进行热点数据缓存并设置过期时间。 +5. 负责整个项目的后台服务(登录注册, 动态模块, 论文模块, 用户评论, 消息通知, 用 户行为分析等) 接口编写和维护 + +项 目: 自动驾驶共享出行 APP +项目介绍: 自动驾驶共享出行 APP 是一款共享自动驾驶约车服务软件, 通过手机在线预约无人 驾驶车辆,实现简单出行 +技术框架: SpringBoot+Rocketmq+MyBatisPlus+Mysql+Redis+Netty +项目职责: +1. 接收车端发送至 Netty 服务器每五秒的 gps 信息后,推送数据至 mq。业务系统进行消费 并入库和实时推送至大屏等业务逻辑处理。 +2. 约车,取车,用车,还车等指令顺利到达 mq 并被业务模块消费 +3. 车端采集视频流发送至 netty,获取到数据通过 javacv 处理后转发至流媒体服务播放 +``` + +任务: + +```tex +1. patrol_his_linkage_seqctrl新增字段device_point_id +2. patrol_ips_device 新增voice_return_port +3. 巡视任务历史表新增主设备类型 +4. 调整所有摄像机控制到java +5. 红外图谱限制必须为红外摄像机 +6. 区域为边缘节点类型禁用通道号同步,摄像机台账需要新增关联硬盘录像机功能 +7. 修改端口 +8. 历史任务记录patrol_device_id未存 +9. 摄像机关联删除预置位 +``` + +1. 、调试声纹巡视任务执行逻辑 + +2. 调整声纹巡视任务告警上报逻辑 + +3. 调整声纹相关配置接口返回参数 + + + +```配置 +1. 配置技术规范2022 +2. 同步边缘节点摄像机配置 +3. 同步边缘节点摄像机预置位 +4. 区域同步边缘节点摄像机至区域,并修改信息 +5. 同步区域摄像机预置位 +6. 配置区域及边缘预置位 +7. 配置边缘点位并关联摄像机,同步点位至区域主机 +8. 区域主机配置巡视任务并关联点位 +9. 任务下发 +10. 执行任务 +``` + +```tex +声纹测试 配置技术规范2024 +``` + + + +流程图 + +1. 输入 + +/usr/lib/jvm/java-1.8.0-openjdk-amd64/bin/java -Dmaven.multiModuleProjectDirectory=/home/sunri/codes/V1.00/src_java/platform -Djansi.passthrough=true -Dmaven.home=/home/sunri/idea/idea-IC-251.25410.129/plugins/maven/lib/maven3 -Dclassworlds.conf=/home/sunri/idea/idea-IC-251.25410.129/plugins/maven/lib/maven3/bin/m2.conf -Dmaven.ext.class.path=/home/sunri/idea/idea-IC-251.25410.129/plugins/maven/lib/maven-event-listener.jar -javaagent:/home/sunri/idea/idea-IC-251.25410.129/lib/idea_rt.jar=43627 -Dfile.encoding=UTF-8 -classpath /home/sunri/idea/idea-IC-251.25410.129/plugins/maven/lib/maven3/boot/plexus-classworlds-2.8.0.jar:/home/sunri/idea/idea-IC-251.25410.129/plugins/maven/lib/maven3/boot/plexus-classworlds.license org.codehaus.classworlds.Launcher -Didea.version=2025.1.1.1 -DskipTests=true clean install -T 1C + + + +/usr/lib/jvm/java-1.8.0-openjdk-amd64/bin/java -Dmaven.multiModuleProjectDirectory=/home/sunri/codes/V1.00/src_java/platform -Djansi.passthrough=true -Dmaven.home=/home/sunri/tmp/apache-maven-3.8.8 -Dclassworlds.conf=/home/sunri/tmp/apache-maven-3.8.8/bin/m2.conf -Dmaven.ext.class.path=/home/sunri/idea/idea-IC-251.25410.129/plugins/maven/lib/maven-event-listener.jar -javaagent:/home/sunri/idea/idea-IC-251.25410.129/lib/idea_rt.jar=41069 -Dfile.encoding=UTF-8 -classpath /home/sunri/tmp/apache-maven-3.8.8/boot/plexus-classworlds-2.6.0.jar:/home/sunri/tmp/apache-maven-3.8.8/boot/plexus-classworlds.license org.codehaus.classworlds.Launcher -Didea.version=2025.1.1.1 -s /home/sunri/tmp/apache-maven-3.8.8/conf/settings.xml -DskipTests=true clean install -T 1C + + + + + + +