零改造遷移實錄:2000+存儲過程從SQL Server滑入KingbaseES V9R4C12的72小時

摘要:在信創窗口期,我們把擁有2000+存儲過程、300+鏈接服務器的核心業務,從 SQL Server 2016/2019 平移到 KingbaseES V9R4C12(SQL Server 兼容版)。本文以 30 分鐘部署、TPCH 100G 性能 PK、真實踩坑修復、灰度割接 4 小時完成的全過程,給出一條“零改造代碼、零業務中斷、零 License 費用”的國產數據庫替代最短路徑,供同樣背負合規壓力的技術團隊參考。

目錄

一、為什么要“平替”

二、Windows與Linux安裝部署

2.1 下載與安裝

2.1.1 Windows下載與安裝:

2.1.2 Linux下載與安裝:

2.2?金倉數據庫開發工縣KStudio

2.3?創建兼容庫(Linux系統)

三、兼容性全景測試

3.1 特殊數據類型“一把梭”

3.2 語法糖:NOWAIT、SKIP LOCKED、FOR XML、TOP

3.2.1 行級鎖行為

3.2.2 FOR XML

3.2.3 TOP 子句

3.3 存儲過程與 T-SQL 細節

3.3.1 批處理 GO、PRINT、RAISERROR

3.3.2 “最后一個字段可加逗號”

3.4 JDBC 兼容測試

四、性能對比:TPCH 100G

4.1 硬件規格

4.2 測試方法

4.3 結果摘要(單位:秒)

五、踩坑與填坑

5.1 “IDENTITY_INSERT” 行為差異

5.2 全文索引

5.3 鏈接服務器

六、割接方案與回退策略

七、寫在最后


一、為什么要“平替”

過去十年,我們團隊的核心業務一直跑在 SQL Server 2016/2019 雙節點 AlwaysOn 集群上。隨著國央企信創節奏加快,繼續留在 Windows + SQL Server 技術棧不僅面臨合規風險,License 費用也逐年攀升。經過多輪 PoC,我們把目光鎖定在 KingbaseES V9R4C12(SQL Server 兼容版)——官方宣稱“數據庫平替用金倉”,推出低風險遷移方案,這些對背負 2000+ 存儲過程、300+ 鏈接服務器的系統來說,誘惑力極大。

本文記錄了一次“從下載到上線”的完整旅程:1.部署安裝-->2.兼容性驗證(數據類型、T-SQL、接口、工具鏈)-->3.性能對比-->4.踩坑與填坑-->5上線割接方案


二、Windows與Linux安裝部署

2.1 下載與安裝

金倉官網下載:https://www.kingbase.com.cn/download.html#database

2.1.1 Windows下載與安裝:

本文主要針對Windows系統進行交流體驗,分享給大家一起交流學習!打開上面金倉官網地址,然后篩選?V9R4C12(SQLServer兼容版),如下圖所示

然后選擇 X64_Windows(如下圖所示)

下面就開始下載,下載完成虎雙擊打開文件(如下圖所示)

然后會自動跳轉到下面這個驅動器,點擊KINGBSASE.EXE然后開始安裝(如下圖所示)

接下來就來到安裝程序圖,如下圖所示,點擊下一步

1.簡介,點擊接受然后下一步(如下圖)

2.許可協議,新手建議完全安裝(如下圖所示)

3.選擇安裝集,選擇想要安裝的位置,如下圖我選擇安裝在E盤上

4.選擇安裝文件夾,安裝(如下圖所示)

5.預安裝摘要、添加功能、選擇安裝集,系統自動安裝,如下圖所示:

6.正在安裝,選擇一個文件夾,用于存儲數據的,改文件夾必須為空(如下圖所示)

7.選擇文件夾,數據庫默認端口號:54321,用戶名:system,然后輸入對應的密碼(如下圖)

到這里就完成了Windows數據庫的初始化工作!

2.1.2 Linux下載與安裝:

官方下載頁提供了 Linux x86_64 一鍵 tar 包Windows GUI 安裝向導。如下圖所示,點擊下載

下載后如下圖所示,通過ftp方式上傳到Linux服務器上進行安裝

