mirror of
https://github.com/hpd840321/starRiverProperty.git
synced 2026-06-16 11:50:30 +08:00
8b15445328
Former-commit-id: 1de24b7eb79676d1aba9d799a58c5a753290cf52
11 KiB
11 KiB
访客调用楼层放开接口 日志分析
分析日期: 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% |
六、关键发现
-
全部成功 — 该时段内 37 次访客楼层授权操作全部成功,无任何失败/异常
-
两条路径并存 — 系统提供两种访客派梯方式:
- HTTP API(
AcsPersonController):响应式,单次处理,平均耗时 ~265ms - 平台端直接调用(
PersonRuleServiceImpl:196):批量/间隔式触发,可能来自管理后台或定时任务
- HTTP API(
-
高频被访人 —
835608431162683392和1084107118220513280合计被访问 19 次(占 51%),可能是公共区域/前台员工 -
热门楼层 — 7F、1F、28F、31F 占据前四,1F 可能为大厅/入口层
-
JWT 鉴权 —
zhongjian用户的操作均携带 JWT Bearer Token;username的操作无 Authorization header,可能通过网关统一鉴权 -
未观察到"放开"术语 — 日志中未出现"楼层放开"关键词,系统使用"派梯"(elevator dispatch)表示楼层权限
-
阈值差异 — 服务器 208 设备阈值 60.0,209 设备阈值 0.9(差异显著,可能为不同安全等级场景)
七、附:日志搜索命令
# 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