久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

邊緣網(wǎng)關(guān)如何解耦遺留系統(tǒng):新能源出海項目通信架構(gòu)升級實踐

邊緣網(wǎng)關(guān)如何解耦遺留系統(tǒng):新能源出海項目通信架構(gòu)升級實踐 凌晨兩點庫爾勒那邊的風電場項目打來電話說數(shù)據(jù)采集服務(wù)又串包了。原因還是老一套——上位機每隔幾秒就輪詢一遍幾十臺設(shè)備的Modbus寄存器老的通信服務(wù)程序每處理完一輪請求就要重新初始化一次串口句柄現(xiàn)場有臺設(shè)備偶爾響應(yīng)慢整個鏈路就卡死了。這已經(jīng)不是我第一次在新能源項目的現(xiàn)場聽到類似的問題尤其是那些帶著“老底子”出海的裝備問題會成倍放大。傳統(tǒng)裝備制造企業(yè)做新能源出海有個很容易被忽視的坎設(shè)備本身是新的BMS、PCS、EMS也都是新采購的可一旦要把這些設(shè)備接入到原有的生產(chǎn)管理系統(tǒng)、監(jiān)控后臺、運維平臺就立刻暴露出老系統(tǒng)的各種“不服”。這些遺留系統(tǒng)可能是十年前用C#寫的桌面服務(wù)程序跑在一臺Windows工控機上也可能是早期采購的嵌入式通信管理機只支持一路Modbus主站升級一個點位都要廠家遠程改固件。你帶著一臺非常先進的儲能變流器出海最頭疼的反而可能是這套老掉牙的通信底座。我在好幾個項目里被這個問題反復(fù)折磨之后徹底明白了“解耦”這兩個字的分量。這篇文章不聊怎么把遺留系統(tǒng)推倒重來那種事大概率不現(xiàn)實也沒必要。我想說的是怎么用一臺邊緣網(wǎng)關(guān)把那些跑了幾十年還不得不用的遺留系統(tǒng)從新能源裝備的高速演進中“摘”出來讓老的繼續(xù)按老的方式活讓新的用新的節(jié)奏跑兩邊互不拖累。先說個直白的結(jié)論邊緣網(wǎng)關(guān)在解決這個問題上不是錦上添花的“加個盒子”而是體系層面的“翻譯官隔離艙數(shù)據(jù)池”。它能同時解決協(xié)議不同、周期不同、數(shù)據(jù)結(jié)構(gòu)不同、物理接口不同這幾個層面的糾纏。而“解耦”這個動作也不是一次性工程它分成代碼解耦、硬件解耦、數(shù)據(jù)解耦、部署解耦四個層次真正的項目經(jīng)驗恰恰是這一點最容易被忽略。1. 出海項目里的遺留系統(tǒng)到底“遺留”在哪個環(huán)節(jié)1.1 不是所有老系統(tǒng)都該拆但要先找“卡脖子”的依賴做海外新能源項目的人都知道設(shè)備出口不同于國內(nèi)項目最大的變化是“邊界條件”變了。國內(nèi)你可能只需要對接電網(wǎng)調(diào)度、省市級平臺協(xié)議固定、平臺固定、響應(yīng)要求明確。到了海外每個國家的電網(wǎng)標準、通信規(guī)約、當?shù)乇O(jiān)管要求、業(yè)主運維習慣都不一樣有些地方甚至要求同時上送兩個甚至三個國標協(xié)議還要支持本地私有協(xié)議對接。問題就出在這里。你的新能源設(shè)備儲能集裝箱、光伏逆變器、風電變流器本身通信能力很強新的是Modbus TCP、IEC 61850、IEC 60870-5-104隨便選??墒抢系倪z留系統(tǒng)不是這樣它可能只能接受一種協(xié)議格式而這種格式還是十年前的一個項目組定死的字段長度、枚舉值定義、刷新頻率全都寫死在代碼里。我見過最典型的一個項目儲能集裝箱配套的老監(jiān)控系統(tǒng)底層通信程序把采集周期寫死成1秒但EMS的遙測數(shù)據(jù)是3秒才刷新一次結(jié)果老監(jiān)控界面上的SOC值每秒都在跳看起來就好像數(shù)據(jù)異常實際上老通信程序在拿3秒未更新的緩存數(shù)據(jù)反復(fù)上報。要解決這個問題常規(guī)思路是改監(jiān)控系統(tǒng)的代碼但這家廠家告訴我們這套系統(tǒng)是從歐洲某廠商買的源碼核心工程師已經(jīng)離職代碼注釋還是荷蘭語——想改根本無從下手。這是遺留系統(tǒng)的第一種“卡脖子”接口定義和業(yè)務(wù)邏輯深度耦合改任何一個字段都可能影響整套系統(tǒng)的穩(wěn)定性。1.2 老舊上位機通信程序的三大通病拋開代碼層面一個跑了五年以上的遺留系統(tǒng)在實際運行中普遍存在三個通病而這些通病在新能源出海場景下會被顯著放大。第一是單點輪詢瓶頸。老的上位機通信服務(wù)程序多數(shù)是單線程輪詢設(shè)計一臺主機掛幾十臺設(shè)備就接近上限了一旦總線里有一臺設(shè)備響應(yīng)慢后續(xù)所有設(shè)備的輪詢都會阻塞。海外項目通常要求接入更多的設(shè)備節(jié)點比如整車車隊、多臺儲能柜、分布式光伏陣列老系統(tǒng)根本扛不住。第二是協(xié)議單一死板。老系統(tǒng)往往只支持64點以內(nèi)的點位表或者只支持一種規(guī)約比如只有Modbus RTU主站面對海外項目動輒幾百上千的點位以及IEC 61850、DL/T 645、MQTT等多協(xié)議需求完全沒有擴展能力。第三是硬件綁定嚴重。老通信程序往往和工控機綁定依賴串口中斷、依賴操作系統(tǒng)版本、依賴特定廠商的USB轉(zhuǎn)串口驅(qū)動。一旦出海換了一臺新電腦或者客戶指定要裝在某款國產(chǎn)操作系統(tǒng)上程序就聯(lián)調(diào)不過去。這三個通病放在一起本質(zhì)上說明了一件事遺留系統(tǒng)的軟硬件生命周期已經(jīng)跟不上海外新項目的迭代速度。如果你硬著頭皮讓老系統(tǒng)去適應(yīng)新需求要么尋求原廠支持大概率要付費且周期漫長要么自己改代碼風險不可控要么就是在這種困境里反復(fù)消耗現(xiàn)場工程師的時間。我見過太多海外項目電氣工程師是在業(yè)主群里的Chat記錄和十幾個微信群里被遠程協(xié)調(diào)拉鋸戰(zhàn)折磨到崩潰的。1.3 邊緣網(wǎng)關(guān)介入的底層邏輯做中間層而不是改造者這些困境疊加在一起催生出了一個非常實際的需求——不指望老系統(tǒng)變得更聰明只求它能繼續(xù)穩(wěn)定輸出原來的數(shù)據(jù)同時讓新系統(tǒng)的接入工作不被它拖住。邊緣網(wǎng)關(guān)在這套邏輯里扮演的不是“改造者”而是“中間層”。它向下接管所有新老設(shè)備的通信向上統(tǒng)一對外提供標準的數(shù)據(jù)接口。老的遺留系統(tǒng)不需要知道外邊來了多少個新設(shè)備、換了什么協(xié)議它只需要按照自己熟悉的節(jié)奏跟邊緣網(wǎng)關(guān)這一臺“設(shè)備”打交道就夠了。這么做有個非?,F(xiàn)實的好處對遺留系統(tǒng)的改動量可以降到零。我們后續(xù)的項目里甚至有不少老系統(tǒng)本身硬件已經(jīng)壞掉了我們直接用邊緣網(wǎng)關(guān)的串口服務(wù)器功能模擬出一個以原IP和端口號存在的虛擬設(shè)備老平臺以為自己在跟原來的設(shè)備通信其實鏈路已經(jīng)被網(wǎng)關(guān)改道了。這就是解耦的精髓——不讓任何一端為了另一端犧牲特性和節(jié)奏所有變化都收斂在網(wǎng)關(guān)這一層處理。聽起來簡單真正落地要做到什么程度下一節(jié)展開說。2. 解耦的完整設(shè)計斬斷四層糾纏2.1 代碼解耦從“硬編碼”到“配置驅(qū)動”先聊軟件工程師最關(guān)心的代碼解耦。遺留系統(tǒng)里面最糟糕的代碼不是寫得亂而是邏輯全寫死在業(yè)務(wù)代碼里。舉幾個我在新能源項目里遇過的真實例子Modbus寄存器地址直接散落在業(yè)務(wù)代碼的各個角落改一個點位要全局搜索。串口參數(shù)、超時時間、重試次數(shù)寫在配置文件中但代碼里到處都是open()前臨時修改全局變量。業(yè)務(wù)邏輯和通信邏輯混在一個回調(diào)函數(shù)里收到一個遙測幀就直接更新界面、寫入數(shù)據(jù)庫、觸發(fā)報警中間沒有任何中間層。在一個出海項目里這種代碼耦合幾乎是致命的。因為海外業(yè)主的驗收往往要求提供協(xié)議一致性測試報告而字段每次調(diào)整都要重新編譯、發(fā)版、現(xiàn)場部署一輪一個項目下來光版本更新就二十多次。我們用邊緣網(wǎng)關(guān)做代碼解耦時核心手段是“配置驅(qū)動”。在網(wǎng)關(guān)里維護一個點位映射表把設(shè)備側(cè)的點位比如PCS的直流母線電壓寄存器地址30001映射成業(yè)務(wù)側(cè)的標準數(shù)據(jù)點比如dc_bus_voltage所有協(xié)議轉(zhuǎn)換、地址翻譯、格式轉(zhuǎn)換全部由網(wǎng)關(guān)完成。業(yè)務(wù)平臺對接的不再是某款設(shè)備的私有寄存器而是一份標準的JSON/Modbus/MQTT數(shù)據(jù)模型。這樣做完之后代碼改動被收斂成“配置修改”。新增設(shè)備時你只需要在網(wǎng)關(guān)的模板庫里選一個相似設(shè)備的模板改一下設(shè)備IP和點表不用重新寫代碼變更點位屬性時正常一個點位的配置修改在兩分鐘之內(nèi)就能完成不用再做版本發(fā)布。2.2 硬件解耦把應(yīng)用從物理硬件上“摘下來”代碼層面的解耦做完下一個棘手的問題是硬件。很多遺留系統(tǒng)跑在特定的硬件上比如一個老式的工業(yè)平板、一臺帶PCI串口卡的工控機。這些硬件要么停產(chǎn)要么因為海外項目需要通過EMC、高低溫、鹽霧測試而根本過不了檢。硬件解耦的本質(zhì)是讓上層應(yīng)用不再依賴特定硬件特性把它們封裝起來讓程序跑在任何一臺邊緣網(wǎng)關(guān)上都一樣。在我做的邊緣網(wǎng)關(guān)方案里這一步通常用容器化來實現(xiàn)。我們把老系統(tǒng)的通信服務(wù)程序比如那個Modbus輪詢程序打包成Docker鏡像跑在網(wǎng)關(guān)的容器運行時里。老程序?qū)ν獗憩F(xiàn)不變——它還是監(jiān)聽5000端口但實際通信鏈路已經(jīng)被虛擬化網(wǎng)關(guān)的容器網(wǎng)絡(luò)把宿主機物理串口映射成容器內(nèi)的虛擬串口老程序在容器里去訪問/dev/ttyS1其實訪問的是網(wǎng)關(guān)物理RS485口之后接的設(shè)備。硬件層面的“解耦”這個詞在項目里我通常講三層含義應(yīng)用不再關(guān)心跑在哪個物理設(shè)備上容器可以遷移、重啟、備份。應(yīng)用不再需要認識真實物理端口虛擬串口、虛擬網(wǎng)口讓“接線”變成“配置”。數(shù)據(jù)不再依賴物理鏈路存活斷網(wǎng)時數(shù)據(jù)緩存在本地恢復(fù)后自動補傳。這套做法最受益的場景是海外項目的遠程運維。老系統(tǒng)一旦在海外現(xiàn)場掛了過去你只能請客戶拍日志、寄硬盤回來現(xiàn)在容器方案可以遠程把整個容器打包下載回來放到本地測試環(huán)境里復(fù)現(xiàn)問題甚至可以直接在網(wǎng)關(guān)側(cè)做遠程容器替換。這種調(diào)試效率和傳統(tǒng)模式是完全不同的兩個層次。2.3 數(shù)據(jù)解耦標準模型 vs 私有協(xié)議代碼和硬件解耦做完必須面對數(shù)據(jù)模型的統(tǒng)一。新能源設(shè)備的數(shù)據(jù)有兩個極端一方面是IEC 61850、IEC 60870-5-104這類標準化程度很高的規(guī)約字段定義、數(shù)據(jù)類型、時標格式都有國標規(guī)范另一方面很多海外項目用的還是廠家私有Modbus協(xié)議點位表五花八門SOC的縮放系數(shù)可能是0.1%也可能是0.01%溫度單位可能是攝氏度也可能是華氏度甚至同一個廠家不同批次設(shè)備的數(shù)據(jù)格式都不一致。數(shù)據(jù)解耦的方案是“雙軌制”網(wǎng)關(guān)向上輸出標準數(shù)據(jù)模型向下適配私有協(xié)議。翻譯成人話就是我只讓網(wǎng)關(guān)內(nèi)部處理那些復(fù)雜的、不統(tǒng)一的、私有化的轉(zhuǎn)換對外暴露給上層業(yè)務(wù)平臺的永遠是一份一致的數(shù)據(jù)模型。實際操作中我們采用了一個比較輕量但管用的方案基于JSON Schema定義統(tǒng)一數(shù)據(jù)模型。每臺設(shè)備在網(wǎng)關(guān)里都有一份配置文件里面規(guī)定了設(shè)備基本信息、參數(shù)點定義、映射規(guī)則、縮放系數(shù)、偏移量。業(yè)務(wù)平臺通過MQTT/HTTP接入網(wǎng)關(guān)時讀到的數(shù)據(jù)永遠是經(jīng)過網(wǎng)關(guān)處理后的標準格式。這里分享一個參數(shù)映射的小細節(jié)很多Modbus設(shè)備的狀態(tài)值用枚舉定義比如0x01表示停機0x02表示運行。海外項目業(yè)主可能希望看到的是stopped和running而國內(nèi)平臺可能更習慣直接用數(shù)字。這個轉(zhuǎn)換在遺留系統(tǒng)里往往要靠上位機程序去映射代碼里寫一堆if判斷。在邊緣網(wǎng)關(guān)里我們只需要在配置里維護一個枚舉映射表網(wǎng)關(guān)在數(shù)據(jù)采集上報時自動轉(zhuǎn)換。等于把原來需要寫代碼的事變成了填表格。上面說的都是軟件層面的事。如果部署層面沒有理順前面所有解耦工作都會變成白費。下一節(jié)我們進入實操。3. 實操過程從老系統(tǒng)到新架構(gòu)的遷移與接入3.1 先給老系統(tǒng)“做體檢”盤點遺留接口與資產(chǎn)動手改架構(gòu)之前我強烈建議先做一次系統(tǒng)的“資產(chǎn)盤點”。具體做三件事梳理遺留系統(tǒng)的對外通信接口有哪些網(wǎng)口、串口、總線分別跑什么協(xié)議波特率、IP、數(shù)據(jù)位校驗位是什么。梳理點位表系統(tǒng)里維護了多少個數(shù)據(jù)點每個點的刷新周期、數(shù)據(jù)類型、縮放系數(shù)、讀寫權(quán)限。標注業(yè)務(wù)依賴關(guān)系上層哪些功能強依賴遺留系統(tǒng)的實時數(shù)據(jù)哪些允許延時哪些一旦中斷會影響安全或合同考核。這一步看著瑣碎但它決定了遷移方案是“全量替換”還是“混合對接”。比如有一個老系統(tǒng)承載了消防聯(lián)動信號這種涉及安全的鏈路遷移時我會盡量避免大改讓老系統(tǒng)直接對接網(wǎng)關(guān)的一個I/O點網(wǎng)關(guān)再把這些信號疊加到新平臺的告警模型里兩路并行一段時間。盤點結(jié)果出來了要畫一張簡單的數(shù)據(jù)流圖不是架構(gòu)圖就是實際鏈路標清楚每條鏈路的物理路徑和協(xié)議類型。這張圖會成為后面所有配置的依據(jù)。3.2 用容器化把遺留應(yīng)用從硬件上“摘下來”這一步是整套方案里最“外科手術(shù)”的部分。目標是把遺留系統(tǒng)里的核心通信服務(wù)程序遷移到邊緣網(wǎng)關(guān)的容器環(huán)境里運行。具體流程是這樣的在原來的老系統(tǒng)上導(dǎo)出程序目錄、配置文件和運行日志確認程序?qū)\行時環(huán)境有哪些依賴是.NET Framework還是Java是否需要特定的本地庫。在開發(fā)機上用相同的操作系統(tǒng)基礎(chǔ)鏡像老程序如果是Windows我們通常用Wine容器做兼容層或者選擇Windows IoT容器方案如果是Linux就選擇對應(yīng)版本的Debian/Ubuntu鏡像制作運行環(huán)境。利用tar或docker build命令把程序、庫、配置文件全部打入鏡像并把程序的通信端口暴露出來。使用docker-compose或者Kubernetes邊緣端我一般用輕量的k3s在網(wǎng)關(guān)側(cè)啟動。需要注意的一個坑是老程序往往依賴物理硬件的時鐘和串口資源在容器里要額外處理。我們一般把網(wǎng)關(guān)的RTC硬件時間掛載進容器保證時間戳一致同時用--device參數(shù)把物理串口設(shè)備映射到容器內(nèi)讓程序認為自己在直接操作真串口。如果你們網(wǎng)關(guān)上有多個串口建議給每個串口建一個獨立的udev規(guī)則確保重啟后設(shè)備路徑不變。這一步做完你手上就有一個可以從網(wǎng)關(guān)里一鍵啟停的遺留系統(tǒng)運行單元。它對上層平臺和下層設(shè)備的接口跟上線前完全一致——但底層的物理依賴已經(jīng)被斬斷了。3.3 協(xié)議轉(zhuǎn)換與虛擬接入點的搭建細節(jié)容器化部署只是第一步。真正的解耦發(fā)生在協(xié)議轉(zhuǎn)換層。先說最常見的場景老監(jiān)控平臺只支持Modbus TCP從站地址范圍是1到20新設(shè)備比如鋰電池BMS只能通過CAN口輸出或者只支持IEC 61850。要打通這兩端傳統(tǒng)做法是給老平臺換通信卡、裝協(xié)議轉(zhuǎn)換器然后更新點位表。用邊緣網(wǎng)關(guān)就簡單得多——在網(wǎng)關(guān)上同時啟用Modbus TCP從站模擬器和對應(yīng)的協(xié)議采集服務(wù)。以Modbus TCP從站模擬器為例我們是這樣配置的在網(wǎng)關(guān)上啟用Modbus TCP Server模擬老平臺期望的那個從站地址比如站號10。在網(wǎng)關(guān)后臺配置點表把新設(shè)備采集出來的真實數(shù)據(jù)如總電壓、總電流、SOC映射到Modbus寄存器地址如30001、30002、30003。網(wǎng)關(guān)內(nèi)部的數(shù)據(jù)引擎會以設(shè)定好的周期比如1秒輪詢新設(shè)備并把最新數(shù)據(jù)緩存到寄存器表里。老平臺按照原來的邏輯去讀站號10的30001寄存器讀到的其實是網(wǎng)關(guān)從新設(shè)備那邊拿來的最新值。這里有一個細節(jié)直接關(guān)系到現(xiàn)場聯(lián)調(diào)能不能順利通過老平臺往往會對“數(shù)據(jù)新鮮度”做校驗比如它判斷一個遙測點是否有效的依據(jù)是“最近5秒內(nèi)有沒有被刷新過”。如果網(wǎng)關(guān)只在輪詢到新數(shù)據(jù)后才更新寄存器某些老平臺會誤判數(shù)據(jù)超時。我們的做法是在網(wǎng)關(guān)里把Modbus從站的寄存器表設(shè)置為“始終可讀”即使底層設(shè)備短暫離線網(wǎng)關(guān)也返回上一次有效值同時通過一個專門的狀態(tài)點告訴上層“這條數(shù)據(jù)是緩存”。這樣就避免了一些因為數(shù)據(jù)有效標志位處理不當導(dǎo)致的“全灰”事故。這個環(huán)節(jié)的工程量往往取決于協(xié)議轉(zhuǎn)換的種類有多少種。我們做過的項目里最多的一種場景是一個儲能集裝箱項目需要同時做Modbus RTU轉(zhuǎn)Modbus TCP、CAN轉(zhuǎn)Modbus TCP、IEC 61850轉(zhuǎn)MQTT還要把老平臺的私有協(xié)議報文轉(zhuǎn)成標準JSON。在傳統(tǒng)架構(gòu)里這需要掛三到四個協(xié)議轉(zhuǎn)換盒子現(xiàn)場光接線和調(diào)試就要一周上了邊緣網(wǎng)關(guān)后同一臺設(shè)備上同時運行三個協(xié)議轉(zhuǎn)換容器接線從幾十根變成兩三根配置時間也從幾天縮短到半天。3.4 邊緣側(cè)數(shù)據(jù)緩存與斷網(wǎng)續(xù)傳的部署策略海外項目最大的不確定性是網(wǎng)絡(luò)鏈路。國際鏈路不穩(wěn)定專線價格高公網(wǎng)更是經(jīng)常抽風。老系統(tǒng)原本是“通信服務(wù)程序連上位機數(shù)據(jù)庫”鏈路一斷所有數(shù)據(jù)就沒了。解耦后邊緣網(wǎng)關(guān)把數(shù)據(jù)緩存和續(xù)傳變成一個標準能力。部署時的策略通常是三檔實時數(shù)據(jù)用MQTT QoS 1至少一次上報歷史數(shù)據(jù)落本地時序數(shù)據(jù)庫我們用influxdb輕量版鏈路恢復(fù)后按時間戳補傳關(guān)鍵遙信變位和告警用HTTP/HTTPS接口直接推送保證即使主鏈路斷了告警也能到。在配置斷網(wǎng)續(xù)傳時有一個關(guān)鍵參數(shù)——補傳窗口。補傳數(shù)據(jù)太多會擁堵太少會丟數(shù)據(jù)。我的經(jīng)驗是根據(jù)現(xiàn)場實際數(shù)據(jù)量設(shè)置一個合理的補傳窗口一般默認24小時。如果現(xiàn)場歷史數(shù)據(jù)量特別大比如每臺設(shè)備每秒上送20個點建議對歷史數(shù)據(jù)做衰減式下采樣——離線期間存儲1秒原始數(shù)據(jù)但補傳時只補1分鐘均值。這樣既保證連續(xù)完整又不會直接把海外云平臺的帶寬打滿。4. 硬件測試與解耦驗證不能只在跑通時歡呼4.1 解耦后為什么要重新設(shè)計測試方案很多團隊以為解耦完就高枕無憂了然而真正的坑往往出現(xiàn)在硬件測試階段。解耦前你測試的對象是“一套軟硬件綁定的系統(tǒng)”解耦后你測試的對象變成了“多個可獨立替換的組件”這意味著測試邏輯要做相應(yīng)變化。比如原來測一個通信鏈路你只要把工控機和設(shè)備連起來跑一下就行。解耦后通信鏈路變成了設(shè)備→采集服務(wù)→協(xié)議轉(zhuǎn)換→消息中間件→上層平臺。鏈路變長了故障定位的復(fù)雜度上去了如果沒有針對性的解耦測試方法你連“問題出在哪一層”都沒法快速判斷。尤其是出海項目的硬件測試還疊加了額外要求設(shè)備要在國內(nèi)工廠做整機出廠驗證同時在海外現(xiàn)場做二次驗收。兩個場景的環(huán)境變量網(wǎng)絡(luò)、電源、溫濕度不同如果測試方案沒有把解耦后的各層拆開驗證很容易出現(xiàn)“國內(nèi)過了、海外掛了”的經(jīng)典翻車。4.2 三種實用的硬件測試解耦方法既然標題里的熱搜詞提到了“硬件測試時候解耦的方法有哪些”我專門把三種我自己常用且經(jīng)過驗證的方法介紹一下。方法一協(xié)議樁Protocol Stub。在網(wǎng)關(guān)的測試環(huán)境里用一個模擬程序充當設(shè)備側(cè)循環(huán)發(fā)送固定的Modbus報文。它的作用是驗證網(wǎng)關(guān)的上層輸出是否符合預(yù)期不受真實設(shè)備干擾。我在項目里一般用Python寫一個簡單的Modbus TCP服務(wù)器監(jiān)聽502端口內(nèi)存里維護一張寄存器表測試時用腳本隨機改變某些寄存器值。網(wǎng)關(guān)采集到數(shù)據(jù)后上層平臺應(yīng)該能看到對應(yīng)的變化。這個樁的價值在于你可以精確控制“設(shè)備側(cè)發(fā)生了什么”便于驗證異常流程——比如寄存器超時、返回錯誤碼、重啟重連等。方法二回放Replay。把現(xiàn)場抓包保存的真實設(shè)備日志通常是Modbus/TCP dump在測試環(huán)境里回放讓網(wǎng)關(guān)以為自己還在跟真設(shè)備通信?;胤艤y試的價值在于它能暴露用“理想化模擬數(shù)據(jù)”發(fā)現(xiàn)不了的問題——比如真實場景里的亞穩(wěn)態(tài)響應(yīng)、超時抖動、偶發(fā)被動幀。我們項目里有幾次疑難故障都是靠回放現(xiàn)場抓包文件才在實驗室里復(fù)現(xiàn)的。做回放測試時有個小技巧不要把抓包原封不動地循環(huán)發(fā)而是人為改變報文的時序間隔比如把一些響應(yīng)延遲拉長幾倍這樣更容易暴露網(wǎng)關(guān)的超時重試邏輯是否健壯。方法三故障注入Fault Injection。在測試過程中主動模擬各種真實故障拔掉網(wǎng)線、斷電重啟、短路串口、給設(shè)備發(fā)錯誤響應(yīng)碼。目的很直接——驗證解耦后系統(tǒng)是否真的能“隔離故障”。因為解耦的一個重要目標是故障爆炸半徑受限某一條鏈路斷了其他鏈路不受影響。做故障注入測試時我通常是在網(wǎng)關(guān)里跑一只小腳本定時隨機下游接口發(fā)送錯誤幀同時觀察報警和上報鏈路是否正常。記住故障注入測試要留足時間窗口一般每輪至少保證30分鐘以上因為有些故障是延時暴露的比如內(nèi)存泄漏引起的緩慢惡化跑一兩分鐘根本發(fā)現(xiàn)不了。4.3 性能冗余怎么留CPU、內(nèi)存、時延的“六成“原則解耦后的邊緣網(wǎng)關(guān)承擔的任務(wù)通常比原來一臺普通工控機要多很多——既要跑容器化的遺留服務(wù)又要做協(xié)議轉(zhuǎn)換還要做本地緩存和遠程上報。很多項目上線一段時間后才發(fā)現(xiàn)性能不夠再改架構(gòu)就非常被動了。我的經(jīng)驗是用“六成”原則提前把冗余留出來網(wǎng)關(guān)的CPU負載在日常運行峰值不應(yīng)超過60%內(nèi)存占用不應(yīng)超過物理內(nèi)存的60%協(xié)議轉(zhuǎn)換和上報的端到端時延從設(shè)備數(shù)據(jù)刷新到上層平臺收到數(shù)據(jù)不應(yīng)超過60%的接口超時閾值。舉個例子如果上層平臺的輪詢超時時間設(shè)定為5秒那網(wǎng)關(guān)從“采集到設(shè)備數(shù)據(jù)”到“把數(shù)據(jù)推送到上層平臺”的時延就必須控制在3秒以內(nèi)這3秒就是你的預(yù)算。如果實測時延接近4秒接下來就要從三個方向排查優(yōu)化一是消息中間件的隊列大小和消費速率二是協(xié)議轉(zhuǎn)換線程的并發(fā)度三是上層平臺側(cè)的輪詢周期是否過于激進。這三個方向里我見過的案列中最多的問題是“上層平臺去讀網(wǎng)關(guān)的一個從站時用了阻塞式同步調(diào)用”一旦底層設(shè)備響應(yīng)慢整個平臺就卡。這種情況下通常建議把上層平臺的讀取邏輯改成異步輪詢或者啟用網(wǎng)關(guān)的本地緩存加速。5. 常見問題與排查技巧實錄5.1 頻繁掉線、暫時性超時、數(shù)據(jù)跳變怎么定界解耦架構(gòu)上線后最常見的排障場景是“數(shù)據(jù)時好時壞”。我們歸納過這類問題的本質(zhì)往往不是“解耦”本身引起的而是解耦后“故障邊界”更清晰了反而更容易定位。先說“頻繁掉線”。如果發(fā)現(xiàn)某臺設(shè)備在網(wǎng)關(guān)里反復(fù)離線優(yōu)先排查物理鏈路用萬用表量串口電平是否正常、RS485的A/B線是否接反、終端電阻是否匹配。如果是海外遠程項目沒法現(xiàn)場量就直接看網(wǎng)關(guān)的串口統(tǒng)計日志——如果收幀錯誤率持續(xù)走高大概率物理層不穩(wěn)而不是軟件問題。再說“暫時性超時”。如果在平臺側(cè)看到偶發(fā)的讀取超時很多時候是網(wǎng)關(guān)內(nèi)消息隊列擁堵導(dǎo)致的。我先看隊列積壓數(shù)如果積壓超過某個閾值就增大采集線程和上報線程之間的緩沖隊列深度同時降低采集頻率。記住用邊緣網(wǎng)關(guān)做解耦后你永遠要留一個“背壓”處理機制底層采集慢不要緊但不能讓上層平臺一直等。所以配置里會為每個數(shù)據(jù)點設(shè)置一個“過期時間”超出時限就返回最后一次有效值并在狀態(tài)點里標注為“Stale”。還有“數(shù)據(jù)跳變”。多半是點位映射和縮放系數(shù)配錯了。Modbus的數(shù)據(jù)類型分16位、32位、浮點、大小端、縮放系數(shù)這些只要錯一個數(shù)據(jù)就會邏輯異常。遇到跳變問題我第一件事是去查網(wǎng)關(guān)的點位配置重點看“字序”word order和“字節(jié)序”byte order。業(yè)內(nèi)Modbus常見的坑就是同一個寄存器表設(shè)備廠家用的大端你按小端解析就會看到數(shù)值無規(guī)律跳來跳去。5.2 現(xiàn)場快速診斷的兩個小習慣解耦后的架構(gòu)在海外項目調(diào)試時有兩個小習慣能幫你省下大量時間。第一所有邊緣網(wǎng)關(guān)要有統(tǒng)一、可見的運行狀態(tài)可視化頁面。這個頁面不用很復(fù)雜但必須能同時看到三層狀態(tài)底層設(shè)備鏈路狀態(tài)在線/離線/延遲、中間層容器運行狀態(tài)健康/已停止/重啟了幾次、上層數(shù)據(jù)上送狀態(tài)最后一條數(shù)據(jù)是什么時候發(fā)出的、目標地址是否可達。有了這個頁面現(xiàn)場人員排查問題時不需要猜直接一屏全覽。第二保留一份完整的“配置基線”。每次修改點位、切換協(xié)議、升級容器鏡像之前給網(wǎng)關(guān)導(dǎo)出一份完整的配置文件JSON/xml/yaml均可一般我們直接支持從Web界面導(dǎo)出一鍵備份包。這個備份包的好處是萬一這次改動導(dǎo)致問題你可以直接一鍵恢復(fù)到改動前的狀態(tài)而不是在現(xiàn)場一行行地撤回配置。別小看這個習慣海外項目的現(xiàn)場工程師本來就很緊張少幾次誤操作就少幾次精神損耗。5.3 遺留系統(tǒng)本身“不配合”時網(wǎng)關(guān)的三種兜底手段萬一遇到的遺留系統(tǒng)特別頑固既不讓改代碼也不讓裝軟件甚至不愿意對外暴露任何協(xié)議的細節(jié)此時網(wǎng)關(guān)還能靠以下手段兜底抓包解析在遺留系統(tǒng)和原設(shè)備之間做網(wǎng)口鏡像或串口監(jiān)聽網(wǎng)關(guān)被動監(jiān)聽鏈路里的報文用解析器把協(xié)議逆向出來。這個手段我用了很多次幾乎市面上常見的Modbus、DL/T 645、IEC 60870-5-104單體設(shè)備都能在監(jiān)聽模式下提取出點位表和刷新周期。模擬從站如果遺留系統(tǒng)本身是“主站”它要主動去輪詢下面設(shè)備我們可以讓網(wǎng)關(guān)模擬成它期望看到的那個“從站”設(shè)備用固定寄存器地址回應(yīng)它的輪詢。遺留系統(tǒng)并不知道自己在跟網(wǎng)關(guān)對話還以為底下連的是原來的設(shè)備。屏幕采集實在沒招時如果老系統(tǒng)有一個可視化界面比如顯示實時數(shù)據(jù)的HMI可以用網(wǎng)關(guān)的HDMI采集模塊把屏幕內(nèi)容抓下來通過OCR識別成結(jié)構(gòu)化數(shù)據(jù)后上報。這是最“暴力”的一種方式但我確實在一臺2005年出廠的老監(jiān)控系統(tǒng)上用過這招成功把它的發(fā)電量數(shù)據(jù)接入了新平臺。這三種手段的核心思路是一致的解耦不是說必須得到對面配合才能改而是通過邊緣側(cè)的主動適配把對方的“黑盒”特性消化在網(wǎng)關(guān)層。6. 踩坑心得與我的幾點總結(jié)方案講到這里我想分享幾個在實際項目中反復(fù)被驗證過的心得也是我現(xiàn)在拿到一個新出海項目時會優(yōu)先做的三件事。第一別急著動代碼。先搞清楚對端系統(tǒng)的“最小可行適配面”是什么。很多看起來復(fù)雜的問題用網(wǎng)關(guān)的協(xié)議轉(zhuǎn)換和配置能力就能解決代碼一層不變。這個“先想清楚接口再想實現(xiàn)”的習慣能幫項目省掉至少一周的返工時間。我在后面的項目里都是先讓商務(wù)去跟客戶要遺留系統(tǒng)的接口協(xié)議文檔和點位表而不是要源代碼。拿不到接口協(xié)議時才啟動抓包和逆向。這比盲目承諾“我們兼容一切”靠譜得多。第二解耦不是一次性的。解耦是一個持續(xù)演進的過程項目初期先把最痛的地方解掉后面隨著規(guī)模擴大再逐步把新的子系統(tǒng)通過網(wǎng)關(guān)接進來。很多團隊把解耦理解成一個“T-1日大切換”結(jié)果現(xiàn)場出問題就全線回滾。真正穩(wěn)妥的做法是“漸進式替換”先讓網(wǎng)關(guān)旁路監(jiān)聽老系統(tǒng)鏈路同時把新系統(tǒng)接入網(wǎng)關(guān)兩邊并行跑一段時間確認數(shù)據(jù)一致后再切換主鏈路。這就像給飛機換發(fā)動機你不能讓飛機停下來你要一臺一臺地換換完一臺測試一臺。第三我自己的體會是邊緣網(wǎng)關(guān)更適合作為“數(shù)據(jù)底座”而不是“業(yè)務(wù)系統(tǒng)”。有些客戶總想把業(yè)務(wù)邏輯比如告警聯(lián)動規(guī)則、設(shè)備控制策略也塞進網(wǎng)關(guān)里跑結(jié)果網(wǎng)關(guān)變得越來越重性能和穩(wěn)定性都受影響。在我建議的方案里網(wǎng)關(guān)只做“協(xié)議的終結(jié)者”和“數(shù)據(jù)的搬運工”真正的業(yè)務(wù)判斷放在上層平臺網(wǎng)關(guān)側(cè)最多做輕量級的邊緣計算比如越限判斷、數(shù)據(jù)過濾不做復(fù)雜的業(yè)務(wù)編排。保持底層網(wǎng)關(guān)的“純粹”是讓整個系統(tǒng)長期穩(wěn)定的一個好習慣。最后再分享一個小技巧。你在給海外客戶配置頂部標題時別把網(wǎng)關(guān)默認的MODBUS服務(wù)名寫得太技術(shù)化。我們有個客戶要求網(wǎng)關(guān)在Modbus從站信息里顯示“GateWay Unit For Battery Storage”這樣老平臺接入時看到的是個語義化名稱而不是一串亂碼。細節(jié)上對方會覺得你們團隊非??孔V后續(xù)驗收也能少很多解釋成本。這些經(jīng)驗都是一個個海外現(xiàn)場熬出來的。裝備出海本質(zhì)上是把標準寫進行業(yè)規(guī)則里而不是去遷就老系統(tǒng)的壞脾氣。邊緣網(wǎng)關(guān)只是一個抄近道的工具真正的功夫在于你如何設(shè)計出那一條條解耦的“護城河”。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产精品久久久久999| 婷婷香蕉| 超碰到97情色| AAAA欧美日韩| 久久夜精品一区二区三区| 一二三四视频中文字幕在线看| 色播综合| 国语人妻精彩刺激| 免费自拍三级综合| 91综合网| 交换娇妻呻吟声不停中文字幕| 久久久精久久久| 青青草精玖玖69精品| 久久婷婷苹果| 妇女性内射冈站HDWWWCOM| 高潮的A片激情扒开一区| 亚洲最大的综合性av| 91麻豆天美国产欧美| 啊啊啊男女| 97在线无精品| 97在线视频观看| 芊芊操逼视频无码| 69综合网| 天天大干大香蕉| 伊人影院综合是一个与深夜成人在线| 九九九色| 精品欧美А∨无码黑人大荫蒂| 日韩在线观看三级电影| 免费观看性欧美一级| 亚洲一区二区三区中文字幕| 操逼逼无码| 在线播放免费av福利片| 亚洲 欧美 精品专区 极品| 激情五月天校园春色网| 五月天久久婷婷亚洲| 色色色热| 久久五月综合| 95人妻爽爽人人做人人澡 | 伊人久久综合影院精品久久久| 女人的久久久| 囯产精品强| 国产精品呦一区二区三区| 96AV久久久| 亚洲色图超碰在线| 一区操逼| 尹人免费观看视频在线| 99在线精品视频| 中国一级αV| 亚洲有码第一页| 综合另类| 夜夜操二区| 欧美性生活内射| 精品亚洲国产成人精品| 我想要啊 啊 啊| 亚洲熟女国产综合另类| av婷婷色网| 后入式免费视频| 亚洲一区二区精品福利| 96国产精品| 无码人妻系列少妇| 久久精精区一区二区一蜜桃一区二区| 日日噜噜夜夜狠狠视频无| 色综合国产在线观看| 亚洲国产精品久久AV| 超碰在线人妻中文字幕| 国产精品免费日韩| 黄色片大香蕉| 国产天天骚| 性爱AV天堂| 久久视频,这里只有精品 | 狠狠操官网| 啪啪资源网| 免费看日本操逼视频| 少妇超碰在线| ai欧美亚洲小说| 欧美色吧综合| 日本性爱不卡视频| 一区=区三区视频| 久草精品一区| AV一起草在线| 99热这里只有精品9| 久操99| 精品网站9999| 极品少妇久久久久| 亚洲第一精品在线视频| 国产视频三区四区| 欧美肥臀在线| 欧美不卡二区| 国产美女91视频| 抽插亚洲无码| 欧美日韩国产中文精品字幕自在自线| 蜜桃久久久久久久久久久久| 精品999一区二区| www.伪伪| 99蜜桃臀久久久欧美精品网站| 九热中文字幕| 骚逼高潮久久精品| 免费视频观看60秒| 强奸乱伦麻豆| 欧美日本天堂| 亚洲中文字幕在线视频一区二区| 在线观看日韩av不卡| 九色97| 天天综合网亚洲综合网| 亚洲天堂一区二区久久| 91是天天| 日本成人在线不卡一区二区三区 | 这里是精品| 久久精品一区一起草| 小视频国产| 久久不卡一区二区| 成人一二| 成人A片男人的天堂| 加勒比海人人操超碰在线| 国产亚洲在线观看| 国内操逼视频二区| 淫荡熟女乱伦网| 日韩在线视频1234| 友优传媒精品在线一区二区| 秋霞一级视频在线观看免费| 很很很很操| 91丨九色丨国产丨人妻在线| 91/欧美| 成人av性爱电影在线观看| 亚洲天堂男人在线| 啊啊啊操死我| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 少妇精品久久| 99精品网| 九九九九久久久久| 色综合中文字幕不卡| 亚洲少妇在线观看| 亚洲诱惑| 国产三级电影免费观看| 欧美日韩亚洲天堂| 殴美,日韩国产伦精品| 日本熟女中文字幕一区| 亚州大图综合色图| 六月丁丁香| 亚州性色| 99国产精品在线观看| 成人五月天丁香激情综合| 熟妇在线视频一区二区| 黄色无码高清黄色无码网站| 久草男人天堂| 99热99在线| 精品日日人妻| 和协无码影院| 国产99 中文字幕日韩小视频| 97超碰公开| 精品久久青青草| 欧美黄色大片在线观看| 亚州精品人妻一二三区| 人人乐大香蕉| 久操com| av天堂影视中文在字幕在线中文 | 插老姨肥穴| 亚洲AV成人无码一二三久久| 天天日天天屌天天操| 国产一级黄色片在线观看| 99在线观看视频在线高清| 五月丁香六月激情| 午夜操逼不卡| 91免费看中出视频| 日韩三级在线观看mp4| 一区二区三区黄片免费观看| AV天堂因数| 青青草在线视频欧美| 在线精品福利免费播放| 久久精品人妻一区| 91丝袜在线观看| 日本人妻天堂网站在线播放| 欧美激情总合网| 久久久久久日韩| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 日语五十路和六十路亚洲国产精品| 女人天堂网| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 超碰人人干天天射| 日韩精品怡红院| 亚洲激情av| 五月婷婷影院| 制度丝袜99| 亚洲国产熟妇综合色专区| 97干天天| 国产精品视频电影| 亚洲操逼网| 俄罗斯一区二区视频在线观看| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 啊啊啊啊啊啊啊在线| 极品白嫩福利在线| 中文字幕精品一区二区精品| 超碰在线国产| 久久久麻豆精品| 成人av影院在线观看| 国内外内射高清视频| 激情小说亚洲视频| 亚洲日韩乱码中文无码蜜桃臀网站| 91xingse| 欧亚综合一卡二卡中文字幕| 欧美在线视频99| 亚洲AV无码国产精品久久久久 | 日本三级中国三级99人妇网站| 爽极品影院| 日韩欧美午夜一区二区| 人人操人人插 - 百度 - 百度| 婷婷99狠狠| 日韩人妻制服丝袜av| 果冻传媒A片麻豆熟妇人妻| 九九久久久| 久久熟女久| 精品国产嫩穴视频| wwe 天天干.com| 禁止观看美女黄| 美女黄色一级A视频| 天天色播亚洲综合网站| 91黑人无码激情在线| 日韩 欧美 视频 在线 一区| 日本成人A片网站| 内射老妇BBWX0C0CK| 综合久久97| 加勒比中文av| 国产在线综合福利网站| 欧美日本成人一区二区| 久久国产AⅤ| 国产隔壁老王影院在线| 日韩激情啪啪啪| 7777奇米影视久久| 岛园激情| 欧美制服另类丝袜| 亚洲第一页欧美| 91久久堂| 一二三四区电影| 麻豆一区二区AV天美| 欧美偷拍| 1769国内精品视频| 在线强奷到舒服的无码视频| 日韩人妻精品久久久久| 中文字幕超碰CAO| 五月天人妻综合| 久久久555| 国产精品不卡av免费在线观看| 自拍第一页| 欧美片第一页| 成人片在线播放| 大香蕉伊人75| 插欧洲美女欧美精品| 国产欧美亚洲精品a第2页| 五月婷婷六月丁香| 欧美视频激情久久久久久| 亚拍在线| AAAA欧美日韩| 国产激情在线观看| 欧美丝袜激情| www亚洲欧美| 久久丁香久草综合网| 1024人妻熟女一区二区三区| 日韩 欧美 校园一区| 亚洲天堂久| 亚洲无码国产探花在线观看| 欧美日韩91| 97超碰亚洲| 欧美色图电影| www.91色| 人妻熟妇久草在线| 人人干人人操人人爱| 国产精品宅男免费| 欧洲精品一区二区三区| 啊啊啊啊操死我| av日韩国产一区二区| 色综合美国| 粉嫩av一区二区三区四季| 久久激情五月| 欧美熟女丝袜| 国产精品乱码久久久久久久| 丰满美女一级毛片在线播放| 色色婷婷丁香| 日韩久草| 三级网色| 在线小视频| 色综合国产在线观看| 91蜜桃婷婷狠狠久久综合9色| 60秒免费小视频| 97碰| 国产av尤物| 激情文学小说一区二区| 综合免费无码中文| 麻豆激情综合| 亚洲国产ⅴ高清在线观看| 国产精品一二三免费网站| 吊色| 亚洲精品无码少妇久久| 亚洲精品人伦一区二区| 亚洲成人性爱在线观看| 色99久草| 色激情五月天| 亚洲人妻爽爽爽| 欧美激情五月天| 亚洲成人AB| 女人被添高潮免费视频| 九九九只有精品| 蜜臀操逼黄色视频操的好爽| 亚洲综合电影| 亚洲吊色| 蜜桃av综合网发布| 91性网| 色婷五月天| 舔足天天操天天射| 青青操在线亚洲视频观看欧美在线| 免费精品无码一级毛片牛牛影视| 久久国产99精品72福利 | 九九九九九精品| 亚州精人品大香蕉| 欧美激情视频在线一区| 久久綜合很很很| 国产免费操逼| 台湾佬大香蕉| AV天天在线观看| 黑人免费福利视频| 亚洲欧美日韩电影网站一区| 久久久久亚洲Aⅴ无码| 丝袜视频网国产90| 日本91白丝| 人妻天天爽天天爽三区| jiujiujiujingpin| 丁香婷婷大香蕉| 亚洲欧美日韩激情不卡| 国产25页| 五月婷婷综合激情| 欧美大香蕉久| 亚洲三级。日韩三级| 麻豆亚洲Av成人无码一区精品| 午夜国产综合视频在线观看 | 中文字幕人妻资源在线| 男人网站婷婷| 精品人人| 人人操AV| 久久久久久人妻一区精品色欧美| 香蕉精品二区二区| yy少妇精品久久| 日韩成人精品中文字幕| 成全在线观看免费观看| 78操B| 亚洲永久AV无码精品秋霞| 久久精品国产亚洲AV片多多 | av一区二区三区 中文| 国产400孕妇孕交群| 亚洲少妇色图自慰直播| 首页亚洲国产高跟丝袜诱惑视频 | 亚洲超碰综合网| 蜜臀国产AV中文字幕| 99久久久无码精品国产人| 亚州欧美另类| 久草电影网| 国产极品久久久| 日本一级一级一级一级| 久久的网站啊啊啊啊啊| 思思热免费视频观看| 欧美一区二区日韩三区| 九九九九精| 蜜臀无码一区二区| 青青草男人天堂| 五月天婷婷激情| 日韩探花精品在线视频| 国产在线视频二区| 2024年最新色情网站在线观看| 91欧美少妇| 97bbn| 久艹免费| 夜夜操夜夜爽夜夜高潮| 韩日性爱av| 试看日韩黄片| 亚洲综合在线91| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 日韩熟女精品无码专区一区二区| 婷婷色综合| 九月丁香综合网| 婷婷丁香九月| 成人性爱av.com| 狠狠色噜噜狠狠狠狠2018| …亚洲黄色厕厕女女在线播…| 啊啊啊轻点在线观看| 碰人碰碰人人开房人肉| 日本一天色道久久久精品视频| 色精品极品| 99色热| 五月丁香啪啪| 日韩亚洲美女一区久久| 玖色AV| 日本91白丝| JULIA人妻风俗店中出电影| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 久久婷综合| 久操网线| 手机看av网站在线看| 国产亚洲精品美女久久久m| 久操网视频| 久久久久久久亚洲Av无码| 国产区91柔拿会所技师| 黄色AAAAAAAAAAA大片| 这里只有精品视频在线观看麻豆 | 伊人亚洲国产一成人久久精品,久久| 一区三区啪啪| 先锋精品av色鲁| 婷婷色一区| 99国产精品久久久在线播放| 国产亚洲色婷婷99精品91| 高清肉丝中文无码| 欧美午夜熟妇黑人精品91| 欧美综合天堂| 99热在线不卡| 国产女人成人精品视频| 色成人Www精品永久观看| 欧美大香蕉专区网| 亚洲激情久久| 色玖玖| 久久99九九九九6666免费观看软件| 久久蜜桃一区二区| 九九碰九九爱97超| 殴美在线AⅤ| 手机看片1025| 欧美精品91| 综合网亚洲1| 四虎精品一区二区| 精品少妇人妻av久久免费| 一区二区三区视频在线观看免费| 亚洲色图久久精品蜜| 麻豆福利视频导航| 欧美在线大香999| 色噜噜狠狠色综无码久久合欧美| 国产精品久久久久久无码红治院| 五月激情在线| 99九九久久| 97精品全部| jizz啪啪| 99精品无码| 亚洲自拍一区夜夜操| 天天肏夜夜肏| 欧洲成人性爱视频| 色狠人在线99| 96麻豆精品一区二区三区| 狠狠中文字幕| 一本正道久久熟女| 国产9熟妇视频网站| 黄色香蕉视频网站一区| 一区二区激情国产熟女 | 天天看片麻豆| 性色AV蜜色av色欲av| 婷婷五月天激情网| 啊啊啊不要好爽日韩无码一区| 亚洲天堂加勒比| 操逼操逼逼操操逼91| 九九精品美女高溯喷水| 久久久精品电影| 亚洲伊人成综合成人网| 亚洲成人性爱在线观看| 人人爽夜夜操| 草草电影院| 久久综合九九| 亚欧操逼片在线观看| 波多野结衣AV无码一区| 91网站18在线观看| 热热色91| 国产原创自拍| 欧美色图综合网| 亚洲成人久久美女| 亚州黄站| 婷婷伊人綜合中文字幕| 91亚洲丝袜熟女| 国产真实野战在线视频| 97免费视频在线| 尤物一级在线免费观看| 日本最新1区2区3区| 九月丁香婷婷色| 加勒比海成人视频网| 欧美一区二区日韩三区| 啊啊啊不要啊啊受不了了视频在线 | 中文乱码字字幕在线第5页| 大香蕉123| 高清无码人妻久久久一区二区三区aⅴ| 亚洲精品成人激情在线| 天天操妹子| 五月激情在线| 欧州一区二区三区四区| 99久在线精品99re8a| 在线国产福利网址导航| 久艹99| 色婷婷五月综合激情中文字幕| 东京热毛片调教| A V少妇特黄三级| 日本综合色图| 欧美色图 人妻| 亚洲国产高清福利视频| 超碰97日韩| 久久9亚洲| 日韩熟女乱伦中出| 极品少妇久久久久| 亚洲性综合9| 日本韩高清无砖码22o| 青青操少妇| 93人人操人人| 亚洲综合在线91| 少妇免费视频| 操逼操逼逼操操逼91 | 日本人体九九九九九九| 久久精品 六十路 熟女 欧美| 青娱乐蜜桃臀AV色婷| 粉嫩不卡一区二区性爱 | 國產尤物AV尤物在線觀看| 青青草华人在线欧美在线| 吻戏激情性巴克| 国产精品久久久久久久电影渣男| 亚州五月| 91美女视频在线| 国产农村一一级特黄毛片| 国产又黄又粗又猛大片| 2019亚洲男人天堂| 又黑又大又粗| 青青五月天| 欧美天天拍| 三级AV入口| 熟女久久| 九九九九九九九九九五码| 亚洲欧洲国产综合av| 91香蕉国产尤物视频| 亚洲综合贴图91| 97AV爱| 欧美人妻一区| 台湾一区国产高清在线| 国产精品不卡少妇白| 嗯嗯啊好大| 欧美精品在线观看| 天天综合香 ld视频| 亚洲无码一二三区| 亚洲av综合伊人久久| julia国产在线 | 久久精品中文字幕无码l| 97久久精品| 91蜜桃传媒精品久久久一区二区| 午夜精品久久久久| 午夜呻吟欧美| 激情四射婷婷四五月天| 99超级碰免费视频| 99热只有这里有精品| 久久天天艹| 国产综合色精品在线观看| 久区视频| 亚洲精品国产拍免费91在线| 色悠久久久av| 人妻免费观看| 亚洲天堂美臀在线| 青青草色插素人| 69人妻精品丰满熟女区| 五月丁香色色网| 91人妻素女| 黄骗免费| 自拍偷拍 日韩无码| 人妻81p| 99久久久无码精品国产人| 国产精品点击进入在线影院高清| 日韩一二三区| 国产一国产一级毛片古装| 国产精品视屏| 亚洲日韩人妻中文字幕一区| 日韩福利综合一区| 奇米四色网| 操婢日韩| 性爱精品一区| 色99色| 中亚精品极乱| 国产有码一区| 91天天c| 国产诱惑| 久久精品超碰| 日韩精品资源专区二区| 免费观看网黄| 激情综合二| 午夜国产成人福利视频| 丁香六月婷婷| 开心六月色| 国产美女口爆吞精| 精品9999| 偷拍视频青青草在线视频| 蜜臀久久99精品久久久久| 国产综合日韩伦理| 久久成人国产| 亚洲宅男天堂| 97免费视频网| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 91色色综合| 欧美瑟综合| 91综合网站| 欧美日韩*字幕一区| 偷拍自拍在线视频观看| 91操人| 免费农村成人少妇人妻Aa一区二区视频| 一级片在线观看高清无码| 亚洲天堂电影精品一区| 日本午夜福利视频| jazzjazz国产精品麻豆| 中文字幕丰满子伦无码专区在线视频最新| 无码WWW免费视频网站| 少妇3P性爱自拍| 激情五月综合| 天天色粽合合合合合合合| 神马久久久久眼| 亚洲色丰满少妇高潮| 色九久| 国产一级特黄大片处女| 99啪啪| 蜜乳AV一区| 探花激情视频| 99啪啪| 精品人妻一区二区三区四区| 日韩中文字幕国产| 久久久精品国产亚洲伊人| 超碰1997| 日本黄色精品专区网站| 九九激情网| 超碰97久久国| 无码外流操逼视频| 人妻天天操天天爽视频免费| 九九热午夜欧亚国产视频| 一级性爱视频免费观看| 亚洲无码色| 一区二区三区四区在线不卡| 人妻干天天| 欧美制服另类丝袜| 亚洲欧美清纯| 九九色婷婷| 亚洲青青草| 少妇一级婬片免费放一级a性色.| 91久热这里只有精品| 亚洲综合网91| 大香蕉九九| 欧美激情黑人| 国产精品无套内谢| 使劲用力艹少妇视频一区二区 | 色香欲影| 色五月激情网| 97久久综合网| 91在线无码精品秘 软件| 99re热| www.大香| 欧美日韩天堂| 殴美在线AⅤ| 嗯~啊~快点 死我视频免费看网站| 香伊人在线| 四季AV综合网址| 日韩av免费一级电影| 啊啊啊好湿国产一二| 呦呦一区| 一区麻豆 高清中文字幕| 亚洲国产成人精品久久久国产成人一区二区 | 欧美性爱第一页久久| 欧美九九爱| 午夜性生活av免费在线看| 久悠悠av| 无码不卡八戒| 日韩欧亚中文在线| 国产一级作爱毛片| 97网站在线观看 | 999久久久国产精品| 亚洲精品丝袜-不卡成人免费……| 一本色道久久综合精品婷婷| 亚洲自拍欧美国产首页网曝 | 五月综合色| 欧美日韩97| 躁躁日曰躁2020| 国产精品一级特黄aaa大片在线观看| 久久久久9999精品九九九| 强奸乱伦大香蕉网| 欧美成人精品一区| 日日夜夜骚| 精品高清一区二区三区三州| 国产精品69久久久久孕妇欧美| 久久老子无码午夜伦不卡| 亚洲天堂男| 中文字幕制服欧美久久一区| 久久av一级av少妇av高潮 | 亚洲女毛多水多21P| 97人人夜| 精品十三区| 立川理惠加勒比无码| 国产综合久久久麻桃个| 久久av网| 久久久五月天| 国产日韩在线播放av| 91模特在线观看| 亚洲欧美九九九| 96久久精品一二三区色欲| 97在线免费看视频| 亚洲啪啪啪啪视香蕉| 国产av青草| chaopen97久久| h在线看免费版在线看| 欧美高清18A片| 青青伊人加勒比海| 极品色社| 天堂中文日本在线观看| 中文字幕后石码四区五区| 亚洲色资源| 射 色综合| 国产综合网站在线播放| 成人精品无码| 91丝袜人妻| 乱欲性色| 亚洲AV资源| 狠狠色婷婷7777久| 日本日逼高清| 国产精品午夜AV完会免费| 超碰在线1234区| 日日干夜夜操视频h| 成人在线视频网| 免费一级a毛片久久久久久鸭绿欲| 男人的天堂免费| 欧美最大综合网| 国产精品网站免费| 亚洲欧美一区二区三区在钱蜜桃 | 资源新线在线天堂| 欧美 亚洲 另类 综合| 欧美三级一级| 爽爽淫人网| 强奸乱亚洲| 在线a v| 以及麻豆国产入口在线观看免费| 天久久久噜噜噜久久国产精品爽爽| 日本三级韩国三级美三级91| 美女AV一区二区| 任我爽视频在线观看| 欧美夜夜狠| 狠狠爱综合| 欧美精品日韩一区二区| 思思性爱| 被体育老师抱着c到高潮| 亚洲国产ⅴ高清在线观看| 日韩操啪| 亚洲乱色熟女一区| 国产一区免费午夜视频| WWW操逼| 999精品国产高清一区二区| 最新日本中文字幕| 欧洲在线性爱视频| 91一区二区三区蜜桃| 国产精品爆乳懂色蜜乳| 免费人成毛片乱码| 久久久久久99AV无码免费网站| 国产 热久久久久国产精品| 99在线免费公开视频| A一区片| 豆花视频操逼网址| 免费又黄又裸乳的视频| 天天综合网日韩7799| 中国国产精品一区视频| 香蕉人欧美综合| 变态综合色| 欧美宗合网| 香蕉99秘 一区精品蜜桃臀| 91爱啪| 日韩肏逼视频| 男女猛烈无遮掩视频免费软件| 91色人妻| 中文字幕乱在线伦视频中文字幕乱码在线| 一类无码操逼视频| 国产a级午夜毛片| 丁香五月天啪啪| 九九热九九热| 国产熟妇一区二区| 久久久九精品| 南澳成人一级片在线播放| 91欧美网| 91视频伊人| 青娱乐国产盛宴视频| 国产超碰人人爽人人做| 久久99久久99久久99人受| 亚洲日韩AV视色| 少妇极品熟妇人妻无码| 超碰这里有精品| 中文字幕在线免费观看 | 青青草玖玖爱| 久久久久久九九九九九| 激情熟女12P| 人妻99p| 1区2区3区在线视频| 天天摸夜夜操视频| 女生91网站| 啪啪免费| 手机av天堂久久久久| 1204av韩国| 丝袜综合网| 欧美日韩免费性爱| 六月婷婷激情| 国产精品久久久久久久久久久久久久久久| 亚洲天堂另类| 午夜乱轮操逼视频免费看| 97色色婷婷| 日韩操逼性鲍| 欧美日不卡| 丝袜av一区二区三区| 风间由美日韩欧美久久| 国产一区二区在线播放量| 日韩啪啪网| 色九九九九| 九九九九九精品| 十八禁的黄污污免费网站| 欧美九9 9 9| 色亚州人久干视频在线观看免费版| 久久超碰com| 国产 热久久久久国产精品| 九九九九九九亚洲| 97超级久久| 欧美午夜一区二区三区| 啊啊啊啊啊好大好舒服想要| 日夜伊人网| 国产精品一区二区黄片| 小草av不卡亚洲二区| 美国日韩黄片| 69超碰综合| 日本幼女18+| 国产一级作爱毛片| 一区二区不卡| 看免费一级在线播放毛片| 日日干日日| 激情婷婷黑人91| 人人干人人操人人..com| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 亚洲 图片 欧美 色图| 中文区中文字幕免费看| 99热这里只有精品地址| 狠狠躁天天躁日日躁97| 欧美日韩色综合网| 台湾大香蕉99热| 国产精品一二三区18| 97免费在线视频在线观看| 欧美人妻制服| 婷婷五月花| 91精品丝袜久久久久久| 日本人妻A片成人免费看片| 国产在线综合网| 日韩在线一区二区| 秋霞成人一级在线观看| 男人的亚洲天堂| 国产精品久久久久久久电影渣男| 欧美大香蕉卡久久| 加勒比综合| 久久久久久久久久久六六| 九九九九AV| 九九九九九九九精品视频| 麻豆一区二区三区在线看 | 激情五月综合| 97网色| 免费视频无码| 天天综合亚洲综合| 欧美天天谢综合网| 乱伦一区二区三区‘| 精品人妻一区二区乱码一区二区| 隔壁邻居波多野结衣中文字幕| 色www精品视频在线观看| av在线一区二区三区| 亚洲清纯唯美| av大香蕉| 亚洲无线观看久久| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 操淫穴亚洲五月丁香 | 97网址www| 国产在线能看的你懂的| 东北女人的毛片| 日本东京热加勒比久久| 99视频自拍区| av天天在线观看| 久久午夜鲁丝片| 日日日色色色色色| 亚洲男人天堂2019| 日韩无码操逼片| 久久久久久无码人妻中文字幕| 99综合网| 五月婷婷丁香六月丁香| 天天综合站| 久久天天摸| 久久社区一区二区三区| 日韩本不卡视频在线观看| 久久国产99精品72福利| 国产一级不卡在线观看| 精品人妻丰满熟妇一区二区三| 九九久久一区二区三区| 久久三| 97免费在线观看| 69久久久久久久久久久久久| 婷婷久久综合久| 国产精品成人久久一区二区三区| 97欧美色| 欧洲乱码一区二区| 粉嫩在线一区二区懂色| 国产无码久久高清| 激情文学小说一区二区 | 人人妻人人色| 婷婷五月天小说| 国产精品免费日韩| 蜜臀久久99精品久久久久久-DVD原版全| 欧美日韩亚洲天堂网| 97人人草| 日韩人妻播放| 欧美18老人禁| 亚洲激情久久久伊人综合| 91/欧美| 北京专精特新企业招聘信息| 一区二区三区精品视频| 高清无码一区二区三区| 免费国产视频| 日日干日日摸| 欧美,亚洲,日韩,v,天堂,手机在线观看| 有码免费观看| 成人综合色网| 丁香九月激情| 亚洲色图亚洲无码强奸乱伦| 欧美日韩啪啪电影| 97爱| 欧洲综合色图| 欧美自拍网| 久草色在线观看| 激情小说亚洲视频| 一二三四视频在线社区中文字幕| 九九九久千久久激情蜜桃在线看 | 日本国产亚洲一区在线观看| 欧美啪啪色吧在线| 欧美日韩妖精91com| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 嗯嗯,啊啊,国产精品| 五月婷婷无码| 大香网伊人久久综合| 国产九九九九九九九九| 激情五月综合网| 手机看av网站在线看| 日va操| 福利伊人玖玖国产| 亚洲无码AV九九九| 久久‘黄片视频| 久久99午夜精品一区人妻| 人妻日日干| 久久99午夜精品一区人妻| 日本性爱网址| 丰满人妻av一区二区三区| 免费中文在线| 亚洲精品久久久久久久蜜桃臀| 久久亚洲精品成人av| 国产欧美日韩精品中文| 果冻国产精品麻豆成人av| 午夜福利视频在线一区| 深夜激情无码| 97干在线| 97爱爱爱综合| 高树玛利亚无码流出| 99热在线不卡| 超碰久久网| 91成人亚洲色图| 婷婷丁香人妻| 久久久新亚洲AV| 免费αV在线视频| 中文字幕一区二区三区高清| 亚洲少妇综合在线播放| 久久人人爽人人爽人人片Ⅴ| 69精品人人人人| 青娱乐导航AV| 性爱AV天堂| 2020天天色综合| 欧美天天射| 操婢日韩| 天天躁日日躁XXXXYY| 人妻嗯啊啊在线播放| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 天天色播亚洲综合网站| 超碰在线人妻| 岛国小电影| 天天操天天日天天干| 四虎精品永久在线观看| 3PAV乱伦视频| 自拍偷拍 高清无码| 大香网伊人久久综合| 91女网站| 九九九九免费视频| 天天日天天干少妇日| 精品国产91av一区二区三区 | 欧美日韩系列| 私人尤物在线精品不卡| 国产第25页在线观看| 最新欧洲欧美日本激情网站| 哈哈操电影AV| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 人妻美腿丝袜制服诱惑综合天堂-| 国产精品视频在线播放 | 欧美黄片免费在线观看视频| 色婷婷电影| 性色av一区二区| 亚洲Av诱惑| 黄色在线网站| 精品四五区| 夜夜嗨老熟女AV一区二区三区| 亚洲色图欧美色图另类图片| 国产女人操逼视频| 欧美激情亚洲色图| 我爱操| 无遮挡一级毛片视频免费的| 亚洲欧美精品91| 欧美91久久久久| 东京热一区二区中文字幕| 全球成人中文在线| 人人搡人人肉久久精品| 欧亚日韩一区在线| 91人妻Pr| 走光一区92下载| 麻豆国产精品午夜视频| 99色视频| 91熟女视频网| 亚洲1区2区三区高清中文字幕| AV天天综合| 97伊人| 日本在线不卡v二区| 亚欧中文字幕在线视频| 91精品国产综合久久久蜜臀酒店| 日韩性爱视频免费在线 | 成人a大片在线观看| 人妻精品综合中文字幕在线| 青青久草| 黄片www.| 天堂精品一区| 日韩,欧美,中文在线| 麻豆 亚洲 97| 日韩精品色呦呦| 熟妇艹鸡八| 69视频入口| 精品少妇后入一区二区三区四区人妻巨乳| 91精品婷婷国产综合久久| 色色色欧美| 亚洲精品蜜桃久久久久久久| 伊人网青青| 亚洲色9| 91大神精品长腿在线观看网站| 混色激情av| 大学生美女口爆| 97干在线看| 97精品一区二区视频| 亚洲情色1区| 99精品国产户外露出| 97 亚洲 日韩 欧美 在线| 91bbb| 久久久久久夜夜夜夜夜| 久久久久九九九九| 日韩欧亚太美不卡| 日韩av电影成人在线| 精品国产99| 涩涩这里只有精品视频| 色婷婷久久综合超碰| 奇米狠999| 97精品视频在线播放| 成人片在线播放| 外国免费性情大片| 天天欧美色| 亚洲乱码精品一区二区| 亚州色站 日韩电影| 国产日韩精品无码去免费专区国产| 久久偷拍人| 中文字幕亚洲热播人妻| 啊啊啊爽爽| 日本天天干天天操一区| 国产精品白虎| 囯戸精品高潮呻吟旡码| 欧美亚洲日韩16色| 國產尤物AV尤物在線觀看| 亚洲97资源| 九色 人妻 大香蕉| 男人的天堂午夜av| 亚洲在钱| 国产原创自拍| 操操逼视频| 一本色道久久综合亚洲二区三区| www久久久| 亚洲无码超碰免费| 啊嗯嗯啊好大好爽| 五月天综合在线| 欧美综合国产精品久久丁香| 老司机午夜福利视频一区二区| 免费久久精品麻豆一区二区av| 火箭成精品视频884必出精品| wwe 天天干.com| 精品一区二区成人动漫| 综合97| 激情小说亚洲图片| 久久久久13| 思思热国产在线视频| 9 1果冻精品视频| 亚洲永久AV无码精品秋霞| 无码日韩网站| 人妻色偷色噜| 老司机福利社视频在线观看| 97蜜桃综合| 草莓精品视频| 青娱乐二区免费| 天美传媒精品久久视频| 久久超碰免费的| 日产狠狠干| 国产精品女久久久久av爽| 欧美亚洲小说| 日韩欧美天堂| 操人妻逼91| 精品久久久无码| 五月天玖玖资源站| 欧美 精品国产制服第一页| 久久久性少妇| 日韩精品怡红院| 天堂av2019| 午夜丁香婷婷| 加勒比久久综合网高清| 日韩熟女无码| 97天天| 亚洲色图日韩丝袜制服一区二区五月在线| 五月天伊人| 天天影视综合网欧美精品| 国产精选三级在线观看| 一起草欧美| 网站A V在线| 丰满人妻一区二区三区免费 | 国产视频一区二区三区在线免费观看| 97欧美综合网| 曰本道人妻久久久在线不卡色视频 | 亚洲区小说| 毛片麻豆91糖心精品毛情片| 日本丝袜美腿人妻九九| 2020中文字幕| 日日干日日| 亚洲欧美经典一区二区| 欧美日韩 强奸乱伦| 先锋激情∨在线视频播放| 精品国产一区探花在线观看| 风韵犹存大大大大香蕉| 激情婷婷丁香网| 欧美极品少妇| 91艹| 日韩三级性| 2019亚洲男人天堂| 2017天天透天天通天天擦| 97免费在线视频| 欧美一级AAAAAAA| 美女网站91| 97资源亚洲| 蜜臀久久久99久久久久 | 蜜臀99久久精品久久久久| 噜噜噜亚洲精| 亚洲色婷婷综合久久久久中文| 超碰97人人乐| 欧美人妖内射| 国产精品在线免费| 丰满人妻一区二区三区免费| 蜜臀AV一区二区三区| 亚洲熟女人妻中文字幕一区二区 | wwwcaobibi| 国内精品久久久久影院亚洲| 妺妺跟我一起洗澡没忍住| 91人妻Pr| 丁香激情五月天|