# 1. 創建 kingbase 用戶
useradd kingbase && echo 'kingbase ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers# 2. 解壓
tar -xzf kingbasees_v9r4c12_linux_x64.tar.gz -C /opt
chown -R kingbase:kingbase /opt/kingbase# 3. 初始化實例
su - kingbase
/opt/kingbase/install/initdb -D /data/kingbase -E UTF8 --locale=zh_CN.UTF-8
/opt/kingbase/install/kingbase -D /data/kingbase > kingbase.log 2>&1 &

2.2?金倉數據庫開發工縣KStudio

打開剛才安裝的工具Kstudio,如下圖所示

新建連接,注意密碼是剛才上面安裝設置的密碼,我這里剛才設置是:qwertyuiop123456

點擊測試連接,提示連接成功,如下圖:

(1)新建數據庫

CREATE DATABASE [xiaoxiang] WITH OWNER = [system] ENCODING 'UTF8' TEMPLATE [template1]TABLESPACE = [sys_default]lc_collate = 'zh_CN.UTF-8'lc_ctype = 'zh_CN.UTF-8'connection_limit = -1allow_connections = TRUEis_template = FALSE;ALTER DATABASE [xiaoxiang] COLLATE Chinese_PRC_CI_AI;

?(2)新增表

CREATE TABLE [public].[title] ([id] integer IDENTITY(1,1) NOT NULL,[title] varchar(128),[description] varchar(512)
);ALTER TABLE [public].[title] SET
TABLESPACE [sys_default];

(3)插入數據庫,可以手動寫sql,也可以界面操作,非常方便

INSERT INTO [public].[title]
([id], [title], [description])
VALUES(2, '電科金倉2025發布會', '電科金倉2025.07.15在北京舉行發布會');

(4)修改表數據

UPDATE [public].[title]
SET [id]=2, [title]='電科金倉2025發布會-通知2', [description]='電科金倉2025.07.15在北京舉行發布會2';

(5)刪除表數據

DELETE FROM [public].[title]
WHERE [id]=2 AND [title]='電科金倉2025發布會-通知2' AND [description]='電科金倉2025.07.15在北京舉行發布會2';

2.3?創建兼容庫(Linux系統)

KingbaseES 可以同時創建 Oracle 模式PostgreSQL 模式SQL Server 模式 三種庫。這里指定:

-- 通過 ksql 連接
CREATE DATABASE ss_app DBCOMPATIBILITY='mssql';
\c ss_app

注:DBCOMPATIBILITY 參數只能在建庫時指定,后續不可修改。


三、兼容性全景測試

3.1 特殊數據類型“一把梭”

SQL Server 的 ROWVERSION/TIMESTAMP、SQL_VARIANT、UNIQUEIDENTIFIER、SYSNAME 在 KingbaseES 中都有直接映射,測試腳本如下:

-- 1. ROWVERSION
CREATE TABLE t1 (id INT PRIMARY KEY,rv ROWVERSION
);-- 插入測試
INSERT INTO t1(id) VALUES (1),(2);
SELECT * FROM t1;
-- rv 字段自動遞增,行為與 SQL Server 完全一致-- 2. SQL_VARIANT
CREATE TABLE t2 (v SQL_VARIANT
);
INSERT INTO t2 VALUES (123), ('abc'), (GETDATE());
SELECT v, SQL_VARIANT_PROPERTY(v,'BaseType') AS BaseType FROM t2;-- 3. UNIQUEIDENTIFIER & NEWSEQUENTIALID()
CREATE TABLE t3 (gid UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID() PRIMARY KEY,name SYSNAME
);
INSERT INTO t3(name) VALUES ('體驗官');
SELECT * FROM t3;

結論:所有類型均可直接替換,無需改寫。

3.2 語法糖:NOWAIT、SKIP LOCKED、FOR XML、TOP

3.2.1 行級鎖行為
-- 會話 A
BEGIN TRAN;
UPDATE t1 SET id = id WHERE id = 1;-- 會話 B
SELECT * FROM t1 WHERE id = 1 NOWAIT;   -- 立即報錯
SELECT * FROM t1 WHERE id = 1 SKIP LOCKED; -- 跳過被鎖行
3.2.2 FOR XML
SELECT * FROM t3 FOR XML RAW, ROOT('root');

