久久亚洲成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
返回資訊列表
婷婷10月天青娱乐| 91爆操视频| 日韩中文字幕精品一区在线| 色色色色色色色色色色色色色色综合 | 一级一性爱免费视频| 一级特级aaaa毛片免费观看 | 无码男人天堂| 9999久久久久| 中文字幕十五区| 欧美日韩大香蕉| 91男女啊啊啊| 婷婷伊人五月| 精爱久久| 亚洲欧美自拍偷拍| 啊啊啊水好多| 97天天搞在线| 狠狠色伊人亚洲综合网站色| 天天综合香 ld视频| 欧美视频一| 屌色在线97视频| 国产美女在线精品免费看| 久久一二三四五六七八九区区区 | 午夜视频久久久| 久久国内| 久久超碰国产一区二区三区| 亚洲天堂另类| 中文欧丝袜诱惑| 人人操人人摸人人骑| 涩爱AV在线| www.av在线视频| 超碰97久久国| 免费农村成人少妇人妻Aa一区二区视频| 在线综合网| 成人一区二区三区四区| 激情五月天色播| 蜜臀99久久精品久久久懂爱| 香蕉大久久久| 青青伊人久久| 嗯嗯啊啊好疼| 日本999精品| 成人精品电影| 日本Xx性爱| 无码高清操逼网址| 欧美一级黄色免费专区| 国内外内射高清视频| 欧美午夜熟妇黑人精品91| 精品中文日韩字幕视频| 一直超碰| www.高清无码诱惑一区.com| 国产久久一区二区午夜| 伊人99热| 婷婷色婷婷| 亚洲图片欧洲图片aⅴ| 女沟厕偷窥piss小便| 9九九国产| 久久久久一本一区二区青青蜜月| 国产色精品午夜大片| 欧美操人视频| 26uuu性物| 国产乱伦亚洲色图高清无码| 情趣丝袜无码操逼视频| 伊人天天久久动态图| 99热这里都是精品| 国产毛片毛片4p懂色| 亚欧免费| 亚洲国产精品成人无码久久久 | 天天干2019| 久久色人体 | av亚洲天堂资源网站| 成人影 天天操 亚洲| 男人的天堂2018东京热啪啪啪| 欧美色偷拍 | 99热这里只有精品地址| 色噜噜人妻av 中文字幕| 不卡一区视频| 天天综合亚洲综合| 思思热久久成人| 国产色精品午夜大片| 成人午夜视频免费播放| 久久国产视频专区一二三| 秋霞午夜视频一区二区| 亚洲精品91| 麻豆视频一区二区| 久久无码一区二区二三区性色| 久久受www免费人成| 久久久精品无码亚免费| 97这里都是精品| 色yeye成人免费视频| 在线中文字幕极品av| 91 亚洲 欧美 日韩 国产 综合| 欧美另类色图片| 亚洲免费日韩在线一区二区| 一级一性爱免费视频| 久久97| 欧洲亚洲天堂精品| 久久综合国产精品国产| 免费a在线播放v| 综合网欧| 国产精品乱码久久久久久| 伊人九九九| 国产91啪| 97精品视频网站| 亚洲图片 欧美电影| 国产高清免费不卡av| 久久久九97| 91熟女丨91老女人| 国产精品视频精品一二| 97在线日韩中文字幕| 在线视频免费播放一区| 超碰 另类 欧美| 亚洲密乳AV| 99视频只有精品| 狠狠夜色午夜久久综合在线| 欧美日韩中文视频播放| 天天干天天爽| 青青五月天| 强免费黄色网址| 天天欧美| 佐山爱中文字幕| 欧美午夜视频精品久久| 天躁夜夜躁2021| 五月大香蕉| 超碰在线一区二区| 色老汉色| 欧美亚洲一级在线观看| 精品成人女人久久| 99热这里只有精品9| J?P?NESEHD熟女熟妇伦| 久久大线蕉一区| 伊人激情五月天一区二区| 亚洲做性| 鲁鲁色综合网| 青娱乐亚洲自拍| 97综合久第一页| 亚洲欲色9532548967一区| 伊人九九| 亚洲双插| 美国三级日本三级久久99| 五月丁香久久| 91高清无码下载| 亚洲 无码 偷拍| 操逼999| 国产原创剧情在线丝袜 | 97一区二区蜜臀| 亚洲日韩美国人妻| 日逼逼免费看| 日本乱人伦片中文三区| 老熟女熟妇| 中文字幕jul-617人妻熟女| 亚洲av成人精品一区| 嗯嗯啊啊日韩精品| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 免费看污网站| 台欧久久精品视频| 淫色网综合| 五月天婷婷基地| 亚洲高清国产理伦片| 永久电影三级在线观看| 人妻三级在线中文字幕| 一区二区三区美女超清| 97香蕉网| 国产高清自拍| 三级日本一区二区三区| 在线播放成人高清免费视频| 四虎国产精品永久入口| 香蕉欧美| 综合影视国产无码| 国产亲戚伦亲在线| 色婷婷影视| 久久99热这里只频精品6学生| 欧亚性爱啪啪| 亚洲欧洲另类| www欧美性爱| 九色精品视频导航1| 五月天婷婷在线看| 九九探花视频在线观看| 成人丁香五月| 日少妇亚洲版| 亚洲天堂另类| 操迟操逼在巾线Fre看| 日韩一级欧美一级国产一级台湾 | 中文字幕在线观看二区三区| 美女尤物福利视频| 欧美激情色婷婷花野真衣一区二区| 欧美乱妇狂野欧美在线视频| 亚洲交换| 大香蕉乱级| 久草免费福利在线播放| 成年女人一区| 日本 情色 1区2区3区| yw尤物av无码点击进入麻豆| 一本精品日本在线视频精品| 四虎永久在线精品免费网址| 一本大道青青| 日本欧美韩国日产片片在线看免| 国产精品香蕉热久久新品| 日韩亚洲欧美中文字幕| 日韩精品大香蕉伊人在线| 欧美日韩情色一区二区| 日韩乱伦影音先锋| 日韩精品资源专区二区| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 老熟女91| 人人操人人摸人人骑| 一区二区视频在看| 亚州性9| 日本布卡一区二三区| 欧美黑人168页欧美黑人167| 蜜桃视频啊啊啊啊| 青青青草原| 丝袜色综合| 激情综合网一盗摄| 色综合20p| 熟女AV一区| 美女的肌被草喷水视频| 欧美天堂超碰97| 亚洲av热热色| 亚州久久9| 99啪啪| 人妻在线臀日韩| 久久亚洲骚逼综合| 人妻少妇久久久| 丁香五月影院| 久久亚州高清| 男人精品天堂一区| 亚洲综合嫩| 亚洲九九视频| 欧美国产精品久久九九| 一起草欧美| 一级片在线观看高清无码| 国产精品电影| 国产乱弄免费在线视频。| www.91色综合| 欧美成人都市人妻| 亚洲精品国产精品乱码不卡| 久操视频在线| 亚洲成a人v欧美综合天堂下载| 国产亚洲福利第一页丝袜| 蜜乳av一区二区| 五月丁香激情综合网| 国产精品交换一区二区| 欧美暴力猛交| 婷婷综合伊人一区| 探花熟女,姿勢到位,體驗感也到位| 国产日韩精品suv| 在线v中文字幕一区二区三区| 东亚亚洲无码高清| 欧美中字二区| 青娱乐休闲视频在线观看| blacked精品一区国产| 色999人与兽| 美女网站黄页| 插日本熟女视频| 1956日韩精品| 蜜臀一二三区| 国产家庭乱伦性爱视频| 后入 亚洲 美女 射| 激情人妻另类| 国产婷婷综合在线观看| 九九热精品在线| 91精品人妻一区二区三区蜜臀| 一级AV性爱| 亚码激情| 日韩性色| 成片免费观看视频大全| 久久亚洲天堂| 男人的天堂一区三区| www. 男人天堂成人在线| 日本国产欧美一区三区二区| 欧美日韩夜夜| 色九久| 操狠狠| 国产99热| 欧美国产日韩清纯唯美| 亚洲资源站| 大香蕉黄色一区| 蜜桃色院一区久久| 性爱av在线免费观看| 亚洲麻豆18发?| 一区二区三区视频在线观看免费| 99久久9| 日本女优在线视频福利| 人人操人人大香蕉| 国产美女91| 日本综合久久| 国产成人亚洲精品无| 人妻久久久久久久久久久久久久久 | 人妻少妇精品一区二区三区| 亚洲另类欧美精品| 大香蕉一人在线| 久久露脸国产老熟女| 成人黄页| 中文字幕av色| 国产精品播放| 人人操人人射人人干| 国产精品人妻无码久久久老鸭窝| 欧美视频第二页| 免费看日本操逼视频| 成人五月天丁香激情综合| 青青草久久在线| www.人人cao| 中文字幕在线免费观看 | 裸体1区| 性爱乱伦网址| www.yeyecao| 不卡日本一区二区| 亚洲欧美日韩电影网站一区| 激情五月天婷婷| A级国产欧美激情在线| 男人的天堂kva| 亚洲综合夜色| 蜜桃中文字日产乱幕4区| 综合久久六月久久婷婷| 欧美传媒| 一本色道久久综合狠狠操| 操逼日韩无码| 亚洲欧美国产成人综合不卡| 日韩在线欧美精品一区二区| 91日产桃蜜| 麻豆精品三区视频| 很很很很操| 日本有码影片下载| av凤凰久久久| 成人麻豆av电影网站| 秋霞 色色| 日韩综合色图| 亚洲色电影在线| 国产成人啪一区二区| 中文字幕av色| 91人妻超碰| 国模吧 一区二区三区| 亚洲国产日韩欧美熟妇在线| 91天天c| 久久久久久999| 久久性爱大全| 蜜乳AV.COM| 啊啊啊网站| 欧美激情 亚洲色图| 久色99999| 丰满搜索结果 -第18页- 久久高清无码| 超91综合网| 亚洲色色色| 97在线观看播放视频| 青娱乐欧美激情一区二区| 亚洲天堂日本| 少妇极品熟妇人妻无码| 久久久99免费| 久久久穴999| 久久婷五月天| 一区二区三区精品视频| 91 丝袜在线观看| 中文在线久久字幕| 人人做天天爱| 久久男女激情视频网站 | 女同性恋久久| 亚洲密乳AV| 亚洲激情在线观看一区| 国产探花日韩援交| 无码国产精品96久久久久孕妇| 狠狠色一区二区中文字幕| 久久国产性爱| 亚洲成人福利电影免费| 亚洲精品乱码线路中文字幕| 操逼逼福利视频| 高清不卡 中文 人妻| 日韩精品人妻中文字幕久久久| 蜜臀精品1区2区| 久污| 国产成人五月天丁香花| 永久免费观看的毛片的网站| 免费一级性爱久久| 欧美一区二区亚洲天堂| 你操综合| 97se综合| 日韩三级伊人| 日韩卡一卡二卡三在线| 亚洲操操操| 日本色色色视频| 婷婷五月天补不补| 亚洲综合一| 激激五月| 亚洲图片欧美偷拍| 强奸乱伦大香蕉网| 精品国产一区二区三区久久久蜜臀| 骚女高跟AV在线| 精品国产乱码久久久影院| 大香蕉78| 亚洲精品视频在线播放| 啊啊啊啊啊在线观看网址 | 久久夜精品一区二区三区| 久热最新在线杭州| 午夜理论片在线观看免费| 成人情色一区二区| 99精品丰满人妻无码| 男人天堂东京热| 免费精品中文字幕| 中文字幕日韩国产传媒欧美精品| 国产精品一区在线播放| 丰满人妻无码一区二区三区| 亚洲男人的天堂一区二区| 久久机热| 九热视频| 中国91AV| 激情四射五月天| 中文字幕诱惑制服人妻丝袜美丝袜美 | 操狠狠| 超碰97极品9| 久久综合99| 亚洲人码13| 亚洲天堂一区二区久久| 欧美在线视频观看一二三四区高清| 亚洲一区中文精品| 97操97色| 性爱免费视频成人| 91日韩网站| 欧美亚性天堂| 思思热在线视频在线| 亚州操操穴网| 女同女同恋久久级三级| 国产熟女| 立川理惠加勒比无码| 91美女視頻| 把腿张开老子CAO烂你| 职场同事知名国产国产精品久久欧美日韩 | 少妇三p| 亚洲丝袜色| 久久婷婷电影网| 一级黄碟在线观看| 蜜乳AV网址| 久久久久久裸体| 狠狠狠一区二区三区| 国产一级舔足在线观看| 亚洲一本色码中文字幕| 精品婷婷| 亚洲蜜乳av| 欧美肥臀在线| 蜜桃久久久久久久久久久久| 激情99| 91视频伊人| 人妻熟女一区二区三区视频| 天天操天天射青青草| 成人免费看吃奶视频网站| 麻豆色99999| 东北女人的毛片| 六十路日本| 成人av福利在线观看| 久久午夜神马| 无码精品啪啪啪一区二区三区三州| 岛国激情视频在线观看| 欧美洲精品一级| 熟妇熟女亚洲天堂网| 国产精品干干干| 日日爱99| 国产女同在线观看视频| 啊啊啊啊啊啊啊在线| 91 丝袜在线| 国产成人亚洲精品自产在线| 黑人无码一区二区| 香蕉久久AⅤ...| 欧美18老人禁| 亚洲欧美高清无码| 六月婷激情福利天堂69| 色情综合| 日本污ww视频网站| 99久久久| 久久九九国产精品| 成人乱人伦一区二区| 波多野结衣之双飞调教在线播放| aa片毛片| 日本一二区不卡| 久久9久久| 9 9无尺码天堂网| 青青三级视频| 亚洲另类色综合网站| 超碰97最新人妻| 激情文学 国产一二三aV| 国产老熟女| 91色噜噜狠狠| 操曰本熟女| 五月天亚洲网| 国产精品无码av| .精品人妻一区二区三| 久久综合婷婷| 九九久久精品| 亚洲不卡av在线| 3P乱轮视频| 色色色欧美| 国产成人+综合亚洲+天堂| www激情| 日本 免费 一区二区三区 久久香蕉 | 夫妻四区五区六区| 天天干少妇| 亚洲日韩美国人妻| 欧美精品另类人妖xxxx| 日日碰视频网| 97欧美日韩| 久九9精品| www网站黄| 中国少妇啪啪视频| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 亚洲男人天堂2013| 岛国黄色短视频| 大白逼三四级| 97国产色综合| 人妻中文字幕精品无码 | 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 欧美日韩天堂| 精品成人亚洲午夜电影| 骚妻少妇精品性色无码四色A V| 欧美日韩999| 国产精品一区二区a| 狠综合网| 久热99| 日本性感人妻91| 亚洲大色鬼| 日韩无码嘿咻黑热久| 激情五月天中文字幕色| 国产精品国产| 精品一区96| 女人被添高潮免费视频| 免费无码婬片AAAA片直播色戒| 中文字幕诱惑制服人妻丝袜美丝袜美 | 综合五月天| 国产 日韩 另类 视频一区爱| 伊人青青草久久| 激情五月天中文字幕色| 久久综合激情| 亚洲人精品久久久| 青青草天天亲夜夜操网| 久湿久久| 国产野战露脸在线播放| 亚洲精品色| 欧在线一二区| 最新国产精品久久精品| 久久久中文版| 国产乱伦性爱区| 国产精品情侣啪啪| 亚洲乱码精品一区二区| 99.色网| 亚洲加勒比| 亚洲色鬼| 婷婷五月天成人| www熟女乱伦com| 欧美se综合| 日韩午夜国产| 欧美天天拍| 久久九九国产精品| 99国产精品视频尤物| 美女久久久久久久久久久| 99re这里| 亚洲天堂另类小说男人| 亚洲日韩美国人妻| 偷拍 欧美 日韩| 男人综合网| 国产精品久久久久久夜夜夜| 色吧五月| 色情综合| 91成人精品在线播放| 欧美一区二区日韩三区| 日本不卡一区| 超碰人妻久久| 清纯唯美激情| 97天天操| 啊啊啊好舒服视频| 怡春院久久| 9精品久久久久| 极品少妇久久久久| 丝袜美腿操av| 尤物视频网 刘玥| 美女黄码视频午夜| 亚洲。天堂。日本在线观看| 伊人亚洲综合| 欧美欲色| 后入式999| 国产肏逼网站| 五月婷婷大香蕉| 不卡人妻少妇精品毛片一区23区视频| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 亚州综合色| 秋霞怕怕片| 欧美Aⅴ| 女性喷水高潮在线观看| 青青青国产手线观看视频2| 五码视频在线观看| 少妇3P性爱自拍| 日日夜夜精品视频| 免费观看性欧美一级| 涩涩涩综合| 国产三级中文有码在线视频| 久日综合网| 国产91丝袜在线播放蜜月| 性高潮久久久久久久久久久| 熟女熟妇一区二区三四区| 亚洲在线91| www国产精品| 中文字幕精品免费一区二区| 国内精品久久人妻性色av| 国产亚洲女v在线观看| 天天干天天日天天射黄色片| 人人弄人人摸| 色色网91| 又黄又爽在线观看视频| 图片区小说区| julia ann久久| 日逼97| 亚洲一级特黄大片在线播放91| 欧美 亚洲 制服 精品| 黑人性欧美| a级理论午夜日本| 国产精品久久久久久9999| 国产精品探花色| 富二代亚洲精品99| 中文字幕乱码在线| 天天添天天干电影| 天天香香欲综合| 久久青娱乐| 插B在线观看| 欧美中文字幕男人天堂久久精品 | 超91综合网| 激情小说五月天| 亚洲美女精品| 久久久99999久网站| 天堂亚洲精品久久老牛| 欧洲综合色| 台湾一区国产高清在线| 日本激情免费大片| 99re视频在线观看这里只有精品| 99re3这里只有精品| 久久熟女久| 国产免费内射视频| 一区二区精品日韩欧美在线观看| 国产精品久久妻无码网站| 日韩av一级黄片| 久久久久久久极品香蕉视频| 人妻精品一区二区三区| 男插女青青影院| 99成人| 日韩成人小视频| 亚洲日本韩国在线| 久久久久精| 黄色大片一区二区密桃丝袜| 天天激色| 超碰97人妻| 爱av免费| 日韩超碰精品综合| 91精品国产91熟女| 黄片免费看的| 狠狠色综合网| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 国产精品ww久久| 亚欧性爱无码| 97自拍视频在线| 330dv亚洲成年视频网| 欧美综合另类| 911av网站免费观看| 五十路三区在线| 久久男人网| 老女人爆菊| 国产狂喷潮在线精品| 91日日| 操操逼操操逼操操逼逼| 天美传媒AV在线| 国产精品交换一区二区| 96国产污污污丝袜| 亚洲成人激情小说视频| 五月婷丁香| 2017超碰| 国产最新小视频在线播放下载| 日本激情免费大片| 东北老女人的激情视频| 欧美亚洲中文| 超碰免费在线| 超碰在线日韩一区| 日韩av不卡在线观看| 久久久久密臀视频| 国产午夜在线观看视频| 可以看的av| 欧美男人亚洲天堂| 国产精品久久久久无码A√| 91肏屄网| 中文字幕丰满子伦无码专区在线视频最新| 99精品在线| 亚洲天堂无码| 思思热免费在线视频| 国产97av| 欧美色五月| 亚洲精品影视老司机| 99久久久无码国产精品性啊聊| 5252色欧美在线| 水滴偷拍| 亚州欧美一区| 91xingse| henhen91| 国产一级内射高清视频| 久久久久成人蜜桃精品| 国产精品99999| 97操97干| 国产少妇高潮| 懂色AV一区二区三区| 国产午夜福利电影免费在线观看| 999久久芭蕾| xxxx网站亚洲精品| 久噜噜| 欧美真人抽搐一进一出gif| 按摩中文字幕| 久久久久久9| 色婷婷aV一区二区三区麻豆综合| 97免费视频在线| 亚洲人精| A片A5445444| www.AV有限公司一区| 亚洲影院无码在线| 97超碰色五月| 91人妻少妇| 综合色色婷婷| 国产一区二区在线电影| 国产精品无套内谢| 91九色首页| 操逼操网| 色五月首页| 久久午夜伦| 日韩中字av一区| 9久久精品| 亚洲二区精品在线观看| 精品熟妇视频一区二区| 99精品无码| 久9精品| 逼逼逼逼操操操操操操操操操午夜剧场| 久久大精品乱码视频人妻熟女| 免费中文在线| 91 丝袜在线播放| 老熟女熟妇| 亚洲av淫乱| 操人妻视频| 四虎国产成人精品免费一女五男| 成人福利视频网| 色色九区| 久操热| 亚洲性爱成人| 白丝在线一区| 久久人妻丝袜一区二区三| 乱性AV| 超碰久在线天天做| 人妻啊啊人妻啊| 熟女探花啪啪| 精品久久9| 激情五月天插| 91成人亚洲色图| 夜夜操av亚洲一区二区| 日操粉逼逼| 欧美亚洲91| 呦女网站| 人妻碰碰碰碰碰碰| 亚欧成人中文字幕一区| 无码天堂| 美女黑人91神马| 婷婷五月影院| 日韩av性爱在线播放| 综合色久欲| 一个人在线看的黄色电影网站| 中文字幕成人理论在线| www国产精品| 日韩天天本| 野狼激情网| 乱伦AVxx| 亚洲国产精品V?在线播放| 99热欧美| 欧美日韩另类字幕中文| 久久精品欧美一区蜜桃| 久久久久国产一区二| 久久av无码| 少妇高潮九九九九九九九| 99综合免费视频| 高清成年美女黄网站免费大全| 丁香九月婷婷| 国产不卡的视频| 欧美色图天堂网m| 99热亚洲| 岛国在线一区二区三区| 久久久四区| 高清孕妇孕交 交孕妇| 欧美日韩亚洲高清不卡一区二区三区| 国产剧情AV不卡在线观看| 秋霞色色影院| 亚洲一区二区av| 狠狠操狠狠燥| 久久久99999久网站| 日韩一999精品| 天天射影院| 天天干天天做| 国产精品久久aV| 亚洲图片在线| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 国产毛片片精品天天看视频| 舔人妻中文免费视频| 天天天天天天天天综合| 婷婷五月天基地| 日韩性爱啪啪视频| 国产日韩欧美| 欧 美 自 拍 偷 拍| 日韩 女同 综合| 激情五月综合网| 大香蕉综合网| 97国伦国色| 国产绿奴视频在线观看| 囯产精品强| www.色操逼| a'v在线资源| 歐美一級亂黃99在綫精品| 加勒比伊人| 综合天天网| 亚洲成人色情五月天丁香花| 欧美日韩亚洲国产中文永久天天看| 乱伦a片视频| 一本色道综合久久欧美| a级免费在线观看| 绯色一区二区三区不卡少妇 | 性色一线| 全免费a敌肛交毛片免费| 天天干人妻视频| 99操| 国产AV久久野战精品| 无码动漫av中文字幕| 亚洲中字慕不卡| 色五月AV在线| 青青草在线成人视频| 欧美躁死她一区二区| 殴美性色a级欧美| ,国产乱人伦精品一区二区三区| 综合熟女| 大奶啊啊好爽| 日本一级性爱| 夜夜操狠狠操| 女同亚洲欧美一二三区久久电影| 色性荡荡荡荡视频| 麻豆天美传媒在线视频天堂| 欧色性第一页| 97欧美色| 亚洲日韩美女丝袜美腿人妻视频| 久久久久97| 日韩中文字幕国产| av强奸乱轮| 最好看的中文字幕在线2018| 国内毛片国产欧美拍| 6080YYY午夜理论片在线观看| 综合伊人网12色| 91在线页| 欧美在线啊啊啊| 日本三级久| 成人国产视频在线观看| 欧美大片91| 伊人性在线视频| 9.1小视频| 97任你吞精| 精品亚洲| 日韩av不卡在线看| 天堂8在线新版官网| 五月天社区| 精产国品一区二三产品| 欧美最婬乱婬爆婬牲视频| 青青草五月份天| 啊啊啊网站| 国产成年女人免费视频播放a| 国产精品激情久久久久久久| 99视频内射三四| 草伊人高潮喷水超碰| 日日玩天天干| 免费少妇一区二区| 欧美精品999| 超碰97资源大奶| 99精品综合久久久久五月天| 天天干天天舔| 亚洲精品日韩国产欧美| 国产夫妻一区二区| 干妹子| 2021国产成人精品久久| 亚洲国产一级精品毛一级精品看免费视频 | 久草精品国产99| 隔壁邻居波多野结衣中文字幕 | 欧美草草高清日韩视频| 视频一区二区三区精品| 亚洲AV资源| 加勒比海人人操超碰在线| av在线免费一区二区| 99热99色| 美日韩在线不卡人妻| 欧美性夜| 1769一区| 日韩一级片在线看| 大干人妻| 亚洲人妻精品一区二区| 中文字幕一区二区三区高清| 熟女精品一区二区三区| 人人污日韩一区二区| 日韩日韩日韩-国产乱码精品一区二区| 一级做a爰片性色毛片久久| 国产男人又猛又粗又爽| 人人喜人人妻| 啊嗯嗯啊好大好爽| 青青在线视频日韩欧美| 粉嫩av在线一区二区| 国产农村妇女精品一二区| 九九九久久久W精品| 亚洲欧洲日本精品中文a∨| 大香蕉520| 99蜜桃臀久久久欧美精品网站| 91九九| 国产欧美一区激情交| 天天内射| 久久欲| 91丝袜在线观看视频在线观看| 亚州欧美总和| 免费无码国产精品v片在线观看| 97干色天堂| BBBBB97COM| 被体育老师抱着c到高潮| 欧美色图 人妻| 国产JDAV无码视频在线观看| 国产精品天美传媒| 老鸭窝成人免费毛片视频| 日韩兔费看黄片| 激激五月| 欧美亚洲日本视频久久久| 不卡人妻少妇精品毛片一区23区视频| 96久久久久久久| 伊人AAA| 夜夜躁狠狠躁日日躁av| 蜜桃色色网站视频三区| 2019天天干天天操| 人妻啪| 青青草在线视频人人想人人上 | 大香交| 国产精品ⅴ无码大片在线看.| 97视频在线免费看| 欧美激情内射| 色五月综合网| 夜夜嗨一区二区三区直播内容| 亚洲中文字母在线播放| 日韩无码服务区| 午夜福利在线合集| 99久久综合| 超碰国产精品无码| 中文幕97| 日本一区视频在线观看| 狠狠色一区二区中文字幕| av网站免费线看| 蜜桃传媒一区二区亚洲| 亚洲AV无码秘 蜜桃臀国精产品| 97精品国产97久久久久久户外免费| 黄骗免费网站| 国产乱码久久| 中文操逼字幕| 97精品综合久久网| 另类小说综合网| 嫩草影院永久在线制服丝袜| 国产69精品久久久久99尤物| 国产蜜臀精品一区二区尤物| 色色婷婷五月| 学生妹天天看| www.超碰在线| 亚欧色图在线激情| 久久999久| 艹少妇网站| 九九九久| 老色69| 国产精品久久久久久无码红治院| 91无摭挡| 亚洲婷婷五月天| 高清有码一区二区| 午夜毛片高清免费不卡| 日韩性爱再线视频| 91N综合网| 欧美最婬乱婬爆婬性视频 | 开心五月天激情网| 国产操逼网站亚洲一级黄色| 欧美A√综合网| 久久婷婷视频| 人妻天堂三区| 人妻无码后入| 黄色毛片A片| 91天美| 91老熟女老女人国产老太| 成人在线视频网| 日本久久女同性恋视频| 亚洲日韩乱码中文无码蜜桃臀网站| 啊视频在线| 亚洲无992tv| 色天使大香蕉| 激情五月综合| 成人羞羞视频国产| 亚洲AV色图一区| 色5月婷婷| 色在线综合| 亚洲性图91| heyZO天然素人无码AⅤ专区| 国产精品永久免费10000| 美女91在线| 好屌色综合| 丁香五月成人| 中文字幕蜜乳av| 蜜桃臀一区二区aV| 大香蕉在线视频15| 国产免费一区在线观看| 操婢日韩| 国产精品久久久久久久久久久久久久| 99re69综合| 亚洲最大网站av| 久久久亚洲Av| 欧美骚少妇| 综合激情97 | 色色热| 欧美亚洲尤物久久| 国产熟妇 码视频户外直播| 久久久国产精品亚洲精品| 色五91| 淫荡少妇免费| 欧美欧美啪啪视频| 超碰午夜| 欧美日韩不卡传媒| 亚洲日韩精品一区视频在线| 久久国产精品,久久国产| 色综合色欲色综合色综合色综合| 欧美综合网| 日韩成人小视频| 五月天激情网站| 免费毛片在线播放| 大香蕉黄色一级片免费看| 懂色AV网| 亚洲精品久久久久久| 中文字幕在线观看网页| 嗯嗯啊操我| 熟女乱伦二区| 人人摸人人叼| 操逼视频亚洲| 成人精品无码| 欧美色图 色综合图| 亚洲成人帖图| 日本九九久久99播| 国产馆| 欧美国产伊人久久久久| 91在线免费观看处女| 极品销魂美女一区二区 | 欧日韩在线观看| 97日韩欧美亚洲| 啪啪资源网| 岛国AV一区二区电影| 伊人伊人LD| 久久精品人人做人人看| 综合久久婷婷| 中文字幕精品专区搜索结果91| 久久国产性爱| 伊人色综合超碰| 久久综合久色欧美综合狠狠 | 欧美人妻少妇| 色欧美天天| 超碰人人干| 2020中文在线一区二区三区| 狠狠久久手机视频精品| 欧美一级二级三级| 9美女超碰在线免费观看| 超碰欧美97资源| 91天美传媒在线观看| 91美腿丝袜在线观看| 久久区| 男人的天堂2018东京热啪啪啪| 亚洲欧美伦综合| 中文字幕一区 二 区 三 四 五 区日 日 骚| 精品无吗m| 久久精彩视频| 欧美天天综合站| 亚欧国产无码精品在线| 色天堂在线观看| 日韩一级欧美一级在线观看| 午夜一区| 欧美一区二区三区蜜桃| 熟女五十路一区二区三| 国产在线观看91精品一区| 国产91av在线播放| 国产网红精品| 精品一啪| 爱做久久久久久| 大香蕉碰碰| 台湾佬中文娱乐自偷自拍| 国产欧美一区二区| 97香焦色区| 好看的91视频| 久久久久久中文版| 一区二三区四区视频大全套| 色路综合| 中国91AV| 少妇久久久久久| 中文字幕第9页萱萱影音先锋| 久96热在线观看视频| 福利操逼| 色九九综合| 91原创在线观看| 蜜桃精品视频一区| 精品女同一区二区三区| 欧中美三级一区二区三区| 久久男人天堂| 亚洲高清无码在线桃色| 簧片免费看视频| 久久久夜夜嗨免费视频| 97超级久久强资源| 麻豆一区在线| 校园春色亚洲色图| 欧美高清18A片| 国产操逼逼网| 91大学精品激情戏| 麻豆性爱视频在线播放| 成人久久久精品| 亚洲色图图片| 国产一区二区三区视频在线看| 六十路日本| 欧美日韩222| 蜜桃久久久久久久久久久久| 国产日韩中文字幕欧美| 亚洲黑人在线| 亚洲天堂人妻熟妇视频| 天天做天天爽| 欧美国产有色电影| 夜夜夜夜爽| 欧洲一区二区| 日韩免费一级性爱视频| 五月婷婷丁香中文字幕| 欧美一级色| 亚洲自拍另类丝袜综合| 欧美性色欧美| 狠狠操官网| 色99在线| 天天躁夜夜躁狠狠躁AV| 夜夜草天天| 欧美成人一级免费电影| 厕所偷拍在线| 精品大全99999| 视频一区二区免费在线| 国产高清无码一区二区三区四区皇冠| 中文久久一区| 老熟女综合网| 能在线播放的国产三级| 国产精品一二三区福利| 成人久久久精品| 久久精品一区二区一8| 亚洲成av人片色午夜乱码| 欧美日韩国产电影| 色激情综合网站| 中文字幕性感少妇av| 磁力99AV| 亚州91| 九九热精品| 九九自拍伦理| 欧州一区二区三区四区| 日本人妻A片成人免费看片| 一区,二区,三区视频| 91中文字幕| 性爱视频啪啪啪啪| 久久精品免费| 欧美专区17页| 国产一级不卡在线观看| 国产怡红院|