From 1a5e3a734a07866c9a46e1b4e8267bcfbe7c6fe2 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 24 三月 2026 16:23:55 +0800
Subject: [PATCH] docs: add station v5 replace v4 design spec

---
 docs/superpowers/specs/2026-03-24-station-v5-replace-v4-design.md |  159 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 159 insertions(+), 0 deletions(-)

diff --git a/docs/superpowers/specs/2026-03-24-station-v5-replace-v4-design.md b/docs/superpowers/specs/2026-03-24-station-v5-replace-v4-design.md
new file mode 100644
index 0000000..b86862d
--- /dev/null
+++ b/docs/superpowers/specs/2026-03-24-station-v5-replace-v4-design.md
@@ -0,0 +1,159 @@
+# 杈撻�佺珯绾跨▼鐗堟湰鍚堝苟璁捐
+
+## 1. 鐩爣
+
+鏈鏀瑰姩鍙鐞嗚緭閫佺珯绾跨▼鐗堟湰鍚堝苟锛屾槑纭互 `ZyStationV5Thread` 鍏ㄩ噺鏇夸唬 `ZyStationV4Thread`銆�
+
+鐩爣濡備笅锛�
+
+- 杈撻�佺珯鍦ㄤ唬鐮佸眰鍙繚鐣� `ZyStationV5Thread` 杩欎竴鏉′富瀹炵幇銆�
+- `device_config.thread_impl` 瀵硅緭閫佺珯缁熶竴鏀跺彛鍒� `ZyStationV5Thread`銆�
+- 淇濈暀褰撳墠 V5 宸插叿澶囩殑鍒嗘涓嬪彂銆佽建杩硅褰曘�乣routeVersion` 鍗忓悓銆佸牭濉為噸瑙勫垝涓庣幆绾胯瘑鍒涓恒��
+- 鍒犻櫎 `ZyStationV4Thread` 鍙婂叾娈嬬暀鏃ч�昏緫锛屼笉淇濈暀杩愯鏃跺吋瀹瑰垎鏀��
+
+## 2. 闈炵洰鏍�
+
+浠ヤ笅鍐呭涓嶅湪鏈鑼冨洿鍐咃細
+
+- 涓嶆敼 `ZyStationV3Thread`銆�
+- 涓嶆敼 `ZyStationV4RealConnect`銆乣ZyStationV4FakeSegConnect` 鐨勭被鍚嶆垨鍗忚瀹炵幇銆�
+- 涓嶉噸鏋� `StationSegmentExecutor` 鐜版湁鍒嗘绠楁硶涓庣姸鎬佹祦杞��
+- 涓嶆敼鍓嶇 `deviceConfig` 椤甸潰浜や簰褰㈠紡锛岄櫎闈炰负缂栬瘧閫氳繃蹇呴』鑱斿姩銆�
+- 涓嶇粺璁℃暟鎹簱閲岀幇鏈夊灏戞潯 `ZyStationV4Thread` 閰嶇疆锛岀洿鎺ュ仛骞傜瓑杩佺Щ銆�
+
+## 3. 鐜扮姸
+
+褰撳墠杈撻�佺珯绾跨▼瀛樺湪浠ヤ笅鐘舵�侊細
+
+- [ServerBootstrap.java](/Users/xiejunjie/IdeaProjects/zy-wcs-master/src/main/java/com/zy/core/ServerBootstrap.java) 鍚屾椂鏀寔 `ZyStationV4Thread` 鍜� `ZyStationV5Thread` 涓や釜 Devp 鐗堟湰鍒嗘敮銆�
+- [ZyStationConnectDriver.java](/Users/xiejunjie/IdeaProjects/zy-wcs-master/src/main/java/com/zy/core/network/ZyStationConnectDriver.java) 鐪熷疄璁惧鍜� fake 璁惧閮芥妸 `ZyStationV4Thread` 涓� `ZyStationV5Thread` 瑙嗕负鍚屼竴鍗忚鏃忋��
+- [ZyStationV4Thread.java](/Users/xiejunjie/IdeaProjects/zy-wcs-master/src/main/java/com/zy/core/thread/impl/ZyStationV4Thread.java) 宸茬粡涓嶅啀璧拌嚜鏈夊垎娈典富閾捐矾锛屽疄闄呴�氳繃鎵ц鍣ㄤ笅鍙戯紝浣嗙被鍐呬粛娈嬬暀鏃х増鍒嗘瀹炵幇銆�
+- [ZyStationV5Thread.java](/Users/xiejunjie/IdeaProjects/zy-wcs-master/src/main/java/com/zy/core/thread/impl/ZyStationV5Thread.java) 鏄� V4 鐨勫姛鑳借秴闆嗭紝闄ゅ叡鐢ㄧ殑鐘舵�佽鍙栥�佸缓鍛戒护銆佷笅鍙戞棩蹇楀锛岃繕鎵挎媴鍫靛閲嶈鍒掋�佺幆绾胯瘑鍒笌鏇村畬鏁寸殑浼氳瘽鍗忓悓銆�
+
+鍩轰簬褰撳墠浠g爜锛宍V5` 宸茬粡鏄洿鍚堢悊鐨勫敮涓�鍩虹嚎锛岀户缁繚鐣� `V4` 鍙細閫犳垚鐗堟湰杈圭晫娣蜂贡銆�
+
+## 4. 閫夋嫨鏂规
+
+閲囩敤鈥滀互 V5 涓哄敮涓�鐗堟湰鈥濈殑鏂规锛�
+
+- 鍒犻櫎 `ZyStationV4Thread`銆�
+- 鍚姩鍏ュ彛鍙繚鐣� `ZyStationV5Thread` 浣滀负杈撻�佺珯鏂扮増鏈疄鐜般��
+- 杩炴帴椹卞姩瀵规柊鐗堟湰鍙瘑鍒� `ZyStationV5Thread`銆�
+- 閫氳繃 SQL 杩佺Щ鎶婃棫閰嶇疆鍊� `ZyStationV4Thread` 缁熶竴鏀规垚 `ZyStationV5Thread`銆�
+
+涓嶉噰鐢ㄢ�滆繍琛屾椂鍏煎 V4/V5 鍙岄厤缃�尖�濈殑鏂规锛屽洜涓鸿繖浼氱户缁繚鐣欏弻鐗堟湰鍋囪薄锛屼笌鈥淰5 鍏ㄩ噺鏇夸唬 V4鈥濈殑鐩爣鍐茬獊銆�
+
+## 5. 璁捐
+
+### 5.1 杩愯瀹炵幇
+
+杈撻�佺珯杩愯閾捐矾缁熶竴涓猴細
+
+1. `device_config.thread_impl = ZyStationV5Thread`
+2. `ServerBootstrap` 涓� Devp 鍒涘缓璁惧绾跨▼鏃跺彧瀹炰緥鍖� `ZyStationV5Thread`
+3. `ZyStationV5Thread` 璐熻矗锛�
+   - 璁惧杩炴帴涓庣姸鎬佽鍙�
+   - 浠� `MessageQueue` 鑾峰彇杈撻�佺珯浠诲姟
+   - 濮旀墭鍒嗘鎵ц鍣ㄥ鐞� `MOVE` 鍛戒护
+   - 閫氳繃 `sendCommand` 瀹為檯涓嬪彂鍛戒护骞惰褰� `BasStationOpt`
+4. `StationSegmentExecutor` 缁х画璐熻矗锛�
+   - 璺緞鍒囨
+   - 棣栨鍜屽悗缁垎娈电殑閲嶈瘯涓嬪彂
+   - 鍩轰簬褰撳墠浣嶇疆鍒ゆ柇鎻愬墠涓嬪彂鏃舵満
+   - 澶勭悊涓柇銆佽秴鏃躲�佸牭濉炪�佸畬鎴�
+   - 鏇存柊 trace 鍜� move coordinator
+
+### 5.2 V4 娓呯悊
+
+鍒犻櫎 `ZyStationV4Thread` 鏁翠釜绫伙紝鑰屼笉鏄彧鍒犳畫鐣欐柟娉曘�傚師鍥犳槸鏈鐩爣宸蹭粠鈥滄竻鐞� V4 娈嬬暀鈥濆崌绾т负鈥淰5 鍏ㄩ噺鏇夸唬 V4鈥濓紝淇濈暀绫绘枃浠跺彧浼氬舰鎴愰敊璇殑鍙敤鎬ф殫绀恒��
+
+### 5.3 鍚姩涓庤繛鎺ュ垎鏀敹鍙�
+
+闇�瑕佸悓姝ユ敹鍙d互涓嬩唬鐮佸垎鏀細
+
+- [ServerBootstrap.java](/Users/xiejunjie/IdeaProjects/zy-wcs-master/src/main/java/com/zy/core/ServerBootstrap.java)
+  - 鍒犻櫎 `ZyStationV4Thread` 鍒嗘敮
+  - Devp 鐗堟湰鍒ゆ柇鍙繚鐣� `ZyStationThread`銆乣ZyStationV3Thread`銆乣ZyStationV5Thread`
+
+- [ZyStationConnectDriver.java](/Users/xiejunjie/IdeaProjects/zy-wcs-master/src/main/java/com/zy/core/network/ZyStationConnectDriver.java)
+  - 鐪熷疄璁惧杩炴帴鏃跺彧瀵� `ZyStationV5Thread` 璧� `ZyStationV4RealConnect`
+  - fake 璁惧杩炴帴鏃跺彧瀵� `ZyStationV5Thread` 璧� `ZyStationV4FakeSegConnect`
+  - 閿欒鎻愮ず涓嶅啀鎻愬埌 `ZyStationV4Thread`
+
+杩欓噷鍗忚瀹炵幇绫诲悕浠嶄繚鎸� `V4`锛屽洜涓哄畠琛ㄨ揪鐨勬槸 PLC/杩炴帴鍗忚鏃忥紝鑰屼笉鏄嚎绋嬬増鏈�傜嚎绋嬬増鏈悎骞朵笉瑕佹眰鍚屾閲嶅懡鍚嶅崗璁疄鐜般��
+
+### 5.4 閰嶇疆杩佺Щ
+
+鏂板涓�鏉″箓绛� SQL 鑴氭湰锛屾妸鏃� Devp 閰嶇疆缁熶竴杩佺Щ鍒� `ZyStationV5Thread`锛�
+
+- 鏉′欢锛歚device_type = Devp` 涓� `thread_impl = ZyStationV4Thread`
+- 鍔ㄤ綔锛氭洿鏂� `thread_impl = ZyStationV5Thread`
+
+璇ヨ剼鏈笉渚濊禆浜嬪墠缁熻锛屽厑璁哥┖璺戙��
+
+## 6. 閾捐矾妫�鏌�
+
+### 6.1 杈撳叆
+
+- Devp 璁惧閰嶇疆涓殑 `thread_impl`
+- 杩愯鏃惰繘鍏ヨ緭閫佺珯绾跨▼鐨� `StationCommand`
+
+### 6.2 澶勭悊娴佺▼
+
+- 鍚姩鏃舵寜缁熶竴鍚庣殑 `thread_impl` 鍒涘缓 `ZyStationV5Thread`
+- 绾跨▼璇诲彇璁惧鐘舵�併�佹秷璐逛换鍔°�佹瀯閫犲懡浠ゆ垨璋冪敤閲嶈鍒掑叆鍙�
+- 鍒嗘鎵ц鍣ㄦ墽琛屽垎娈典笅鍙戜笌鐘舵�佹帹杩�
+
+### 6.3 鐘舵�佸彉鍖�
+
+- 浠g爜缁撴瀯浠� V4/V5 鍙岀嚎绋嬬増鏈敹鍙d负 V5 鍗曠増鏈�
+- 鏁版嵁搴撻厤缃�间粠 `ZyStationV4Thread` 鏀跺彛涓� `ZyStationV5Thread`
+- `routeVersion`銆乣traceVersion`銆佸牭濉為噸瑙勫垝鐘舵�併�丷edis key 涓嶅彉
+
+### 6.4 杈撳嚭
+
+- 杈撻�佺珯杩愯琛屼负浠ュ綋鍓� `ZyStationV5Thread` 涓哄噯
+- 鏂颁换鍔¤建杩逛腑鐨� `threadImpl` 灏嗙ǔ瀹氭樉绀轰负 `ZyStationV5Thread`
+
+### 6.5 涓婁笅娓稿奖鍝�
+
+- 涓婃父 `StationOperateProcessUtils` 缁х画閫氳繃 `StationThread` 鎺ュ彛璋冪敤锛屼笉闇�瑕佹敼鎺ュ彛
+- 涓嬫父璁惧杩炴帴浠嶄娇鐢ㄧ幇鏈� `V4` 鍗忚瀹炵幇绫伙紝涓嶅鍔犳柊鐨勫崗璁垎鏀�
+- V3銆佸墠绔建杩归〉闈€�佸垎娈佃建杩规暟鎹粨鏋勪笉闇�瑕佹敼鍔�
+
+## 7. 椋庨櫓涓庝繚鎶�
+
+### 7.1 椋庨櫓
+
+- 濡傛灉鍙垹浠g爜鍒嗘敮銆佷笉鏀规暟鎹簱閰嶇疆锛屾棫 `thread_impl = ZyStationV4Thread` 浼氬湪鍚姩鏃跺け鏁堛��
+- 濡傛灉鍚屾椂鏀圭嚎绋嬬増鏈拰鍗忚绫诲悕锛屼細鎵╁ぇ鑼冨洿骞舵彁楂樺洖褰掗闄┿��
+
+### 7.2 淇濇姢
+
+- 鐢� SQL 杩佺Щ鍏堟敹鍙i厤缃�硷紝鍐嶅垹闄� V4 鍚姩鍒嗘敮銆�
+- 淇濇寔鍗忚瀹炵幇绫讳笉鍔紝闄愬埗鍙樻洿鑼冨洿銆�
+- 涓嶆敼 `StationSegmentExecutor` 鐨勬棦鏈夎涓猴紝閬垮厤鎶婄増鏈悎骞跺拰绠楁硶璋冩暣鑰﹀悎銆�
+
+## 8. 楠岃瘉
+
+鑷冲皯鎵ц浠ヤ笅楠岃瘉锛�
+
+1. 鏂囨湰妫�绱㈢‘璁よ繍琛屾椂浠g爜涓嶅啀鎶� `ZyStationV4Thread` 褰撴垚鍙惎鍔ㄥ垎鏀��
+2. 鏂囨湰妫�绱㈢‘璁� `ZyStationConnectDriver` 鐨勬柊鐗堟湰璇嗗埆鍙繚鐣� `ZyStationV5Thread`銆�
+3. 鏂囨湰妫�绱㈢‘璁や粨搴撳唴涓嶅啀鏈変笟鍔′唬鐮佸紩鐢� `ZyStationV4Thread`锛岃縼绉� SQL 涓殑鏃у�煎紩鐢ㄩ櫎澶栥��
+4. 鎵ц `mvn -q -DskipTests compile` 杩涜缂栬瘧鏍¢獙銆�
+5. 濡傜幆澧冨厑璁革紝琛ュ厖涓�娆� `mvn -q -DskipTests package` 鎵撳寘鏍¢獙銆�
+
+## 9. 瀹炴柦娓呭崟
+
+- 鍒犻櫎 `src/main/java/com/zy/core/thread/impl/ZyStationV4Thread.java`
+- 淇敼 `src/main/java/com/zy/core/ServerBootstrap.java`
+- 淇敼 `src/main/java/com/zy/core/network/ZyStationConnectDriver.java`
+- 鏂板涓�鏉� Devp `thread_impl` 杩佺Щ SQL
+
+## 10. 鍋囪涓庢湭楠岃瘉鍓嶆彁
+
+- 鐢ㄦ埛纭閲囩敤 鈥淰5 鍏ㄩ噺鏇夸唬 V4鈥濓紝涓嶄繚鐣欒繍琛屾椂鍏煎銆�
+- 鐢ㄦ埛纭涓嶉渶瑕佺粺璁℃暟鎹簱閲岀幇鏈夊灏戞潯 V4 閰嶇疆銆�
+- 褰撳墠鏈獙璇佹暟鎹簱瀹為檯鏁版嵁鍒嗗竷锛岃縼绉昏剼鏈寜骞傜瓑鏂瑰紡璁捐銆�
+- 褰撳墠鏈獙璇佹墦鍖呯幆澧冩槸鍚﹀畬鏁达紝缂栬瘧鍜屾墦鍖呯粨鏋滈渶鍦ㄥ疄鏂介樁娈靛疄闄呮墽琛屽悗纭銆�

--
Gitblit v1.9.1