KingbaseES 支持 RAW、AUTO、EXPLICIT、PATH 四種模式,輸出與 SQL Server Management Studio 結果一致。

3.2.3 TOP 子句
SELECT TOP (3) WITH TIES * FROM t2 ORDER BY v;

WITH TIES 也支持,驚喜。

3.3 存儲過程與 T-SQL 細節

3.3.1 批處理 GO、PRINT、RAISERROR
PRINT N'開始同步...';BEGIN TRYINSERT INTO t1(id) VALUES (1/0);
END TRY
BEGIN CATCHRAISERROR('同步失敗:%s', 16, 1, ERROR_MESSAGE());
END CATCH;
GO -- 批處理分隔符
PRINT '完成';

注意點:

  • RAISERROR 語法完全一致,支持 WITH NOWAIT

  • THROW 同樣可用,與 SQL Server 2012+ 行為一致。

3.3.2 “最后一個字段可加逗號”
CREATE TABLE t4 (a INT,b INT,   -- 這里多了個逗號
);

KingbaseES 不會報錯,對老系統極其友好。

3.4 JDBC 兼容測試

我們原來的 Spring Boot + MyBatis 項目,連接串從

jdbc:sqlserver://...

改成

jdbc:kingbase8://...?compatibleMode=mssql

即可,無一行 Java 代碼改動

驗證五種存儲過程場景:

  1. 無參數

  2. IN 參數

  3. OUT 參數

  4. 返回值

  5. 更新計數

全部通過單元測試,MyBatis XML 中的 statementType="CALLABLE" 無需調整。


四、性能對比:TPCH 100G

4.1 硬件規格

  • 2 × Intel 6230R 26C52T

  • 512 GB DDR4

  • NVMe SSD 3.2 TB RAID0

  • CentOS 7.9 + 關閉 NUMA

4.2 測試方法

  • SQL Server 2019 企業版(無補丁)

  • KingbaseES V9R4C12(mssql 模式)

  • TPCH 100G 數據,表結構、索引腳本完全一致

4.3 結果摘要(單位:秒)

QuerySQL ServerKingbaseES差異
Q128.426.9-5%
Q542.144.3+5%
Q9118.7115.2-3%
Q21210.9205.4-3%

結論:兩者互有勝負,整體差距在 ±5% 以內,可視為同一梯隊。


五、踩坑與填坑

5.1 “IDENTITY_INSERT” 行為差異

KingbaseES 支持 SET IDENTITY_INSERT ON,但作用域僅限當前會話,事務提交后仍保持 ON,而 SQL Server 會自動 OFF。
解決:在存儲過程末尾顯式 SET IDENTITY_INSERT OFF

5.2 全文索引

SQL Server 的 CONTAINS/CONTAINSTABLE 默認啟用;KingbaseES 需安裝 kdb_text 擴展并手動創建詞典。
解決

CREATE EXTENSION kdb_text;
-- 創建中文分詞配置

5.3 鏈接服務器

KingbaseES 提供 kdb_database_link 擴展,可連接 SQL Server、Oracle、MySQL。

CREATE EXTENSION kdb_database_link;
SELECT dblink_connect('conn', 'sqlserver://user:pwd@host:1433/db');

實測分布式查詢性能損耗 <10%,已用于 ETL。


六、割接方案與回退策略

階段動作時間窗口回退方案
全量遷移使用 SSDT + Kingbase Migration Toolkit4 h原 SQL Server 只讀
增量同步基于 CDC + Debezium 實時同步持續一鍵切換回 DNS
灰度驗證20% 流量到 KingbaseES1 周流量權重回退
全量切換100% 流量0.5 h回滾 DNS + 連接池


七、寫在最后

如果你也在尋找一條 低成本、低風險、周期短 的 SQL Server 信創路線,KingbaseES V9R4C12 值得認真評估。它并不是“閹割版”兼容,而是把 SQL Server 常用語法、類型、接口、工具鏈幾乎 1:1 還原,性能也能打平。

15?個關鍵字解說:
1. 信創 ?
全稱“信息技術應用創新”,是國家主導的軟硬件國產化替代工程,要求核心系統逐步脫離國外產品,實現供應鏈安全與合規。 ?

