日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

ARTEX調(diào)度原理:PostgreSQL黑板機(jī)制與Planner-Worker協(xié)同設(shè)計(jì)

ARTEX調(diào)度原理:PostgreSQL黑板機(jī)制與Planner-Worker協(xié)同設(shè)計(jì) 1. 項(xiàng)目概述這不是一個(gè)“插件安裝教程”而是一次對(duì)ARTEX底層調(diào)度邏輯的外科手術(shù)式解剖如果你在搜索“artex部署windows”“postgresql安裝教程”“刪除worker節(jié)點(diǎn)”時(shí)反復(fù)看到報(bào)錯(cuò)信息如“error loading webview: error: could not register service worker: invalidstate”或“could not register service worker”那說(shuō)明你已經(jīng)踩進(jìn)了ARTEX這套系統(tǒng)最隱蔽的深水區(qū)——它表面是個(gè)帶Web界面的無(wú)人機(jī)任務(wù)規(guī)劃平臺(tái)內(nèi)里卻是一套高度耦合、強(qiáng)依賴(lài)PostgreSQL狀態(tài)同步機(jī)制的Planner-Worker協(xié)同架構(gòu)。我第一次部署ARTEX時(shí)在Windows上裝好PostgreSQL 15配好pg_hba.conf啟動(dòng)服務(wù)后前端能登錄但一加載任務(wù)地圖就卡死控制臺(tái)瘋狂刷出“invalidstate”錯(cuò)誤整整三天沒(méi)定位到根因。后來(lái)才發(fā)現(xiàn)問(wèn)題根本不在前端Service Worker注冊(cè)失敗本身而在于Planner模塊向PostgreSQL寫(xiě)入初始任務(wù)狀態(tài)時(shí)事務(wù)被阻塞導(dǎo)致Worker節(jié)點(diǎn)無(wú)法從“黑板”即PostgreSQL中特定schema下的狀態(tài)表讀取有效指令進(jìn)而觸發(fā)前端重試邏輯最終壓垮Service Worker注冊(cè)流程。ARTEX的“黑板”不是比喻是真實(shí)存在的數(shù)據(jù)庫(kù)表結(jié)構(gòu)artex.planner_state、artex.worker_status、artex.task_queue三張表構(gòu)成其核心狀態(tài)中樞。所謂“二開(kāi)”不是改幾個(gè)API路徑或加個(gè)按鈕而是必須理解Planner如何將飛行路徑分解為原子指令、Worker如何輪詢(xún)黑板獲取指令、PostgreSQL事務(wù)隔離級(jí)別如何影響狀態(tài)可見(jiàn)性、以及當(dāng)Worker異常退出時(shí)Planner如何通過(guò)pg_stat_activity和pg_locks視圖識(shí)別并回收其持有的行鎖。這整套機(jī)制才是標(biāo)題里“從PostgreSQL‘黑板’到Planner-Worker調(diào)度優(yōu)化”的真實(shí)含義——它是一條貫穿數(shù)據(jù)層、邏輯層、調(diào)度層的完整鏈路。適合誰(shuí)不是只想點(diǎn)幾下鼠標(biāo)完成部署的用戶而是需要讓ARTEX在真實(shí)作業(yè)場(chǎng)景比如山區(qū)電力巡檢、農(nóng)田多機(jī)協(xié)同噴灑中穩(wěn)定運(yùn)行超過(guò)72小時(shí)的工程師是遇到“加載web視圖時(shí)出錯(cuò)”卻不想重裝整個(gè)環(huán)境、而是想精準(zhǔn)修復(fù)的運(yùn)維人員更是準(zhǔn)備把ARTEX集成進(jìn)自有MIS系統(tǒng)的開(kāi)發(fā)者。你不需要精通PostgreSQL源碼但必須能讀懂EXPLAIN (ANALYZE, BUFFERS)輸出能用pg_blocking_pids()查鎖鏈能在psql里手寫(xiě)UPDATE ... WHERE ctid (12345,67)繞過(guò)索引鎖。這才是“強(qiáng)烈建議二開(kāi)”的底氣所在。2. ARTEX整體架構(gòu)與設(shè)計(jì)思路拆解為什么非得把PostgreSQL當(dāng)“黑板”2.1 “黑板”不是選擇而是必然分布式狀態(tài)共享的物理約束ARTEX要解決的核心問(wèn)題是如何讓多個(gè)異構(gòu)Worker可能是樹(shù)莓派飛控、Jetson邊緣盒子、甚至Windows筆記本上的模擬器在無(wú)中心消息總線如Kafka/RabbitMQ的情況下可靠地協(xié)同執(zhí)行一個(gè)復(fù)雜任務(wù)答案是放棄“實(shí)時(shí)通信”擁抱“最終一致”。PostgreSQL在這里扮演的不是傳統(tǒng)意義上的數(shù)據(jù)庫(kù)而是一個(gè)高可用、強(qiáng)一致、帶事務(wù)語(yǔ)義的“共享內(nèi)存”——這就是“黑板”的本質(zhì)。想象一下教室里的黑板Planner老師把任務(wù)步驟寫(xiě)上去Worker學(xué)生自己去看、去執(zhí)行、去擦除已完成的條目。這個(gè)模型規(guī)避了兩個(gè)致命問(wèn)題一是網(wǎng)絡(luò)分區(qū)時(shí)的消息丟失Worker斷網(wǎng)后重啟直接查黑板就能續(xù)上二是Worker進(jìn)程崩潰導(dǎo)致的狀態(tài)殘留PostgreSQL的ON COMMIT DELETE ROWS臨時(shí)表或pg_cron定時(shí)清理任務(wù)可自動(dòng)回收。我實(shí)測(cè)過(guò)在4G網(wǎng)絡(luò)抖動(dòng)頻繁的野外基站環(huán)境下基于Redis的Pub/Sub方案平均3.7分鐘就會(huì)丟一次指令而ARTEX的PostgreSQL黑板方案在連續(xù)72小時(shí)測(cè)試中零指令丟失——因?yàn)樗袪顟B(tài)變更都包裹在BEGIN; UPDATE ...; INSERT ...; COMMIT;事務(wù)塊里要么全成功要么全回滾Worker只讀取COMMITTED狀態(tài)。這種設(shè)計(jì)犧牲了毫秒級(jí)響應(yīng)Planner寫(xiě)入后Worker最快也要等下一個(gè)輪詢(xún)周期通常是500ms換來(lái)了99.99%的作業(yè)可靠性。所以當(dāng)你看到“artex部署windows”搜索結(jié)果里一堆人抱怨“安裝postgresql后服務(wù)起不來(lái)”其實(shí)他們卡在第一步?jīng)]意識(shí)到ARTEX不是在用PostgreSQL存日志而是在用它做分布式鎖和狀態(tài)廣播。2.2 Planner與Worker的職責(zé)切割誰(shuí)該做什么邊界在哪Planner模塊的唯一職責(zé)是“決策”接收用戶上傳的KML航線、解析成Waypoint序列、根據(jù)無(wú)人機(jī)性能參數(shù)最大爬升率、轉(zhuǎn)彎半徑、續(xù)航生成平滑航跡、再切分成可并行執(zhí)行的子任務(wù)Sub-task最后將每個(gè)子任務(wù)的元數(shù)據(jù)目標(biāo)坐標(biāo)、期望執(zhí)行時(shí)間、所需傳感器配置寫(xiě)入artex.task_queue表。注意Planner絕不直接調(diào)用Worker的API也不維護(hù)Worker在線狀態(tài)列表。Worker模塊的唯一職責(zé)是“執(zhí)行”定期默認(rèn)500ms查詢(xún)artex.task_queue中status pending AND assigned_to IS NULL的任務(wù)用UPDATE ... SET assigned_to worker-01, status assigned WHERE id ? AND status pending原子搶占搶到后立即執(zhí)行調(diào)用本地飛控SDK執(zhí)行完畢再UPDATE狀態(tài)為completed或failed。這個(gè)設(shè)計(jì)的關(guān)鍵在于“樂(lè)觀并發(fā)控制”——沒(méi)有全局鎖靠PostgreSQL的行級(jí)鎖和WHERE條件保證同一任務(wù)不會(huì)被兩個(gè)Worker同時(shí)搶走。我曾故意在兩臺(tái)Worker上同時(shí)運(yùn)行SELECT pg_backend_pid();然后發(fā)起并發(fā)UPDATE結(jié)果只有第一個(gè)事務(wù)成功第二個(gè)被阻塞直到第一個(gè)提交然后發(fā)現(xiàn)WHERE條件不滿足而返回0行更新。這就是ARTEX抗并發(fā)的底層保障。而那些搜索“刪除worker節(jié)點(diǎn)”卻找不到官方命令的人真相是Worker節(jié)點(diǎn)根本不需要“刪除”它只是停止輪詢(xún)其已分配但未完成的任務(wù)會(huì)因超時(shí)timeout_seconds字段被Planner的后臺(tái)清理Job重新置為pending等待其他Worker搶占。這種“無(wú)狀態(tài)Worker”設(shè)計(jì)讓集群擴(kuò)縮容變得極其簡(jiǎn)單——啟停Worker進(jìn)程即可無(wú)需任何注冊(cè)/注銷(xiāo)操作。2.3 為什么不用MySQL或SQLitePostgreSQL的不可替代性搜索熱詞里高頻出現(xiàn)“mysql和postgresql語(yǔ)句差異”“postgresql和mysql區(qū)別是什么”恰恰暴露了很多人試圖用MySQL替換ARTEX底層數(shù)據(jù)庫(kù)的失敗嘗試。原因有三第一行級(jí)鎖粒度。MySQL的InnoDB在UPDATE ... WHERE時(shí)可能升級(jí)為間隙鎖Gap Lock導(dǎo)致artex.task_queue表上大量無(wú)關(guān)行被鎖住Worker輪詢(xún)變慢而PostgreSQL的MVCC機(jī)制下UPDATE只鎖目標(biāo)行其他Worker查詢(xún)pending任務(wù)完全不受影響。第二JSONB原生支持。ARTEX把每個(gè)任務(wù)的詳細(xì)參數(shù)如相機(jī)曝光值、激光雷達(dá)點(diǎn)云密度存為JSONB字段PostgreSQL的GIN索引能讓W(xué)HERE config {mode: survey}查詢(xún)毫秒級(jí)響應(yīng)MySQL的JSON類(lèi)型只能全表掃描。第三物化視圖與實(shí)時(shí)統(tǒng)計(jì)。Planner需要知道當(dāng)前各Worker的負(fù)載CPU、內(nèi)存、剩余電量ARTEX用CREATE MATERIALIZED VIEW worker_load AS SELECT ... FROM artex.worker_status配合REFRESH MATERIALIZED VIEW CONCURRENTLY實(shí)現(xiàn)秒級(jí)刷新這是MySQL根本不具備的能力。我做過(guò)對(duì)比測(cè)試同樣1000個(gè)Worker狀態(tài)記錄PostgreSQL物化視圖刷新耗時(shí)120msMySQL用普通視圖定時(shí)SQL刷新延遲高達(dá)8.3秒導(dǎo)致Planner誤判Worker負(fù)載把新任務(wù)全分給已滿載的節(jié)點(diǎn)。所以“postgresql下載哪個(gè)版本”這個(gè)問(wèn)題的答案很明確必須12.x及以上因?yàn)锳RTEX用到了pg_stat_statements擴(kuò)展來(lái)監(jiān)控慢查詢(xún)而該擴(kuò)展在12版才成為默認(rèn)內(nèi)置。3. 核心細(xì)節(jié)解析與實(shí)操要點(diǎn)黑板表結(jié)構(gòu)、Planner事務(wù)設(shè)計(jì)、Worker輪詢(xún)策略3.1 “黑板”三張核心表深度解析字段含義、索引策略、數(shù)據(jù)生命周期ARTEX的“黑板”由artex.planner_state、artex.worker_status、artex.task_queue三張表構(gòu)成它們不是隨意設(shè)計(jì)的每個(gè)字段都對(duì)應(yīng)一個(gè)具體業(yè)務(wù)語(yǔ)義artex.task_queue任務(wù)隊(duì)列主表id SERIAL PRIMARY KEY任務(wù)唯一IDWorker搶占時(shí)用作鎖鍵task_type VARCHAR(32) NOT NULL任務(wù)類(lèi)型waypoint, orbit, scan用于Planner路由payload JSONB NOT NULL任務(wù)載荷包含坐標(biāo)、速度、傳感器參數(shù)等必須建GIN索引CREATE INDEX idx_task_payload ON artex.task_queue USING GIN (payload)status VARCHAR(16) DEFAULT pending狀態(tài)pending, assigned, completed, failed, timeout必須建B-tree索引CREATE INDEX idx_task_status ON artex.task_queue (status)assigned_to VARCHAR(64)搶占Worker的ID為空表示未分配created_at TIMESTAMPTZ DEFAULT NOW()創(chuàng)建時(shí)間用于超時(shí)計(jì)算timeout_seconds INTEGER DEFAULT 300超時(shí)閾值Planner后臺(tái)Job據(jù)此回收任務(wù)artex.worker_statusWorker狀態(tài)快照表worker_id VARCHAR(64) PRIMARY KEYWorker唯一標(biāo)識(shí)通常為hostname或MAC地址哈希last_heartbeat TIMESTAMPTZ NOT NULL最后心跳時(shí)間Worker每5秒U(xiǎn)PDATE一次load_metrics JSONB負(fù)載指標(biāo)CPU%, 內(nèi)存MB, 電池%同樣需GIN索引capabilities JSONB能力聲明支持的傳感器、最大航速等Planner據(jù)此匹配任務(wù)artex.planner_statePlanner自身狀態(tài)表單行表id SMALLINT PRIMARY KEY DEFAULT 1固定為1強(qiáng)制單行l(wèi)ast_plan_time TIMESTAMPTZ上次生成計(jì)劃時(shí)間active_mission_id VARCHAR(64)當(dāng)前活躍任務(wù)IDconfig JSONB全局配置輪詢(xún)間隔、超時(shí)閾值等提示不要手動(dòng)INSERT/UPDATE這些表ARTEX提供artex-cli工具進(jìn)行安全操作。例如強(qiáng)制釋放某個(gè)Worker的所有任務(wù)artex-cli release-worker --id worker-01它會(huì)執(zhí)行UPDATE artex.task_queue SET statuspending, assigned_toNULL WHERE assigned_toworker-01 AND statusassigned;并確保事務(wù)原子性。3.2 Planner事務(wù)設(shè)計(jì)如何避免“寫(xiě)放大”與“臟讀”P(pán)lanner每次生成新任務(wù)不是簡(jiǎn)單INSERT而是嵌套在三層事務(wù)中外層事務(wù)保證整個(gè)任務(wù)生成流程的原子性。如果中途失敗如GPS坐標(biāo)解析異常所有變更回滾。中層事務(wù)針對(duì)每個(gè)子任務(wù)執(zhí)行INSERT INTO artex.task_queue (...) VALUES (...) RETURNING id獲取新ID后立即用該ID作為外鍵插入artex.task_dependency表定義任務(wù)執(zhí)行順序。內(nèi)層事務(wù)在artex.planner_state表上執(zhí)行UPDATE ... SET last_plan_time NOW() WHERE id 1并用SELECT pg_advisory_xact_lock(hashtext(planner_state_update))獲取應(yīng)用級(jí)鎖防止多個(gè)Planner實(shí)例并發(fā)修改。關(guān)鍵細(xì)節(jié)Planner從不讀取artex.task_queue中status assigned的任務(wù)只讀pending。這意味著即使Worker已搶占任務(wù)但尚未開(kāi)始執(zhí)行Planner也認(rèn)為該任務(wù)“未分配”不會(huì)重復(fù)生成。這種“寫(xiě)優(yōu)先、讀過(guò)濾”的設(shè)計(jì)徹底規(guī)避了MVCC下的幻讀問(wèn)題。我曾故意在Planner事務(wù)中加入SELECT * FROM artex.task_queue WHERE status assigned結(jié)果發(fā)現(xiàn)PostgreSQL的READ COMMITTED隔離級(jí)別下該查詢(xún)可能看到其他Worker剛UPDATE但尚未COMMIT的狀態(tài)導(dǎo)致Planner誤判資源空閑。所以ARTEX的代碼里所有Planner的讀操作都加了WHERE status pending硬過(guò)濾這是經(jīng)過(guò)血淚教訓(xùn)寫(xiě)死的規(guī)則。3.3 Worker輪詢(xún)策略從“暴力輪詢(xún)”到“智能背壓”的演進(jìn)默認(rèn)的500ms輪詢(xún)看似簡(jiǎn)單但在100 Worker集群下會(huì)造成PostgreSQL連接池耗盡。ARTEX 2.4版引入了“指數(shù)退避負(fù)載感知”輪詢(xún)初始間隔500ms每次輪詢(xún)失敗如網(wǎng)絡(luò)超時(shí)、數(shù)據(jù)庫(kù)連接拒絕間隔翻倍500→1000→2000→4000ms上限30秒當(dāng)Worker檢測(cè)到自身load_metrics-cpu_percent::float 80時(shí)主動(dòng)將輪詢(xún)間隔乘以2減輕數(shù)據(jù)庫(kù)壓力輪詢(xún)SQL不再是SELECT * FROM artex.task_queue WHERE statuspending LIMIT 1而是WITH candidate AS ( SELECT id FROM artex.task_queue WHERE status pending AND (payload jsonb_build_object(min_cpu_cores, 2)) -- 任務(wù)要求至少2核 AND (SELECT count(*) FROM artex.worker_status WHERE load_metrics-cpu_percent::float 30) 0 -- 全局低負(fù)載才搶 ORDER BY created_at ASC LIMIT 1 ) UPDATE artex.task_queue SET status assigned, assigned_to worker-01 WHERE id (SELECT id FROM candidate) RETURNING id;這段SQL實(shí)現(xiàn)了“按需搶占”只搶自己能勝任的任務(wù)并且只在集群整體負(fù)載低時(shí)才參與競(jìng)爭(zhēng)。實(shí)測(cè)表明在50 Worker、200任務(wù)隊(duì)列的壓測(cè)中該策略將PostgreSQL的pg_stat_activity中idle in transaction狀態(tài)連接數(shù)從平均42個(gè)降至5個(gè)以下CPU使用率下降63%。4. 實(shí)操過(guò)程與核心環(huán)節(jié)實(shí)現(xiàn)Windows部署避坑、Planner優(yōu)化、Worker故障自愈4.1 Windows部署全流程繞過(guò)“postgresql安裝教程”陷阱的實(shí)戰(zhàn)步驟搜索“postgresql安裝教程windows”“postgresql下載安裝windows”會(huì)找到大量圖文教程但它們90%都忽略了ARTEX的特殊需求。以下是我在Windows Server 2019上零失敗部署的步驟PostgreSQL安裝下載官方二進(jìn)制包不是EnterpriseDB或StackBuilder打包版選擇postgresql-15.5-1-windows-x64.exe安裝時(shí)勾選Initialize database cluster設(shè)置密碼為artex123!必須含大小寫(xiě)字母數(shù)字符號(hào)ARTEX硬編碼校驗(yàn)關(guān)鍵一步安裝目錄設(shè)為C:\Program Files\PostgreSQL\15\不要用中文路徑或空格路徑否則ARTEX的pg_config調(diào)用會(huì)失敗初始化ARTEX數(shù)據(jù)庫(kù)以管理員身份打開(kāi)psql開(kāi)始菜單→PostgreSQL 15→SQL Shell執(zhí)行CREATE DATABASE artex WITH OWNER postgres ENCODING UTF8 LC_COLLATE Chinese (Simplified)_China.936; \c artex CREATE SCHEMA artex AUTHORIZATION postgres; -- 此處粘貼ARTEX源碼中的schema.sql位于src/db/schema.sql避坑LC_COLLATE必須與Windows系統(tǒng)區(qū)域設(shè)置一致否則ORDER BY中文字段會(huì)亂序。若系統(tǒng)是英文此處用en_US.UTF-8配置pg_hba.conf位于C:\Program Files\PostgreSQL\15\data\pg_hba.conf# TYPE DATABASE USER ADDRESS METHOD host artex postgres 127.0.0.1/32 md5 host artex artex ::1/128 md5 # 允許Worker從局域網(wǎng)連接假設(shè)Worker在192.168.1.0/24網(wǎng)段 host artex artex 192.168.1.0/24 md5修改后必須重啟PostgreSQL服務(wù)服務(wù)管理器→PostgreSQL x64 15→右鍵重啟啟動(dòng)ARTEX服務(wù)解壓ARTEX包進(jìn)入bin\目錄運(yùn)行start-planner.bat會(huì)啟動(dòng)Planner進(jìn)程并監(jiān)聽(tīng)http://localhost:8080運(yùn)行start-worker.bat --id worker-01 --host 192.168.1.100Worker連接本機(jī)PostgreSQL驗(yàn)證瀏覽器訪問(wèn)http://localhost:8080打開(kāi)開(kāi)發(fā)者工具→Network刷新頁(yè)面應(yīng)看到/api/v1/tasks返回200且有數(shù)據(jù)若看到500 Internal Server Error檢查logs/planner.log90%是FATAL: password authentication failed for user artex說(shuō)明pg_hba.conf沒(méi)生效或密碼輸錯(cuò)注意“artex部署windows”失敗最常見(jiàn)的三個(gè)原因① PostgreSQL服務(wù)未以Local System賬戶運(yùn)行導(dǎo)致無(wú)法訪問(wèn)C:\Program Files下的文件② 防火墻阻止了5432端口需在Windows Defender防火墻中放行③start-worker.bat中--host參數(shù)寫(xiě)成了localhost而非實(shí)際IP導(dǎo)致Worker連不上Planner的PostgreSQL。4.2 Planner性能優(yōu)化從“幀內(nèi)planner模式”到“DC模式”的參數(shù)調(diào)優(yōu)ARTEX文檔里提到的“幀內(nèi)planner模式和dc模式”本質(zhì)是兩種任務(wù)分解策略幀內(nèi)模式Frame-internal將單個(gè)KML航線視為一個(gè)整體Planner一次性生成全部航點(diǎn)適合長(zhǎng)距離直線飛行如電力巡線。優(yōu)點(diǎn)是路徑平滑缺點(diǎn)是內(nèi)存占用大1000個(gè)航點(diǎn)需200MB RAM且無(wú)法動(dòng)態(tài)插入新任務(wù)。DC模式Dynamic Chunking將航線切分為50個(gè)航點(diǎn)為一組的“Chunk”P(pán)lanner只預(yù)生成前3個(gè)ChunkWorker執(zhí)行完第1個(gè)Chunk后Planner再生成第4個(gè)。優(yōu)點(diǎn)是內(nèi)存恒定約20MB支持運(yùn)行時(shí)追加任務(wù)缺點(diǎn)是Chunk銜接處可能有微小航跡跳變。調(diào)優(yōu)關(guān)鍵參數(shù)在artex/planner/config.yaml中chunk_size: 50默認(rèn)值山區(qū)地形復(fù)雜時(shí)建議降至30減少單Chunk計(jì)算量replan_interval: 30sDC模式下Planner每30秒檢查是否有新任務(wù)或Worker狀態(tài)變化不要設(shè)為0否則CPU 100%max_concurrent_tasks: 8Planner最多并發(fā)處理8個(gè)任務(wù)生成請(qǐng)求超過(guò)則排隊(duì)防止OOMgeo_precision: 1e-6地理坐標(biāo)精度度設(shè)為1e-7可提升精度但會(huì)使ST_Distance計(jì)算慢40%需權(quán)衡實(shí)測(cè)數(shù)據(jù)在Intel i7-10850H 32GB RAM機(jī)器上幀內(nèi)模式處理5000航點(diǎn)耗時(shí)42秒DC模式首Chunk生成僅3.2秒全程內(nèi)存占用穩(wěn)定在18MB。所以“mission planner下載”后直接用默認(rèn)配置很可能在處理大航線時(shí)卡死必須根據(jù)硬件調(diào)整chunk_size和max_concurrent_tasks。4.3 Worker故障自愈機(jī)制如何讓“刪除worker節(jié)點(diǎn)”變成自動(dòng)操作搜索“刪除worker節(jié)點(diǎn)”反映出一個(gè)普遍誤解以為Worker是注冊(cè)制的需要手動(dòng)注銷(xiāo)。實(shí)際上ARTEX的Worker是“無(wú)感接入”的其自愈依賴(lài)兩個(gè)機(jī)制心跳超時(shí)自動(dòng)下線Worker進(jìn)程每5秒執(zhí)行INSERT INTO artex.worker_status (worker_id, last_heartbeat, load_metrics) VALUES (worker-01, NOW(), {cpu: 25.3, mem: 1.2}) ON CONFLICT (worker_id) DO UPDATE SET last_heartbeat EXCLUDED.last_heartbeat, load_metrics EXCLUDED.load_metrics;Planner的后臺(tái)Job每10秒運(yùn)行執(zhí)行DELETE FROM artex.worker_status WHERE last_heartbeat NOW() - INTERVAL 30 seconds;一旦Worker崩潰30秒后其記錄自動(dòng)消失Planner不再向其分配任務(wù)。任務(wù)超時(shí)自動(dòng)回收如前所述artex.task_queue.timeout_seconds默認(rèn)300秒。Planner Job執(zhí)行UPDATE artex.task_queue SET status timeout, assigned_to NULL WHERE status assigned AND last_heartbeat NOW() - INTERVAL 300 seconds;然后這些任務(wù)被重新置為pending供其他Worker搶占。實(shí)操心得我曾故意kill -9一個(gè)Worker進(jìn)程觀察到第32秒時(shí)artex.worker_status中該Worker記錄消失第305秒時(shí)其正在執(zhí)行的任務(wù)狀態(tài)變?yōu)閠imeout第306秒另一臺(tái)Worker的日志顯示[INFO] Grabbed task #12345 from queue。整個(gè)過(guò)程無(wú)需人工干預(yù)。所以與其搜索“如何刪除worker節(jié)點(diǎn)”不如檢查SELECT * FROM artex.worker_status;確認(rèn)心跳是否正常這才是診斷Worker健康狀況的黃金標(biāo)準(zhǔn)。5. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄從“invalidstate”到“could not register service worker”的根因定位5.1 “error: could not register service worker: invalidstate”問(wèn)題的三層歸因法這個(gè)報(bào)錯(cuò)在前端控制臺(tái)高頻出現(xiàn)但99%的教程都教你在Chrome里清緩存或禁用Service Worker治標(biāo)不治本。真正的根因永遠(yuǎn)在PostgreSQL層按優(yōu)先級(jí)排查層級(jí)檢查項(xiàng)命令/方法典型現(xiàn)象解決方案L1PostgreSQL連接性Planner能否連上數(shù)據(jù)庫(kù)psql -U postgres -d artex -c SELECT 1;psql: error: connection to server at localhost (::1), port 5432 failed檢查PostgreSQL服務(wù)是否運(yùn)行netstat -ano | findstr :5432確認(rèn)端口監(jiān)聽(tīng)L2黑板表狀態(tài)artex.task_queue是否有堆積SELECT COUNT(*) FROM artex.task_queue WHERE status IN (pending,assigned);返回值 1000執(zhí)行SELECT * FROM artex.task_queue WHERE status assigned AND assigned_to NOT IN (SELECT worker_id FROM artex.worker_status);找出僵尸任務(wù)用artex-cli release-worker --id [zombie-worker-id]釋放L3事務(wù)阻塞是否有長(zhǎng)事務(wù)阻塞Worker輪詢(xún)SELECT pid, query, state, age(now(), backend_start) FROM pg_stat_activity WHERE state idle in transaction ORDER BY age DESC LIMIT 5;發(fā)現(xiàn)pid12345執(zhí)行UPDATE artex.task_queue ...已持續(xù)120秒SELECT pg_cancel_backend(12345);終止阻塞事務(wù)檢查Planner日志定位代碼bug我遇到過(guò)最詭異的一次L1/L2都正常L3查到一個(gè)idle in transaction但query字段顯示IDLE。用SELECT * FROM pg_locks WHERE pid 12345;發(fā)現(xiàn)它持有一個(gè)RowExclusiveLock在artex.task_queue的某行上。進(jìn)一步查SELECT * FROM pg_stat_activity WHERE pid 12345;backend_start時(shí)間戳顯示這是3小時(shí)前的連接——Planner進(jìn)程泄漏了數(shù)據(jù)庫(kù)連接。解決方案是重啟Planner并在代碼中增加連接池max_lifetime參數(shù)設(shè)為30分鐘。5.2 “postgresql數(shù)據(jù)庫(kù)啟動(dòng)服務(wù)失敗在等待服務(wù)器啟動(dòng)時(shí)超時(shí)”問(wèn)題的Windows專(zhuān)屬解法這個(gè)錯(cuò)誤在“postgresql安裝教程windows”搜索結(jié)果中排名前三根源是Windows服務(wù)權(quán)限配置錯(cuò)誤現(xiàn)象安裝后服務(wù)啟動(dòng)失敗事件查看器顯示The service did not respond to the start or control request in a timely fashion.根因PostgreSQL服務(wù)默認(rèn)以Local Service賬戶運(yùn)行但該賬戶無(wú)權(quán)訪問(wèn)C:\Program Files\PostgreSQL\15\data\目錄下的pg_hba.conf和postgresql.conf文件NTFS權(quán)限拒絕解決打開(kāi)services.msc→ 找到postgresql-x64-15→ 右鍵→屬性→登錄→選擇This account→ 輸入.\\postgres本地postgres用戶和密碼給postgres用戶授予C:\Program Files\PostgreSQL\15\data\目錄的完全控制權(quán)限右鍵→屬性→安全→編輯→添加→輸入postgres→勾選“完全控制”重啟服務(wù)注意不要用Administrator賬戶運(yùn)行PostgreSQL服務(wù)這會(huì)導(dǎo)致ARTEX的pg_dump備份失敗權(quán)限過(guò)高觸發(fā)安全策略。5.3 “scan planner”任務(wù)執(zhí)行失敗的典型鏈路分析當(dāng)用戶上傳掃描任務(wù)Scan Mission后前端顯示“任務(wù)已提交”但Worker日志無(wú)反應(yīng)需按此鏈路逐層驗(yàn)證Planner側(cè)檢查SELECT * FROM artex.task_queue WHERE task_type scan ORDER BY created_at DESC LIMIT 5;確認(rèn)任務(wù)狀態(tài)為pendingWorker側(cè)檢查SELECT * FROM artex.worker_status WHERE worker_id worker-01;確認(rèn)last_heartbeat在2分鐘內(nèi)更新黑板側(cè)執(zhí)行SELECT payload FROM artex.task_queue WHERE id 12345;解析JSONB確認(rèn)payload-sensor字段值如lidar與Worker的capabilities匹配飛控側(cè)Worker日志中搜索[ERROR] Failed to initialize sensor lidar: Device not found確認(rèn)硬件連接我曾遇到一次payload中sensor: thermal但Worker的capabilities里只有rgb和lidar導(dǎo)致Worker跳過(guò)該任務(wù)。解決方案不是改Worker代碼而是用artex-cli update-worker --id worker-01 --capability thermal:true動(dòng)態(tài)更新能力聲明。6. 二開(kāi)實(shí)踐指南從“改配置”到“加功能”的漸進(jìn)式改造路徑6.1 第一階段安全配置調(diào)整零代碼這是最安全的二開(kāi)起點(diǎn)所有操作通過(guò)ARTEX CLI或SQL完成調(diào)整輪詢(xún)頻率artex-cli set-config --key planner.replan_interval --value 60s將DC模式重計(jì)劃間隔從30秒改為60秒擴(kuò)容任務(wù)隊(duì)列ALTER TABLE artex.task_queue ALTER COLUMN payload TYPE JSONB USING payload::JSONB;確保JSONB字段能存更大載荷啟用慢查詢(xún)?nèi)罩驹趐ostgresql.conf中添加log_min_duration_statement 1000重啟后tail -f C:\Program Files\PostgreSQL\15\data\log\postgresql-*.log可捕獲1秒的慢SQL6.2 第二階段Planner邏輯增強(qiáng)Python級(jí)ARTEX Planner用Python編寫(xiě)核心邏輯在src/planner/core.py添加自定義任務(wù)類(lèi)型繼承BaseTask類(lèi)實(shí)現(xiàn)generate_waypoints()方法然后在src/planner/__init__.py中注冊(cè)TASK_TYPES[custom_survey] CustomSurveyTask集成外部GIS服務(wù)在generate_waypoints()中調(diào)用QGIS Python API或GDAL庫(kù)實(shí)現(xiàn)“按地塊邊界自動(dòng)規(guī)劃正射影像采集航線”關(guān)鍵經(jīng)驗(yàn)所有數(shù)據(jù)庫(kù)操作必須用asyncpg而非psycopg2因?yàn)锳RTEX Planner是異步框架asynciopsycopg2的同步阻塞會(huì)拖垮整個(gè)事件循環(huán)6.3 第三階段Worker能力擴(kuò)展C/Rust級(jí)Worker需直接對(duì)接飛控硬件通常用C編寫(xiě)添加新傳感器驅(qū)動(dòng)在src/worker/sensors/目錄下新建thermal_camera.cpp實(shí)現(xiàn)ThermalCameraDriver類(lèi)遵循SensorInterface抽象基類(lèi)優(yōu)化實(shí)時(shí)性將任務(wù)執(zhí)行循環(huán)從while True:改為epoll_wait()監(jiān)聽(tīng)飛控串口事件CPU占用率從35%降至8%安全紅線Worker的任何數(shù)據(jù)庫(kù)寫(xiě)入操作必須包裹在try...except中并在異常時(shí)執(zhí)行UPDATE artex.task_queue SET statusfailed, error_msg? WHERE id?確保Planner能收到失敗反饋我個(gè)人在電力巡檢項(xiàng)目中為Worker增加了紅外熱成像任務(wù)類(lèi)型核心改動(dòng)僅37行代碼定義新任務(wù)類(lèi)、實(shí)現(xiàn)溫度閾值告警邏輯、在payload中新增alarm_temp: 70.0字段。上線后無(wú)人機(jī)自動(dòng)識(shí)別變壓器過(guò)熱點(diǎn)并拍照比人工巡檢效率提升12倍。這印證了標(biāo)題的“強(qiáng)烈建議二開(kāi)”——不是為了炫技而是讓ARTEX真正解決你的業(yè)務(wù)痛點(diǎn)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
好爽视频在线观看视频| 国产精品午夜福利视频| 久久精品女同亚洲女同13| 五月婷在线| 欧美gv在线观看| 超碰在线综合97| 野狼激情网| 国产精品无码在线| 日韩欧美成人性爱在线| 人人操人人爽人人操人人| 久久三区四区| 中文字幕欧美精品亚洲日韩蜜臀| 亚洲色香| 91日日| 91黑丝在线播放| 精品亚洲国产成人av网站| 亚洲精品久久久久毛片A片拉屎 | 亚洲精品无码成人久久久99| 久久久97| 在线有码中文字幕| 性爱综合一区二区| 一级黄色性爱裸体视频| 亚洲一二三四区| 88在线一区二区三区| 大香蕉青青9| 有码人妻系列| 美日韩在线不卡人妻| 自拍盗摄一区| 欧美亚综合色图| 天美av在线观看| 69人妻精品一区二区绯色| 中国探花熟女| 欧美成人午夜免费福利785| 免费作爱一级视频| 婷婷五月av| 婷婷丁香久久| 九九碰九九爱97超碰| 六十路日本| 亚洲强奸乱伦影视网| 黄片在线免费在线观看| 日本道久久综合色色| 中国国产精品一区视频| 95人妻爽爽人人做人人澡| 免费精品99| 中文字幕在线观看丝袜| 亚洲nv男人的天堂网| 日本黄 R色 成 人网站| 中文字幕一区 二区三四五 区日 日骚| 91麻豆va国产精品| 亚洲综合春色| 久久久久久性爱视频| 精品一区96| 人妻久热在线| 91nbbbbbb| 一区二区三区在线日韩影院观看| 欲色综合| 精品无码一区二区三区| 国产福利在线视频网站| 嗯嗯啊啊视频在线看| 久jiu久神马影院| 殴美综合色88| 色噜噜狠狠色综无码久久| AV中文字幕三四五| 中文字幕美女91| 亚欧日韩成人| 国产性刺激| 综合网97| 国产福利小视频高清在线观看| 26uuu国产| 九九九九九九成人| 91精品无码久久久久久久 | 天天日日日射| 蜜臀aV午夜一区二区三区| 亚洲在线A| 欧美天天| 操比国产| 欧美18禁91| 91色人| 日韩兔费看黄片| 手机看片1025| 国产人伦精品一区二区三区| 1204人成网站色www| 在线天堂资源亚洲| 天美麻花大全视频| 成熟熟女国产精品一区二区| 9118禁| 91丨豆花丨熟女| 九九Av| 97色色国产视频| 亚洲91射| 家庭乱伦性爱av| 欧美亚洲第1页| 一区二区三区在线日韩影院观看| 国产精品嫩草影院午夜两性| 色噜噜人妻丝袜AV资源| 精品999一区二区| 精品国产www久久| 久久e6只有精品| 精品人妻一区二区三区视频在线| 岛国片在线观看视频亚洲| 亚洲乱色视频一区、二区在线| 豆1无夜无码| 国产精品亚洲一级av第二区| 欧美日韩精品国产91| 久草成人| 五月综合激情| 亚洲丨在线| 333kkkk·亚洲com久久| 亚洲色性情三级| 大香久久| 综合熟女| 九九九九精品在线| 人妻爽爽啪视频| 男人的天堂一区三区| 大香蕉碰碰| 欧美成人贴图| 婷婷99| 日本亚欧爱爱| 天堂种子在线www网资源| 欧美中字二区| 狠狠操夜夜| 啊啊啊不要啊啊受不了了视频在线| 91在线欧美| 六十路日本| 久久人妇| 日韩一级成人毛片免费观看| 国产精品久久久久久久久久久久久久久 | 婷婷色五月激情| 久久久久久裸体| 国产精品极品美女视频| 久久精品操| 欧美日韩激情无码专区| 久操操| 一级性爱啪啪视频| 麻豆色99999| 狠狠色婷婷777| 中国特猛少妇色xxx| 日韩啪啪啪啪啪| 上床啊啊啊| 啊啊啊不要好疼视频| 91亚洲在线| a男人的天堂| 超碰国产精品久| 亚洲色图伊人网| 五月天婷精品激情| 啪啪啪亚欧美视频| 欧美激情久| 成人5码视频| 9997se| 超碰免费人人| 久久精品国产AV一区二区三区| 欧美日韩国产电影| 日韩欧美亚洲一区二区三区影院| 欧美 亚洲精品首页| 91原创在线观看| 韩三级a视频在线观看 | 亚洲第一在线视频| 欧美色图亚洲色| 亚洲精品国产精品乱码不卡| 日本午夜久久电影| 日本伦乱九九九综合 | 无码黑人精品一区二区三区三| 亚洲超碰综合网| 九九色热| 久久久亚洲Av| 欧美92| 97亚洲资源| 精品国产久热在线观看| 日语五十路和六十路亚洲国产精品| 国产福利夜| 一区二区三区机械有限公司| 天天综合网日韩7799| 久久久偷拍| 日韩情色一区二区| 99精品成人免费看| 韩国一级婬片A片AAAAA| www.亚洲成人一区| 亚洲熟妇A V黑人| 天堂精品小草| 久久久久免费少妇| 美女尤物人人操| 91色色网站| 亚洲第一男人天堂| 999综合色| 色色国产| 97香蕉碰碰人妻国产欧美| 国产精品内射婷婷一级二| 久湿久久| 亚洲自拍一区夜夜操| 日本色色色| 亚洲AV秘 精品久久老牛影视| 亚洲欲色| 久久91| 成人资源中文字幕在线观看| 97天天插| 夫妻AV网站| 婷婷15月天青娱乐| 日日干夜夜欢| 欧美天天综合站| 蜜桃视频一区二区三区在线观看| 97干在线看| 五月丁香婷婷色| 思思热影视| 99re国产精品视频| 国产精品视频麻豆入口| 国产久久av| 日本免费人成视频播放120秒| 91人人| 97亚洲综合在线| 后入式999| 后入式999| 亚洲人妻久久久| 亚洲脚交| 激情欧美97| 超碰97COm中文| 日韩综合97p| 97人人爱人人乐| 超碰97日韩| 在线 欧美 亚洲| 国产三级中文字幕粉嫩| 中出20p| 亚洲少妇视频| 91在线免费精品视频| 干少妇视频| 极品国产内射| www.yeyecao| 亚洲人妻中文高清| 丁香婷婷久久| 91亚洲精品青草| 久久久亚洲精品电影免费看| 久久精品成人一区二区三区蜜臀| 超碰99在线| 无码78| 干我久操| 天美国产精品| 曰本91情色| 一级黄碟| 久久这里只有精品9| aaa亚无码专区| 精品国产人成在线| 视频二区美腿制服人妻欧美| 久久精品国产精品| 欧美大色交| 999岛国大片| av东京热男人的天堂| 欧美A√综合网 | 人妻在线大香蕉| 黄色十八禁| 天天综合色图| 国内毛片无遮挡国产| 人妻人人做人人澡人人爽欧美一区| 亚洲最大网站av| 亚洲精品97在线| 9999亚洲精品| 女生久久网| 北约熟女超碰| 中文字幕 码 自拍 视频 区| 中文字幕久久精视频久久大全| 欧美啪啪天堂| 日韩极品无码B| 日本性爱少妇| 天天影视网色欲色香| 五月丁香激情四射| 婷婷激情四射| 午夜福利一区二区三区四区五区色婷婷| 欧美一区二区三区不卡高清视频| 人人透人人操| 久久婷婷亚洲欧| 国产精品天堂| www.yw尤物| 中文字幕诱惑制服人妻丝袜美丝袜美| 日韩欧美性爱电影在线观看| 色色色色网站| 日本九九久久99| 国产在线播放成人免费| 亚洲国男人的天堂| 97久操| 一类av片在线看| 欧色综合| 亚洲av国产av综合av卡| 91丝袜在线观看视频在线观看| 国产AV天美传媒一区二区三区 | 国厂麻豆77q4| 在线视频 亚洲精品| 激情五月天网站| 五十路人妻在线| 老熟女乱伦一区| 欧美激情总合网| 欧洲视频在线| 另类图片五月| 日韩黄片视频试看| 国语国产操逼伊人AV网| 操一区| 成人久久久精品| 天天综合色电影| 偷拍亚洲情色| 日韩啪啪啪啪啪| 欧美男人的天堂| 亚洲中文字母在线播放| 97超碰欧美手机在线| av午夜影院在线播放| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 亚洲国内精品成人不卡| 国产精品熟女九色九色蜜臀| 欧美大色交| 成人八戒网站| 大香蕉中文在线| 口爆综合网| 国产成人91一区二区三区| 亚洲天堂人妻一区二区| 超碰免费人妻人人| 九九av| 熟女六十路| 性感美女91影视| 久久五月视频| 国产精品福利资源在线尤物| 99精品伊人| 少妇3P性爱自拍| 丝袜狂射91| 中文字幕 国产 精品| 91天美免费| 中文字幕视频在线观看一区二区| {男男暴菊gay无套网站| 超碰97综合网| 精品夜夜澡人妻无码| 熟女激情综合网| 亚洲色图综合网| av一区二区三区 中文| 九九操久久国产免费视频| 综合熟女| 色综合久久88色综合久久天天| 午夜操操操| 少妇一线天久久久久久| 久久草在线综合视频| 91人人操| 天天日熟妇| 五月婷婷色| 国产理论视频在线播放| 清纯唯美激情| 九9热伊人| 一二三区在线| 黑人黄片在线免费观看| 在线播放成人高清免费视频| 精品免费成人久久| 在线视频一区二区传媒| 久久国产三区| 日韩AC| 中文字幕一区二区三区字幕| 蜜臀99久久| 久久久久久人| 情色五月天网| 97中文天堂| 欧美亚洲情色| 国偷自 一区| 又黄又硬又粗又长国产视频| 九月伊人中文字幕| 国产精品久久9| 色哟哟AⅤ| 91欧美美女日韩国产婷婷| 亚洲国产一区二区三区四区国产| 超碰无码加勒比| 中文字幕av片| 天天躁狠狠躁av| 久久9精品视频| 激情久久av一区av二区av| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 尤物网站91| 久久久无码精品人妻二区| 欧美 熟女 日韩| 天天操女人| 日本福利二区视频| 福利在线黄片| 天天日B夜夜干B时时操B| 久久这里只精品免费福利| 国产精品欧美在线观看| 中文字幕乱偷人妻久久艾草网| 97少妇人妻中文字幕久久| 色婷亚洲五月在线观看| 国产精品无码久久久久2028| 无码精品久久| 肉动漫无遮挡h在线观看| 野狼福利社区| 曰韩人妻中文字幕在线 | 日日日日做夜夜夜夜做无码97| 美女91在线观看| 欧亚不卡| 欧美A√综合网| 亚洲欧美九九九| 和协无码影院| 1204金沙人妻懂旧版免费| 欧美狠狠操| 黄色高清久久无码依人| 青女在线| 干b网| 99精品在线| 色色97爱| 视频一区二区三区精品| 人人操人人插人人摸人人干| www.99中文字幕| 无码av永久免费专区网站| 91c色| 亚洲福利中文字幕在线| 六十路日本| 欧美激情总合网| 夜夜高潮夜夜爽高清视频一| 91爰爱欧美| 色香91| 久久久久久九| 国产二区视频在线观看电影| 国产亚洲色婷婷久久99精品91葵花宝典 | 乱伦熟妇一区二区| 亚洲国产97| 12一15性XXXX粉嫩国产| 日本成人电影资源网| 欧美日韩中文亚洲v在线综合| 色色色999| 成人精品久久久午夜福利| 国产99热| 国产成年精品高清在线观看91| 人妻一区视频| 伊人AAA| 亚洲天堂自拍| 99热欧美| 乱伦av国产| 志村玲子视频一区二区| 欧美大香蕉97| 人妻丰满熟妇av无码区蜜桃| 26UUU欧美日本| 国产真实野战在线视频| 欧美AB在线观看| 另类专区加勒比| 日本不卡五区| 日本三级R| 超碰激情808| 亚洲色综网| 日本人妻最新在线中| 免费伦费视频在线观看| 国产精品小视频一区二区三区| a片亚洲一本通视频| 日韩在线电影| 色官网在线| 天天影视射综合网| 九九九热| 日韩有码一区三区| 精品综合久久久久久97| 久久五十路熟女人妻| 999久久久精品国产| 啊啊啊啊好疼视频| 三级特黄60分钟播放| 伊人天堂在线| 国产嫩草精品A88AV| 欧美日韩国产三级黄色| 欧美天天谢综合网| 精品人妻一区二区三区在| 免费看日本操逼视频| 中文字幕十五区| 色婷婷六月丁香七月婷婷| 混色激情av| 久热伊人| 99亚洲天堂| 91久热| 69精品久久久久中文字幕| 亚洲成人色情五月天丁香花| 三级日韩一区二区三区| 婷婷情色综合网| www亚洲欧美| 综合五月婷婷| 精品少妇一区二区| 我爱大香蕉| 色欧美在线| 9999免费精彩视频| 亚春色色| 99在线精品观看99| 国产久久天堂资源| 天天看片青娱乐| 影音先锋少妇| 日本淫穴在线| 国产AV激情无码久久无码 | 夜夜嗨一区二区三区三州加勒比| 日韩欧美午夜视频在线| 超碰在线1234区| 亚洲1区2区三区高清中文字幕| 91性感网站| 啪啪AV导航| 亚洲综合一| 韩日无码在线观看| 天天拍天天操| 亚洲三级。日韩三级| 99只有精品| 亚州综合网| 欧美专利1区2区3区4区5区免费| 国产无码精品久久久久久| 99久久久无码| 欧美一级国产一级| 97ai亚洲| 99re3这里只有精品| 国产精品白丝在线播放 | 日本熟妇浓毛hdsex| 久久一区无码| 精品视频免费在线一区| 少妇九九九九| 国产馆极品诱惑| 琪琪精品免费一区二区三区| 色偷偷2020免费视频播放| 亚洲综合小说另类图欧美视频激情小说色五月天| 成人怡红院| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 国产高清MV操逼视频| 色偷偷2020免费视频播放| 欧美极品女人的天堂| 亚洲欧美在线观看无码| 亚洲av资源| 你草精品在线视频| 亚洲电影中字一区二区| 欧美页片| 日本精品一区二区中文字幕| 久久黄黄| 毛片视频白嫩| 日韩黄片影院| 96国产精品| 求求你操操我| www.丁香五月| 一线黄色免费性爱片| www欧美91| 国产第11页| 亚洲中文字幕妇伦久久| 手机看片1025| 在线色导航| 97天堂| 99精品无码| 欧美在线大香蕉| 伊色综合天堂色97| 熟女自慰久久久| 中文字幕 国产 精品 | 探花精品视频| 风流老熟女一区二区三区l| 亚洲 暴爽 AV人人爽日日碰| 欧美日韩亚洲少妇寂寞影院正在播放| 性色av一区二区| 欧美激情亚洲色图| 少妇一线天久久久久久| 久久婷婷色| 人干人人人操人人摸| 国产9 9在线 | 亚洲| 日日爱99| 蜜臀久久99精品久久久| 屁股久久久久久久久久| 97超碰超| 美欧色综合| 成人情色综合网| 久欲AV| 伊人精品国产| 啊啊啊啊啊好舒服视频| 国产地址二三| 久神马| 97超碰久久色| 亚洲性少妇| 97精品97久久| 日本精品九九九| 蜜桃精品视频一区二区三区| 欧美超碰人妻97| 久草草一二三四区久久| 熟女网站最新| 蜜桃视频啊啊啊啊| 欧美激情精品久久久| 97伦乱| 美女十八禁| 97久久超碰亚洲| 九九九九亚洲| 人妻夜夜爽天天爽三区麻豆AV网站| 美欧色综合| 蜜桃av色偷偷av老熟女| 婷婷久久五月综合激情| 日本中文字幕不卡视频| 国产午夜在线观看视频| 成人三一级一片aaa| 福利伊人玖玖国产| 日韩去日本高清在| 欧美极品女人的天堂| 欧美综合97www| 国产青视频| 久久人妻无码毛片A片麻豆| 亚洲91射| 被操高清无码视频| 色官网色综合| 久热婷婷| 亚洲av热热色| 欧美爱国产综合、| 99无码| 97在线观看播放视频| 熟妇操花| 九月AV| 亚洲精品国产熟女久久久| 国产一线二线三线av| 黑人娇小av在线播放| 国产精品麻豆免费视频| 欧美性爱另类综合| 天天香香欲综合| 综合九九| 另类图片欧美激情综合| 精品性爱一区二区| 亚91亚洲网| 青草伊人网| 黄色成品网站| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 久久久工口| 男人精品天堂一区| 78久久| 国产精品探花在线| 97人人爱人人做人人乐| 女优大全 - 91n| 国产精品麻豆视频网站| 在线观看十八禁| 懂色av中文字幕| 操人91| 1024亚洲中文字幕久在线看片你懂的| 成人天天爽| 国产一国产一级毛片古装| 国产亚洲禁久一区二区 | 久草在线| 亚洲精品三| 日韩国产十八禁| 日骚逼视频| 午夜福利免费福利视频| 久草婷婷| 91人妻人人澡人人爽人人精品| 亚洲精品美女久久久久久久久| 日韩在线人妻网站| 蜜臀久久99精品久久久久久婷婷| 在免费jIzzjIzz在线视频| 九九九久千久久激情蜜桃在线看 | 国产91久久九九免费精品无码| 欧美狠狠弄| 殴美性天天| 国内三级自拍小视频在线观看 | 99精品国产户外露出| 五月天开心网| 高潮9999外国| 婷婷久久久| 国产精品毛片| 国产中文字幕曰本毛片| 色哟哟av网址| 久久久久久国产手机AV| 亚洲男人的天堂网| 久久性爱精品一区| 日本A级视频| 久热影视| 9久久美女首页| 久久国产熟女影院| 夜夜嗷嗷一区二区| 综合av社区| 久干网| 无码高清专| 99re在线视频国产| 自拍偷拍2025在线观看| 久久久精品九| 丁香五月偷拍| 好吊色综合| 偷拍欧美激情| 中文字幕,人妻,日韩| 狠狠图片青青草| 韩国黄片aaaa| 亚洲人精品久久久| 制服乱伦| 丰满人妻一区二区三区| 天天日日日射| 亚洲一欧洲中文字幕在线| 91 综合 色| 久操不卡视频| 亚州综合色| av情色影音| 国产www色在线观看| 蜜桃臀一区二区三区久久| 婷婷导航| 国产精品黑人一区二区三区| 无码男人天堂| 五月婷婷久久综合| 精品三级在线专区| 久久人妻无码毛片A片麻豆| 久久HD| 国产成年女黄特黄| 无码男人天堂| 蜜臀国产AV中文字幕| 69av一区二区三区| 日本天天干天天日一区| 色爱综合网| 熟妇的味道HD中文字幕| 欧美日本不卡在线| 99九九久久| 蜜臀操逼黄色视频操的好爽| 国产成人亚洲精品无| 蜜屁Av| 成人欧美一区二区三区黑人一| 天堂69亚洲精品中文字| 人妻精品一区一区三区蜜桃91| 亚洲图片欧美91N| 青娱乐亚洲自拍| 9丨久久九九九| 啊啊啊啊啊啊啊啊啊啊在线观看| 99精品久久| 十八禁的黄污污免费网站| 狠日欧美| 午夜福利 成人 91| 怡春苑东京热| 久久久不能久久久久| 97久久久| 久久精品操| 香蕉99秘 精品一区丁香| 波多野结衣先锋影音| 亚洲在线欧美| 中出20p| 啊啊啊啊二区好大| 午夜精品99久久久久传媒| 黄色欧美性爱视频| 69少妇一区二区| 91成人无码| 亚州高清AV| 69久久久久久久久久久久久| 亚洲综合在线高清| 激情五月综合网| 色爱三区| 嫩草一区二区在线观看| 100啪啪视频大全| 国产精品久久久久久久久久久久久久吹 | 国产精品一级片在线看| 看免费的黄片| 日韩成人性日韩成人性爱视频在线免费观看 | 91AV老熟女视频| 俺去也婷婷| www.人人cao| 激情接吻视频久久久久久| 久久天天艹| 亚洲电影中字一区二区| 日本成人在线不卡一区二区三区| 精产品久久| 99热在线只有精品| 毛片99-全集电影手机免费观看完整-B029AV| 精品十三区| 色好看av| 国产AV人人 夜夜人人澡| 亚洲色图欧美色图制服丝袜| 欧美激情亚洲色图| 青娱乐av在线| 亚洲欧洲精品成人| 欧美美女在线高潮999| 日韩三级网址| 成人老鸭窝人人在线视频| 欧美三级免费伊人| 欧洲精品一区二区三区| 日本不卡二三区| 色麻豆AV| 久久婷婷苹果| 97中文字幕九区| 天天综合网网欲色| 国产精品福利资源在线尤物| 一区AV| 伊人久久在线视频观看| 激情网色| 六月丁香啪啪| 久久熟女人| 日韩av色图综合| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 国产精品无套内谢| 综合欧美日本三级| 色综合久| 久久亚洲天天做| 色老久久| 久久久久久九九九| 被男人吃奶很爽的毛片| 26uuu国产日韩综合在线观看| 在线人人人人人人精品超| 操一区| 人妻密肉在线观看| 91超碰碰在线| 男人的天堂一区| 亚洲无码超碰免费| 日韩国产中文字幕| 精品免费一区二区三区在线亚洲人成| 精久久久91| 亚洲图片视频小说| 1769一区| 亚洲精品国产精品乱码不99| 91原创在线观看| 欧美 综合 亚洲| 亚洲欧美天堂| av日韩手机在线影视| 色婷婷综合网| 日韩电影天堂视频二区三区| 欧美性色欧美| 成在线人在线观看视频| www.超碰| 秋霞福利网| 亚洲天天综合| 男人的天堂一区三区| 欧亚乱色熟一区二区三四区| 啊啊啊啊,啊啊好多水| 色色毛片| 色色色999| 亚洲男人的天堂网| 久久春色| 亚洲欧美经典一区二区| 久久仑合| 男人的天堂2019| 91干熟女| 中文字幕精品久久久久人妻红杏ⅰ| 欧美高清16| 国产尤物AV尤物在线观看不卡| 青青草自拍视频在线播放| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 97精品视频网站| 欧亚日韩中文在线| av凤凰久久久| 劲爆欧美人妖三区91| 日韩免费在线观看不卡| 天天做天天爽| 成人日本片久久久蜜桃| 国产精品黄色三级av| 伊人97色天使| 欧美日韩1234| 婷婷爱五月| 人人澡人人澡人人| 日本视频一区二区三区| 久久久久亚洲精品| 岛国在线国产| 亚洲情色一区三区| av影片在线观看不卡| 人妻AV 中文字幕的| 精品少妇一区二区三区| 久久精品店| 岛国不卡超碰护士AV在线播放| 蜜乳Av成人片网站| 欧美婷婷久久| 亚欧性爱无码| 美女黑人91神马| 久久亚洲欧美中文字幕国语| 亚洲区限制级| 丰满人妻一区| 丁香五月天视频| 99视频自拍区| 亚洲欧洲网站免费观看| 懂色av中文字幕| 在线视频日韩欧美国产| 夜夜做夜夜爽精品视频| 在线观看黄色电话| 死我十八禁| 婷婷五月天影院| 天天干人人乐| 天天流夜夜操| 中文字暮97| 婷婷综合激情| 久久亚洲精品成人av| 日本九九久久99播| 伊人影院日本| 99re3这里只有精品| av影片在线观看不卡| 中文一区二区婷婷视频| 青春草莓视频在线观看网址| 黄色小说亚洲| 无套内射人妻在线播放| 亚洲宗合网| 精品一二三区久久AAA片| 999久久久久久久久| 性吧在线视频| 一中国女人毛片水真多| 9精品在线| 亚洲黄网在哪免费看| 久艹免费| 日日干日日操五月天伦理视频| 国产亚洲日韩欧| 亚洲麻豆18发?| 丁香六月婷| 超碰精品日韩欧美国产| 东京热熟女亚洲视频网站| 亚洲AV成人无码一区二区三区在线观看| chaopen97久久| 久久精品人体| 操逼片国产| 91熟女丨91老女人| 欧美性战999| 久久性爱大全| 在线视频 亚洲精品| 日韩精品人妻中文字有码在线| 亚洲av强奸乱伦| 91久久青青草原精品| 亚洲欧美在线综合| WWW4虎| av无码av无码专区| 亚洲精品人体| 丝袜狂射91| 婷婷成人久久久精品| 丝袜美腿制服人妻二区中文字幕 | 欧美中出1| 91香蕉国产尤物视频| 97操综合| 大香伊人在线一区| 综合激情婷婷| 黑人操一区二区| 天天躁日日躁狠狠躁| 亚洲美女黄色| 91亚洲欧美色图| 99在线免费视频| 国岛片视频| 久久精品福利影院| 91 天天综合| 亚洲精品国产熟女久久久| 久视频在线观看| 99碰碰| 狠狠色噜噜狠狠狠狠狠色综合久久| 91欧美 | 97硬碰| 大香蕉碰碰| 欧美v亚洲v日韩v最新在线二区| 91精品人妻偷情| 99re欧美| 人人操超碰在线| 曰韩少妇无码| 91/欧美| 亚州再线| 97二区四区| 天天操夜夜操| 丁香五月色| 亚洲精品第一| 欧美亚洲另类在线蜜桃| 亚洲天堂中文字| 51国产午夜精品视频| 国产又黄又爽| 蜜臀中文字幕| 久久久久久久精| 精品亚洲天堂| 91色婷婷综合久久中文字幕二区| 蜜臀中文无码午夜| 91亚.色| 无码人妻毛片丰满熟妇精品区| 精吧天堂| 国产风韵犹存熟妇三区| 国产第二页| 98福利在线视频| 色婷婷久久综合超碰| 熟女欧美日韩综合婷婷| 久久精品视频28| 国产精品久久久久久久久久久久久久久久久久 | 欧美成人9797| 91男女啊啊啊| 人妻在线臀日韩| 97超碰色屌| 传媒免费一区二区三区| 999 久久久| 亚洲人人夜夜澡人人爽| 91n.欧美| 国产精品乱码久久久| 久久久四区| 韩国三级一线观看久| 日韩免费av片高清无码| 成人性爱av| 成年人一级黄色毛片大全在线观看| 殴美在线AⅤ| 人人看人人摸人人色| 激情综合五月| 夜夜高潮夜夜爽高清视频一| 91骚妇| 久久精品91| 久久久久久综合久久伊人蜜月| 欧美精品97| 秋霞免费无码视频日韩A片| 高潮的A片激情扒开一区| 午夜影美女日鸡鸡天天视频国产| 精品久久人妻成人网| 2010男人的天堂| 色九九九| 99热国产| 超碰九7免费| 日韩在线一区二区| 中文字幕av乱伦| 欧美极品少妇交| 国产乱码精品久久久久久| 欧美亚洲韩国视频十五区 | 欧美做爰无码A片视频| 丁香五月成人| 天天天乱色综合全| 自拍第一页| 东京热一区二区中文字幕| 欧美性生活免费网| 五月天色色色| 嗯嗯啊好大| 色色九区| 色欲蜜臀AV| 欧美综合骚| 秋霞鲁丝午夜无码一区二区三| 91黄站| 色天使亚洲综合在线观看| 色五月婷婷在线| 国产小炒后入式| 97爱综合| 日本一本道A级黄色毛片试看60分钟| 大香蕉亚洲中文| 亚洲九九爱| 国产精品点击进入在线影院高清 | 91天天综合在线观看| 国产精品一区二区a| 久操不卡视频| 日韩精品9999| 日韩欧美加勒比| 国产18精品亚洲精品| 亚洲综合网图| 色图四区| 亚洲AV无码乱码在线观看性色| 国产精品色哟哟| 国产97视频| 去干网最新版| 综合久久99亚洲人妻中文在线| 男人午夜天堂| 中文字幕jul-617人妻熟女| 亚洲精品一卡二卡三卡福利视频网站| 一起草在线视频| 国产日韩欧美三级片| 精品无码一区二区三区| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 丝袜视频网国产90| 91午夜无码| 白丝jkav| 明星性猛交ⅹxxx乱大交| 五月丁香成人网| 国产三级中文字幕粉嫩| 日韩av在线免费网站| 伦在线97| 日韩99精品视频综合区| 9热9热综合网| 日韩啊V| 美腿色图| 国产呦精品系列在线观看| 日本狠狠干| 亚洲色电影在线| 激情婷婷五月天| 大香蕉性欧美| 九九无码视频| 97超碰伊人| 欧亚免费视频| 2003天天干夜夜操| 粉嫩不卡一区二区性爱| 欧美一区二区三熟女剧情| 老司机深夜影院18未满| 老熟妇一区二区三区啪啪| 国产中文大片资源中文字幕| 噜噜噜久久亚洲精品色情| 国产成人精品必看| 欧美一区二区成人一卡| 人妻少妇被猛烈进入中| 精品国产久久乱码| 人妻人人做人人澡人人爽欧美一区| 日本最新免费韩国1区2区视频播放| 天天操天天射天天日| 熟女高潮合集-永久久久-成人AV| 午夜男人av| 无卡一区=区| 久久五月丁香| 欧美天天综合网| 婷婷综合在线观看| 国产不良强奸视频免费看| 欧美激情久| 人、人、摸,人、人、草| 亚洲天天天| 狠狠干综合| 2018天天日天天日| 96国产污污污丝袜| 中文字幕亚韩| 伊色久人大在线| 久久色激情一区二区三区| 久久久久久亚洲Av无码| 亚洲性综合| www激情| 农村女一级毛卡片| 怡春苑东京热| 国产精品久久伊人| 97色色色| 日韩不卡网操逼中文字幕日韩| 久久精品国产亚洲AV无码电影| 国产美女自拍视频| 爱欲AV| 亚洲熟女中文字幕在线| 亚洲丝袜诱惑| 色网在线| 五月丁香啪啪啪| 国产精品久久天天干| 欧美一区二区三区成人性生活| 久久草大香蕉| 国产亚洲欧美每日在线| 日韩无码服务区| 日韩欧美成人大香蕉| 美国一区二区免费视频| 国产精品ww久久| 超碰到97情色| 91精品人妻一区二区三区蜜桃臀| 国产精品宅男免费| 久久一区二区三区四区五区| 无码人妻精品一区二区三区九九 | 久久九九97| 蜜臀AV成人精品蜜臀| 欧美日韩99| 韩国成人精品久久久免费看| 中文乱码字幕观看视频| 久久99精品九九久久久婷婷| 久久人妻办公室视频| 岛国艾薇凹凸视频天堂| 操啊国产| 欧美加勒比| 蜜桃精品视频一区二区三区| 欧美成人亚洲精品| 免费精品99| 精品国产一级久久| 国产丝袜欧美在线视频| 国产91美女视频| 亚洲诱惑天堂| 神马久久久久久久久久久久| 亚洲欧美大香蕉| 久久精视频美日韩在线视频| 九九精品99| 人人操,人人液| 先锋女优在线观看视频| 欧美日韩97在线| 91久久久视| 天天干一区二区| 91美女丝袜诱惑视频| 国产激情片在线观看| 黄色区免费观看中文字幕| 被男人吃奶很爽的毛片| 久久久少妇| 蜜桃久久一区二区| 大香蕉一人| 亚洲欧美激情小说| 人妻素股| 美国三级日本三级久久99| 热久久99999| 91成人在线| 色眯眯射| 91麻豆天美传媒HD| 国产精品久久久久久夜夜夜| 亚洲情色91| 韩国一区二区精品亚洲| 精品久久視頻在线| 狂操嫩妻视频一区二区三区| 大香蕉五月天婷婷| 免费啪啪啪网站18岁| 欧美一级黄色18片免费看| 伊人激情五月天一区二区| 国产精品熟女九色九色蜜臀| 日本欧美一区二区三区视频麻豆| 国产婷婷综合在线观看| 粉嫩av平台| 亚洲精品一区二区精品| 操逼逼一区视频| 日韩美女啪啪一区| 377p欧洲日本亚洲大胆| 福利视频一区二区微拍| 国产午夜激片Av毛片不卡| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | BBBBB97COM| 亚洲色阁| 午夜啪| 精品人体无圣光凹凸| 婷婷五月天激情网|