mirror of
https://github.com/hpd840321/starRiverProperty.git
synced 2026-06-16 20:00:29 +08:00
feat: add service config templates and extraction script
Former-commit-id: 1de24b7eb79676d1aba9d799a58c5a753290cf52
This commit is contained in:
@@ -0,0 +1,238 @@
|
||||
# 访客调用楼层放开接口 日志分析
|
||||
|
||||
**分析日期:** 2026-04-30
|
||||
**数据来源:** 3 台服务器(10.0.22.207~209)elevator-app 生产日志
|
||||
**日志范围:** 2026-04-30 全天
|
||||
|
||||
---
|
||||
|
||||
## 一、接口识别
|
||||
|
||||
| 属性 | 值 |
|
||||
|------|-----|
|
||||
| **接口名称** | 访客派梯接口(Visitor Elevator Dispatch) |
|
||||
| **入口 Controller** | `cn.cloudwalk.elevator.person.controller.AcsPersonController` |
|
||||
| **核心 Service** | `cn.cloudwalk.elevator.person.impl.PersonRuleServiceImpl` |
|
||||
| **线程模型** | `http-nio-16112-exec-*`(Tomcat 嵌入式 HTTP) |
|
||||
| **协议** | HTTP REST(直接请求,非 Feign 内部调用) |
|
||||
| **端口** | 16112 |
|
||||
| **Spring Profile** | `access-control` |
|
||||
|
||||
---
|
||||
|
||||
## 二、接口调用完整流程
|
||||
|
||||
```
|
||||
Step 1 AcsPersonController:59 → INFO 访客派梯接口请求开始
|
||||
参数: businessId, personId, visitorId, requestFloorSize, beginTime, endTime
|
||||
Step 2 PersonRuleServiceImpl:176/196 → INFO 根据被访人添加访客派梯权限开始
|
||||
参数: AcsPersonAddVisitorParam (floorIds[], timeRange)
|
||||
Step 3 PersonRuleServiceImpl:180 → INFO 访客派梯楼层决策开始
|
||||
callerProvidedFloors=true/false
|
||||
Step 4 PersonRuleServiceImpl:279 → INFO 访客派梯权限写入准备
|
||||
imageStoreId, floorSize
|
||||
Step 5 PersonRuleServiceImpl:239/303 → INFO 访客添加派梯权限开始
|
||||
写入规则数据 (zoneId, zoneName, parentRule)
|
||||
Step 6 PersonRuleServiceImpl:321 → INFO 访客派梯权限绑定图库成功
|
||||
Step 7 PersonRuleServiceImpl:329 → INFO 访客派梯权限更新规则引用成功
|
||||
Step 8 PersonRuleServiceImpl:331 → INFO 访客派梯权限处理完成
|
||||
Step 9 AcsPersonController:65 → INFO 访客派梯接口请求结束
|
||||
success=true/false, code, message
|
||||
```
|
||||
|
||||
**总日志条目数:** 86 条(完整流程跟踪)
|
||||
|
||||
---
|
||||
|
||||
## 三、HTTP 接口调用清单(7 次)
|
||||
|
||||
> 来源:`AcsPersonController:59` → `AcsPersonController:65`(通过 HTTP nio 线程的完整调用链)
|
||||
|
||||
| # | 请求时间 | 响应时间 | 耗时 | 服务器 | 线程 | 被访人(personId) | 访客(visitorId) | 楼层 | 到访时段 | 调用方 | 结果 |
|
||||
|---|----------|----------|------|--------|------|------------------|----------------|------|----------|--------|------|
|
||||
| 1 | 13:23:19.846 | 13:23:20.229 | ~383ms | **208** | exec-8 | 1084108444947398656 | 1102223662662270976 | 38F | 13:23~14:23 | zhongjian | ✅ success |
|
||||
| 2 | 14:10:38.996 | 14:10:39.206 | ~210ms | **208** | exec-5 | 823973510593769472 | 1102235571215421440 | 20F | 00:00~23:59 | username | ✅ success |
|
||||
| 3 | 16:03:36.857 | 16:03:37.307 | ~450ms | **208** | exec-6 | 964454497399468032 | 1102263999044743168 | 1F | 16:03~20:03 | zhongjian | ✅ success |
|
||||
| 4 | 16:17:47.011 | 16:17:47.177 | ~166ms | **208** | exec-6 | 1087071519357636608 | 1102267565343846400 | 7F | 16:17~次日06:17 | zhongjian | ✅ success |
|
||||
| 5 | 16:18:31.111 | 16:18:31.259 | ~148ms | **209** | exec-1 | 1087071519357636608 | 1102267749385883648 | 7F | 16:18~次日09:18 | zhongjian | ✅ success |
|
||||
| 6 | 17:08:03.211 | 17:08:03.361 | ~150ms | **207** | exec-4 | 835608431162683392 | 1102280216649682944 | 7F | 00:00~23:59 | username | ✅ success |
|
||||
| 7 | 17:10:58.602 | 17:10:58.953 | ~351ms | **207** | exec-5 | 883307982669344768 | 1102280951930654720 | 37F | 00:00~23:59 | username | ✅ success |
|
||||
|
||||
### HTTP 调用汇总
|
||||
|
||||
| 维度 | 统计 |
|
||||
|------|------|
|
||||
| 总调用数 | 7 |
|
||||
| 成功 | 7(100%) |
|
||||
| 失败 | 0 |
|
||||
| 平均耗时 | ~265ms |
|
||||
| 最快 | ~148ms(#5) |
|
||||
| 最慢 | ~450ms(#3) |
|
||||
|
||||
| 服务器 | 调用数 |
|
||||
|--------|--------|
|
||||
| 10.0.22.207 | 2 |
|
||||
| 10.0.22.208 | 4 |
|
||||
| 10.0.22.209 | 1 |
|
||||
|
||||
| 楼层 | 次数 |
|
||||
|------|------|
|
||||
| 7F | 3 |
|
||||
| 38F | 1 |
|
||||
| 20F | 1 |
|
||||
| 1F | 1 |
|
||||
| 37F | 1 |
|
||||
|
||||
---
|
||||
|
||||
## 四、平台端直接授权清单(30 次)
|
||||
|
||||
> 来源:`PersonRuleServiceImpl:196`(不经过 HTTP 接口,通过平台/JWT 直接调用,可能为批量操作或定时任务触发)
|
||||
|
||||
| # | 时间 | 服务器 | 被访人 | 访客 | 楼层 | 调用方 | 鉴权方式 |
|
||||
|---|------|--------|--------|------|------|--------|----------|
|
||||
| 1 | 08:49:44.060 | 207 | 835608431162683392 | 1102154810462326784 | 17F | username | 无鉴权 |
|
||||
| 2 | 08:59:00.006 | 209 | 835608431162683392 | 1102157142243692544 | 7F | username | 无鉴权 |
|
||||
| 3 | 09:13:47.733 | 207 | 835608431162683392 | 1102160865632194560 | 7F | username | 无鉴权 |
|
||||
| 4 | 09:26:57.215 | 207 | 835608431162683392 | 1102164176997470208 | 7F | username | 无鉴权 |
|
||||
| 5 | 09:50:11.318 | 209 | 1058698682545074176 | 1102170024296157184 | 14F | username | 无鉴权 |
|
||||
| 6 | 09:53:41.314 | 209 | 835608431162683392 | 1102170905011916800 | 7F | username | 无鉴权 |
|
||||
| 7 | 10:42:11.685 | 207 | 835608431162683392 | 1102183111996837888 | 7F | username | 无鉴权 |
|
||||
| 8 | 10:55:14.487 | 209 | 835608431162683392 | 1102186395370803200 | 16F | username | 无鉴权 |
|
||||
| 9 | 11:19:35.648 | 209 | 1080078783668654080 | 1102192523495063552 | 16F | zhongjian | JWT |
|
||||
| 10 | 11:20:15.413 | 207 | 1080078783668654080 | 1102192690361233408 | 16F | zhongjian | JWT |
|
||||
| 11 | 11:51:49.813 | 209 | 835608431162683392 | 1102200636407123968 | 16F | username | 无鉴权 |
|
||||
| 12 | 13:32:35.431 | 209 | 1082635377371615232 | 1102225992925278208 | 17F | zhongjian | JWT |
|
||||
| 13 | 13:34:25.367 | 209 | 1082635377371615232 | 1102226454357291008 | 17F | zhongjian | JWT |
|
||||
| 14 | 13:36:46.368 | 209 | 1082635377371615232 | 1102227045766737920 | 17F | zhongjian | JWT |
|
||||
| 15 | 14:15:24.063 | 209 | 1053987768004349952 | 1102236766301306880 | 1F,28~38F(11层) | zhongjian | JWT |
|
||||
| 16 | 14:18:34.671 | 209 | 823973510593769472 | 1102237566549200896 | 20F | username | 无鉴权 |
|
||||
| 17 | 14:30:51.910 | 209 | 835608431162683392 | 1102240658717429760 | 7F | username | 无鉴权 |
|
||||
| 18 | 14:34:55.732 | 209 | 823973510593769472 | 1102241681473294336 | 20F | username | 无鉴权 |
|
||||
| 19 | 14:58:21.864 | 208 | 1084107118220513280 | 1102247578667565056 | 1F,28F,31F | zhongjian | JWT |
|
||||
| 20 | 14:59:05.419 | 209 | 1084107118220513280 | 1102247761727963136 | 1F,31F,28F | zhongjian | JWT |
|
||||
| 21 | 14:59:43.580 | 208 | 1084107118220513280 | 1102247921828720640 | 1F,31F,30F,28F | zhongjian | JWT |
|
||||
| 22 | 15:00:19.291 | 209 | 1084107118220513280 | 1102248071548596224 | 1F,28F,31F | zhongjian | JWT |
|
||||
| 23 | 15:00:51.443 | 209 | 1084107118220513280 | 1102248206227550208 | 1F,28F,30F,31F | zhongjian | JWT |
|
||||
| 24 | 15:01:22.837 | 209 | 1084107118220513280 | 1102248338054692864 | 1F,28F,30F,31F | zhongjian | JWT |
|
||||
| 25 | 15:02:28.670 | 209 | 1084107118220513280 | 1102248614014709760 | 1F,28F,30F,31F | zhongjian | JWT |
|
||||
| 26 | 15:06:33.007 | 208 | 835608431162683392 | 1102249639376605184 | 7F | username | 无鉴权 |
|
||||
| 27 | 15:20:23.153 | 208 | 835608431162683392 | 1102253117473837056 | 17F | username | 无鉴权 |
|
||||
| 28 | 15:36:54.278 | 208 | 823973510593769472 | 1102257278244376576 | 20F | username | 无鉴权 |
|
||||
| 29 | 16:16:54.653 | 209 | 1087071519357636608 | 1102267345675710464 | 7F | zhongjian | JWT |
|
||||
| 30 | 16:29:26.678 | 208 | 964454497399468032 | 1102270499947507712 | 1F | zhongjian | JWT |
|
||||
|
||||
---
|
||||
|
||||
## 五、全量统计分析
|
||||
|
||||
### 服务器分布(总计 37 次)
|
||||
|
||||
| 服务器 | HTTP 接口 | 平台直接 | 合计 |
|
||||
|--------|----------|----------|------|
|
||||
| 10.0.22.207 | 2 | 5 | 7 |
|
||||
| 10.0.22.208 | 4 | 8 | 12 |
|
||||
| 10.0.22.209 | 1 | 17 | 18 |
|
||||
|
||||
### 被访人 TOP 10(总计 37 次)
|
||||
|
||||
| 被访人(personId) | 次数 |
|
||||
|------------------|------|
|
||||
| 835608431162683392 | 12 |
|
||||
| 1084107118220513280 | 7 |
|
||||
| 823973510593769472 | 4 |
|
||||
| 1087071519357636608 | 3 |
|
||||
| 1082635377371615232 | 3 |
|
||||
| 964454497399468032 | 2 |
|
||||
| 1080078783668654080 | 2 |
|
||||
| 1084108444947398656 | 1 |
|
||||
| 883307982669344768 | 1 |
|
||||
| 1058698682545074176 | 1 |
|
||||
| 1053987768004349952 | 1 |
|
||||
|
||||
### 楼层分布(总计 37 次)
|
||||
|
||||
| 楼层 | 次数 | 占比 |
|
||||
|------|------|------|
|
||||
| 7F | 11 | 29.7% |
|
||||
| 1F | 10 | 27.0% |
|
||||
| 28F | 8 | 21.6% |
|
||||
| 31F | 8 | 21.6% |
|
||||
| 30F | 5 | 13.5% |
|
||||
| 16F | 4 | 10.8% |
|
||||
| 17F | 5 | 13.5% |
|
||||
| 20F | 4 | 10.8% |
|
||||
| 37F | 2 | 5.4% |
|
||||
| 38F | 2 | 5.4% |
|
||||
| 14F | 1 | 2.7% |
|
||||
| 32F | 1 | 2.7% |
|
||||
| 33F | 1 | 2.7% |
|
||||
| 34F | 1 | 2.7% |
|
||||
| 35F | 1 | 2.7% |
|
||||
| 36F | 1 | 2.7% |
|
||||
|
||||
> 注:一次请求可包含多楼层,故楼层计数 > 请求总数
|
||||
|
||||
### 调用方分布
|
||||
|
||||
| 调用方 | 次数 | 鉴权方式 |
|
||||
|--------|------|----------|
|
||||
| zhongjian(认证用户) | 19 | JWT Bearer Token |
|
||||
| username(平台匿名) | 18 | 无额外鉴权 |
|
||||
|
||||
### 成功率
|
||||
|
||||
| 类型 | 总数 | 成功 | 失败 | 成功率 |
|
||||
|------|------|------|------|--------|
|
||||
| HTTP 接口 | 7 | 7 | 0 | 100% |
|
||||
| 平台直接 | 30 | 30 | 0 | 100% |
|
||||
| **合计** | **37** | **37** | **0** | **100%** |
|
||||
|
||||
---
|
||||
|
||||
## 六、关键发现
|
||||
|
||||
1. **全部成功** — 该时段内 37 次访客楼层授权操作全部成功,无任何失败/异常
|
||||
|
||||
2. **两条路径并存** — 系统提供两种访客派梯方式:
|
||||
- HTTP API(`AcsPersonController`):响应式,单次处理,平均耗时 ~265ms
|
||||
- 平台端直接调用(`PersonRuleServiceImpl:196`):批量/间隔式触发,可能来自管理后台或定时任务
|
||||
|
||||
3. **高频被访人** — `835608431162683392` 和 `1084107118220513280` 合计被访问 19 次(占 51%),可能是公共区域/前台员工
|
||||
|
||||
4. **热门楼层** — 7F、1F、28F、31F 占据前四,1F 可能为大厅/入口层
|
||||
|
||||
5. **JWT 鉴权** — `zhongjian` 用户的操作均携带 JWT Bearer Token;`username` 的操作无 Authorization header,可能通过网关统一鉴权
|
||||
|
||||
6. **未观察到"放开"术语** — 日志中未出现"楼层放开"关键词,系统使用"派梯"(elevator dispatch)表示楼层权限
|
||||
|
||||
7. **阈值差异** — 服务器 208 设备阈值 60.0,209 设备阈值 0.9(差异显著,可能为不同安全等级场景)
|
||||
|
||||
---
|
||||
|
||||
## 七、附:日志搜索命令
|
||||
|
||||
```bash
|
||||
# HTTP 接口调用(请求开始 + 响应结束)
|
||||
grep -h "访客派梯接口请求" */20260430*/logs*/elevator-app.log
|
||||
|
||||
# 平台端直接授权
|
||||
grep -h "根据被访人添加访客派梯权限开始" */20260430*/logs*/elevator-app.log
|
||||
|
||||
# 楼层决策详情
|
||||
grep -h "访客派梯楼层决策" */20260430*/logs*/elevator-app.log
|
||||
|
||||
# 权限写入确认
|
||||
grep -h "访客派梯权限处理完成" */20260430*/logs*/elevator-app.log
|
||||
|
||||
# 统计每台服务器调用量
|
||||
grep -c "根据被访人添加访客派梯权限开始" */20260430*/logs*/elevator-app.log
|
||||
|
||||
# 统计楼层分布
|
||||
grep -h "根据被访人添加访客派梯权限开始" */20260430*/logs*/elevator-app.log | \
|
||||
grep -o '"zoneName":"[^"]*"' | sort | uniq -c | sort -rn
|
||||
|
||||
# 统计被访人分布
|
||||
grep -h "根据被访人添加访客派梯权限开始" */20260430*/logs*/elevator-app.log | \
|
||||
grep -o '"personId":"[^"]*"' | sort | uniq -c | sort -rn
|
||||
```
|
||||
Reference in New Issue
Block a user