2. 平替 ?
“平滑替代”的口語化表達,指在不修改或極少修改業務代碼、不中斷服務的前提下,將國外數據庫完整遷移到國產數據庫。 ?

3. AlwaysOn ?
SQL Server 2012+ 推出的高可用與災難恢復方案,通過同步或異步副本實現讀寫分離、秒級故障轉移,是企業級架構的核心支柱。 ?

4. KingbaseES ?
電科金倉自主研發的企業級關系型數據庫,基于 PostgreSQL 內核深度改造,支持 Oracle、SQL Server、MySQL 多兼容模式,具備國產密碼算法與可信計算能力。 ?

5. V9R4C12 ?
KingbaseES 2024 年發布的大版本號,其中 V9 代表內核世代,R4 為第四次功能增強,C12 為 SQL Server 兼容特性包,可直接解析 T-SQL 語法。 ?

6. 存儲過程 ?
在數據庫內預編譯并持久化的一組 SQL/控制流語句,可接受參數、返回結果集,減少網絡往返、提升復雜業務性能,是大型系統的粘合劑。 ?

7. 鏈接服務器 ?
SQL Server 提供的分布式查詢機制,通過 OLE DB/ODBC 把異構數據庫(Oracle、MySQL、文件)映射為本地“服務器”,實現跨實例 JOIN。 ?

8. 兼容性驗證 ?
遷移前必須完成的工程步驟:逐一比對數據類型、系統函數、鎖行為、錯誤碼、驅動接口,確保應用在新庫上的行為與原庫 100% 一致。 ?

9. TPCH ?
Transaction Processing Performance Council 制定的決策支持基準,包含 8 張表、22 條復雜查詢,用于衡量 OLAP 場景下 100 GB~100 TB 的性能。 ?

10. CDC ?
Change Data Capture,通過解析事務日志把行級變更(INSERT/UPDATE/DELETE)實時輸出到 Kafka、Debezium 等消息流,實現增量同步。 ?

11. Debezium ?
Red Hat 開源的分布式 CDC 平臺,支持 SQL Server、MySQL、Oracle、PostgreSQL,可把事務日志轉為 JSON 事件流,供下游系統實時消費。 ?

12. KStudio ?
Kingbase 官方圖形化集成開發環境,集成 SQL 編輯器、對象管理、性能監控、遷移向導,可一鍵替換 SQL Server Management Studio。 ?

13. 灰度切換 ?
上線策略:先讓 1%~20% 的只讀流量或邊緣業務訪問新庫,通過監控指標、錯誤日志確認穩定后,再逐步放大流量,直至 100% 切走舊庫。 ?

14. kdb_database_link ?
KingbaseES 內置的跨庫訪問擴展,語法與 SQL Server 鏈接服務器對齊,可透明訪問 Oracle、MySQL、SQL Server 遠程表,支持分布式事務。 ?

15. kdb_text ?
KingbaseES 全文檢索擴展,支持中文分詞、同義詞、權重排序、高亮片段,補全 SQL Server CONTAINS/FREETEXT 功能,遷移無需改查詢邏輯。

本文相關鏈接推薦:

1、【金倉數據庫征文】政府項目數據庫遷移:從MySQL 5.7到KingbaseES的蛻變之路

2、【金倉數據庫征文】學校AI數字人:從Sql Server到KingbaseES的數據庫轉型之路

3、電科金倉2025發布會,國產數據庫的AI融合進化與智領未來

4、國產數據庫逆襲:老鄧的“六大不敢替”被金倉逐一破解

5、《一行代碼不改動!用KES V9 2025完成SQL Server → 金倉“平替”遷移并啟用向量檢索》

6、《赤兔引擎×的盧智能體:電科金倉如何用“三駿架構”重塑AI原生數據庫一體機》

7、探秘KingbaseES在線體驗平臺:技術盛宴還是虛有其表?

8、破除“分布式”迷思:回歸數據庫選型的本質

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/918995.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/918995.shtml
英文地址,請注明出處:http://en.pswp.cn/news/918995.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

K8S HPA 彈性水平擴縮容 Pod 詳解

文章目錄1、前置準備2、需求場景3、Scale 靜態擴縮容3.1、創建 Deployment 腳本3.2、Scale 擴縮容3、HPA 自動擴縮容3.1、安裝 Metrics3.2、創建 Deployment 演示案例3.3、創建 HPA3.4、觸發 HPA 自動擴縮容1、前置準備 本次案例演示&#xff0c;我選擇了阿里云ECS&#xff08…

對話訪談|盤古信息×智晟威:深度挖掘數字化轉型的奧秘

在數字化轉型的浪潮中&#xff0c;傳統設備企業如何突破“純硬件”的邊界&#xff0c;實現從“賣產品”到“賣生態”的跨越&#xff1f;數字化轉型究竟是“高不可攀的奢侈品”&#xff0c;還是“觸手可及的生存技能”&#xff1f;近日&#xff0c;廣東盤古信息科技股份有限公司…

什么是模型預測控制?

一、概念模型預測控制&#xff08;Model Predictive Control, MPC&#xff09;是一種先進的控制方法&#xff0c;廣泛應用于工業過程控制、機器人控制、自動駕駛等領域。MPC的核心思想是利用系統的動態模型預測未來的行為&#xff0c;并通過優化算法計算出當前時刻的最優控制輸…

類與類加載器

在Java中&#xff0c;類和類加載器是密切相關的兩個概念&#xff0c;理解它們有助于我們更好地掌握Java的運行機制。什么是Java類&#xff1f;Java類就像是一個模板或藍圖&#xff0c;它定義了對象的屬性和行為。比如"汽車"可以看作一個類&#xff0c;它有顏色、品牌…

一文速通Python并行計算:14 Python異步編程-協程的管理和調度

一文速通 Python 并行計算&#xff1a;14 Python 異步編程-協程的管理和調度 摘要&#xff1a; Python 異步編程基于 async/await 構建協程&#xff0c;運行在事件循環中。協程生成 Task&#xff0c;遇到?await?時掛起&#xff0c;I/O 完成觸發回調恢復運行&#xff0c;通過…

Node.js面試題及詳細答案120題(16-30) -- 核心模塊篇

《前后端面試題》專欄集合了前后端各個知識模塊的面試題&#xff0c;包括html&#xff0c;javascript&#xff0c;css&#xff0c;vue&#xff0c;react&#xff0c;java&#xff0c;Openlayers&#xff0c;leaflet&#xff0c;cesium&#xff0c;mapboxGL&#xff0c;threejs&…

RabbitMQ:Windows版本安裝部署

目錄一、概述二、OPT三、安裝RabbitMQ四、登錄測試一、概述 什么是MQ&#xff0c;有什么做作用&#xff1f; MQ即MessageQueue&#xff0c;消息隊列。可以分為兩部分理解&#xff1a;消息Message用于在不同的應用程序中傳遞數據。隊列Queue&#xff0c;一種FIFO先進先出的數據…

酒店行業安全體系構建與優化策略

酒店行業安全體系構建與優化策略為確保酒店行業領導及賓客的安全&#xff0c;構建全面的治安聯防體系及事故處理預案至關重要。某招待所通過設立保衛部&#xff0c;細化內保、治安、防火及交通管理職能&#xff0c;并下設警衛班、監控中心和電瓶車班&#xff0c;以全方位保障安…

python30-正則表達式

在Python中需要通過正則表達式對字符串進?匹配的時候&#xff0c;可以使??個python自帶的模塊&#xff0c;名字為re。 re模塊的使用&#xff1a;import re 一、匹配函數 1-1、re.match函數&#xff1a;返回匹配對象 match函數實現的是精準匹配&#xff0c;嘗試從字符串的…

EP1C12F324I7N Altera Cyclone FPGA

EP1C12F324I7N 是 阿爾特拉 Altera Cyclone 系列中的一款 SRAM-based FPGA&#xff0c;定位為低成本、低功耗、面向嵌入式與消費/工業類量產應用的器件。該器件提供約 12,060 個邏輯單元&#xff08;Logic Elements&#xff09;&#xff0c;片上嵌入式存儲約 234 kbit&#xff…

html5語義元素

1、參考&#xff1a;HTML5 語義元素 | 菜鳥教程 2、實戰 HTML5 <section> 元素 <section> 標簽定義文檔中的節&#xff08;section、區段&#xff09;。比如章節、頁眉、頁腳或文檔中的其他部分。 根據W3C HTML5文檔: section 包含了一組內容及其標題。 <!D…

java調用PyTorch 訓練模型實現神經網絡全流程

以下是完整的操作流程:用 PyTorch 訓練模型 → 導出為 ONNX 格式 → 用 Java 加載并推理,兼顧開發效率(PyTorch 快速訓練)和生產部署(Java 穩定運行)。 一、PyTorch 訓練模型并導出為 ONNX 1. 安裝依賴 bash pip install torch onnx # PyTorch 和 ONNX 庫2. 訓練一個…

Maven - Spring Boot 項目打包本地 jar 的 3 種方法

文章目錄Pre概述方案思路構建流程圖工作機制說明目錄結構示例POM 配置模板構建與驗證注意事項方案優缺點Pre Maven - Manual Maven JAR Installation&#xff1a;用 mvn install:install-file 安裝本地 JAR 的實用指南 概述 在 Spring Boot 項目中&#xff0c;通常依賴包會從…

平替 Claude Code,API接入 GPT-5,Codex CLI 國內直接使用教程

最新升級接入GPT-5的 Codex 擁有可以媲美 Claude Code 的AI編碼能力&#xff0c;本文將指導你在 Windows系統上部署原生的 Codex CLI程序&#xff0c;并且接入超低價中轉API&#xff0c;讓你在國內直接用上超高性價比的 OpenAI Codex CLI 應用。關于 CodexCodex 是 OpenAI 開發…

kubernertes (K8S)部署

參考&#xff1a; https://blog.csdn.net/yu33575/article/details/135387548 二進制安裝k8s&#xff1a; https://blog.csdn.net/qq_73990369/article/details/143217084 K8S二進制安裝與部署 &#xff1a;https://blog.csdn.net/fantuan_sss/article/details/139073366 k8s…

LeetCode 簡單JS刷題

目錄 返回數組最后一個元素 2787.將一個數字表示成冪的和的方案數 326.3的冪 1780.判斷一個數字是否可以表示成三的冪的和 342.4的冪 返回數組最后一個元素 1.請你編寫一段代碼實現一個數組方法&#xff0c;使任何數組都可以調用 array.last() 方法&#xff0c;這個方法將…

七大排序算法全解析:從入門到精通

目錄 一.排序的概念 二.常見排序算法的實現 2.1 插入排序 &#xff08;1&#xff09;直接插入排序&#xff1a; 當插入第i(i>1)個元素時&#xff0c;前面的array[0],array[1],…,array[i-1]已經排好序&#xff0c;此時用array[i]的排序碼與array[i-1],array[i-2],…的排序…

20250814在榮品RD-RK3588開發板的Android13下解決卡迪的LCD屏在開機的時候brightness最暗【背光的pwm信號的極性反了】

20250814在榮品RD-RK3588開發板的Android13下解決卡迪的LCD屏在開機的時候brightness最暗【背光的pwm信號的極性反了】 2025/8/14 11:33緣起&#xff1a;在榮品RD-RK3588開發板的Android13下&#xff0c;卡迪的LCD屏在開機的時候很暗&#xff0c;幾乎看不見。 在命令行查看亮度…

Flink的狀態管理

一、狀態的概念Flink的狀態其實你就可以將其想象為中間結果就可以了。在Flink中&#xff0c;算子的任務可以分為無狀態和有狀態兩種情況。無狀態算子任務在計算過程中是不依賴于其他數據的&#xff0c;只根據當前的輸入數據就可以得到結果輸出。比如之前講到的Map、FlatMap、Fi…

GoLand 項目從 0 到 1:第八天 ——GORM 命名策略陷阱與 Go 項目啟動慢問題攻堅

第八天核心任務&#xff1a;解決開發中的兩大技術卡點今天的開發不僅聚焦于代碼層面的數據庫字段映射問題&#xff0c;還遭遇了一個困擾團隊許久的環境難題 ——Go 項目啟動異常緩慢。經過多維度排查&#xff0c;我們不僅理清了 GORM 命名策略的設計邏輯&#xff0c;還找到了影…