999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Kafka的海上風電場數據傳輸系統設計與實現

2023-12-31 00:00:00余建忠譚任深
科技創新與應用 2023年31期

摘" 要:在數字經濟發展的時代背景下,企業不斷面臨著數字化轉型的壓力與挑戰。許多能源企業也在積極探索數字化轉型的關鍵要素,數據被大多數人認為是最為關鍵的要素之一。因此,數據傳輸的安全可靠也變得極為重要。為確保海上風電場數據的安全可靠傳輸,該文提出一種基于Kafka的數據傳輸系統,可以屏蔽復雜網絡環境下的不穩定性,保證數據不會丟失。實踐和測試結果表明,該系統不僅解決現有數據傳輸系統在網絡不穩定和高并發傳輸等方面的問題,還具有容量大、傳輸效率高及動態擴容等特點。該系統不僅有效解決海上風電場數據的安全可靠傳輸,也為能源行業數據處理提供一種新的思路和工具。

關鍵詞:海上風電場;海量數據;安全可靠;Kafka;高并發

中圖分類號:TP3" " " " 文獻標志碼:A" " " " " 文章編號:2095-2945(2023)31-0026-06

Abstract: In the era of digital economy, enterprises are constantly faced with the pressure and challenges fromdigital transformation. Many energy companies are also actively exploring the key elements of digital transformation, with data being considered one of the most critical elements. Therefore, the security and reliability of data transmission has become extremely important. In order to ensure the safe and reliable transmission of offshore wind farm data, this paper proposes a data transmission system based on Kafka, which can shield the instability in the complex network environment and ensure that the data will not be lost. Practice and test results show that the system not only solves the problems of network instability and high concurrent transmission of the existing data transmission system, but also has the characteristics of large capacity, high transmission efficiency and dynamic expansion. The system not only effectively solves the safe and reliable transmission of offshore wind farm data, but also provides a new idea and tool for data processing in the energy industry.

Keywords: offshore wind farm; massive data; safety and reliability; Kafka; high concurrency

隨著數字技術和信息通信技術的高速發展和廣泛應用,我們迎來了一個全新的數字化時代。這個時代不僅對生活和生產方式產生了深刻影響,同時也對企業的經營和發展提出了新的挑戰和要求。為了適應這個時代的發展趨勢,企業需要進行數字化轉型,以提高效率、降低成本并推出創新服務,從而在激烈的市場競爭中獲得優勢并取得成功[1]。

在當今數字化時代,數據扮演著企業數字化轉型最為關鍵的角色之一。企業需要處理大量的數據,包括客戶、業務、產品和運營等各種類型的數據。這些數據能夠提供有關客戶、市場、產品和競爭對手等方面有價值的信息,幫助企業做出正確的決策以及提高收益[2]。同時,隨著互聯網和物聯網技術的發展,數據產生和收集的速度也日益加快,數據量的增加也給數據采集和傳輸帶來了新的挑戰。

能源企業在數字化轉型的同時,也面臨著推動能源結構轉型升級的重要任務。清潔能源的使用和研發成為能源企業的一項重要工作,同時需要加強節能減排和能效提升,推動低碳綠色發展模式的形成,從而實現碳達峰、碳中和的目標[3]。在此背景下,海上風電作為一種重要的清潔能源,成為沿海城市大力興建海上風電場的重點方向之一。而對于能源企業來說,監控海上風電場的運行狀態,保證其健康運行至關重要。此外,能源企業也在建設自己的數據中心,需要將各個海上風電場的數據都上傳到數據中心,以進行統一分析挖掘和應用。例如,結構檢測、故障預警、智能運維等應用可以幫助保證風電場的健康運行,提高整體的發電效率,降低運營成本,帶來更高的經濟效益。

為了確保海上風電場的海量數據能夠在復雜的網絡環境中穩定傳輸并避免丟失,同時保障數據的安全可靠,需要構建一套可靠的數據傳輸系統。本文將介紹以Kafka作為核心中間件的數據傳輸系統的設計和實現方法,旨在為海上風電場數據傳輸提供可靠解決方案。

1" 數據傳輸的需求

現代海上風電場中的各種設備,如風機、塔筒、升壓站、海纜和主控輔控等,配備了大量傳感器,每秒鐘都會產生大量數據。例如,一個300 MW的海上風電場每秒鐘最高可產生上百兆字節的數據,每天的數據量可以達到近TB級別,這就要求數據傳輸系統必須支持數據壓縮和高并發處理能力。

海上風電場的生產運維數據產生的數據量龐大,這些數據需要從陸上集控中心傳輸到區域集控中心或者其他數據中心,傳輸距離一般是幾百公里甚至上千公里,對于數據的可靠傳輸要求較高。由于距離遠且網絡環境復雜,網絡穩定性不夠高,目前有3種網絡方案可供選擇。電力專線成本較高,只有電網采用;運營商專線成本較低,網絡效率和穩定性較高;普通公網成本最低,但網絡效率和穩定性稍差。無論使用哪種網絡方案,都可能遇到網絡問題,因此,需要支持斷點續傳的功能,以保證數據傳輸的可靠性。此外,護網行動也需要考慮,有時需要斷開對外網絡,因此,數據傳輸系統需要支持恢復中斷傳輸的功能。

現有數據傳統系統更多的是采用直接傳輸方法,該方法傳輸可靠性更多地依賴網絡的穩定性和帶寬。如果遇到網絡阻塞或護網行動等情況,傳統的數據傳輸系統可能會導致幾天的數據丟失,無法回傳至數據中心[4-5]。此外,海上風電場的數據也有瞬時高峰點,例如結構檢測的數據可能每隔幾十秒會回傳接近百兆的數據,但由于網絡帶寬的限制,可能會導致部分數據丟失。相比之下,基于Kafka的數據傳輸系統將Kafka作為數據緩存中間件,不僅能夠屏蔽網絡的不穩定,而且能夠將瞬時高峰的數據傳輸變為平緩傳輸,起到削峰填谷的作用。如圖1所示,坐標系里波動較大的線表示風電場產生的數據量,比較平緩的線是系統能處理的數據量,系統能夠將波動較大的線的高峰放到低谷的時候處理。

2" 系統架構設計

2.1" 網絡架構設計

為了實現海上風電場的數據傳輸,第一步需要的做的是網絡鏈路的設計。數據需要從集控中心傳輸到距離幾百公里甚至上千公里外的數據中心,通常情況下,可以采用普通公網或者運營商專線等網絡。還可以在這基礎上,通過VPN隧道技術將兩地網絡連接在一起,如圖2所示。為了實現這個過程,需要使用帶有路由功能和重連功能的VPN設備,該設備一端連接到防火墻,另一端連接到內部交換機,通過交換機將內部服務器連接在一起。

通過這種組網方式,結合路由規則設置,集控中心和數據中心之間相當于處于同一局域網內,從而極大地簡化了應用層數據傳輸系統的設計。此外,由于VPN隧道技術已在網絡層或鏈路層對傳輸通道進行了加密,因此在應用層就無需再對數據進行加密,既能確保數據傳輸的安全,也提高了數據處理的吞吐量。

2.2" 應用架構設計

與一般的應用系統不同,數據傳輸系統由2個系統組成:數據生產系統和數據消費系統,如圖3所示。數據生產系統部署在集控中心內,負責將整個風電場的數據收集后寫入Kafka消息隊列;而數據消費系統則部署在數據中心內,從Kafka消息隊列獲取數據后進行存儲、分析或者展示。

其中一個關鍵點,Kafka消息隊列一定是部署在集控中心側。由于公網或者專線的穩定性可能會有波動,或者需要進行護網行動,只有部署在集控中心側,并與數據生產系統處于同一局域網內,才能最大程度上避免數據丟失[6]。

3" 系統架構設計

3.1" 數據生產系統

數據生產系統的主要功能是從海上風電場的各種設備或SCADA系統中獲取數據,并將這些數據寫入Kafka消息隊列。由于風電場的設備類型繁多,并且采用的數據協議也不統一,包括modbus、104規約、snmp和ftp文件等[7]。因此,在實現數據生產系統時,關鍵之一是考慮其擴展性,以支持新的數據協議。數據生產系統主要由以下模塊組成:用戶權限模塊、設備管理模塊、數據采集模塊和數據存儲模塊,如圖4所示。

用戶權限模塊是數據生產系統的基本功能之一,其主要職責是管理用戶和管理用戶的權限。用戶權限模塊允許管理員創建和管理用戶賬號,并授予不同用戶不同的權限。通過該模塊,管理員可以管理用戶的登錄和訪問權限,確保系統的安全性和合規性。

設備管理模塊是數據生產系統的另一個重要功能模塊,其主要職責是管理設備。該模塊允許管理員對設備進行管理和配置。管理員可以設置每個設備的數據協議,以確保系統能夠正確解析設備發送的數據。此外,設備管理模塊還維護著設備傳感器測點的相關性信息,以便在數據采集過程中能夠準確地識別和處理來自各個傳感器的數據。

數據采集模塊是數據生產系統的核心模塊之一,其主要功能是解析各種數據協議,并采用插件式管理這些解析器,以便擴展支持新的數據協議。數據采集模塊負責與設備通信,解析設備發送的原始數據,并將其轉換為統一的數據格式。解析后的數據會被發送到數據存儲模塊,以便寫入Kafka消息隊列。

數據采集模塊的協議擴展可以采用靜態模式和動態模式。靜態模式指在編譯前就預先開發好新的數據協議解析器,并在編譯時一起打包部署。這種模式的優點是代碼相對簡潔,只需面向接口進行編程,易于實現。然而,缺點是需要重新編譯整個項目,并進行打包部署,相當于需要停止原有系統的運行。另一方面,動態模式允許在系統運行時動態添加新開發的數據協議解析器。這種模式的實現相對困難,需要使用自定義類加載器等技術來實現動態加載。雖然動態模式具有靈活性,但其實現較為復雜。在本系統中,采用了靜態模式來實現協議擴展。對于已經建設完成的海上風電場而言,其設備使用的數據協議是確定的。因此,在部署和上線階段,可以預先開發并包含所有可能使用的數據協議解析器。

數據存儲模塊是數據生產系統的另一個核心模塊,其主要功能是將用戶等相關的配置信息存儲在MySQL數據庫中,并將解析后的設備數據寫入Kafka消息隊列。該模塊負責將數據發送到適當的Kafka主題,以供后續的數據處理和分析使用。

數據存儲模塊在數據存儲的同時,具有一個重要功能,即判斷從設備獲取的數據是否需要寫入Kafka。為什么不直接將所有設備的數據寫入Kafka并傳送回數據中心呢?這是因為許多設備的數據并不一直變化。例如,對于一個開關量,在較長一段時間內可能保持為開或者關,變化并不頻繁。類似地,某些設備的模擬量(如電壓或電流)在一段時間內也可能保持不變。因此,對于這些變化緩慢的數據,只需在數據發生變化時立即寫入Kafka,而對于數據未發生變化的情況,定期寫入Kafka即可。

數據存儲模塊通過緩存來實現這個邏輯。當有新的數據進來時,首先判斷緩存中是否存在該數據。如果不存在,則將數據以及獲取數據的時間戳存儲在緩存中并寫入Kafka。如果存在,則判斷新數據與緩存中的值是否相等。如果不相等,則直接更新緩存信息并寫入Kafka。如果相等,則判斷是否達到指定的時間間隔。如果尚未到達間隔時間,則不需要進行任何處理。如果已經到達間隔時間,則更新緩存信息并將數據寫入Kafka。這種方式的好處是可以降低Kafka并發寫入的壓力,提高Kafka集群的存儲效率。然而,這種方式也存在缺點。在數據消費系統將數據寫入數據庫后,當需要從數據庫中讀取某個時間范圍內的數據時,需要進行數據填充操作。即使數據在數據庫中不存在,也需要根據之前的數據進行填充。

3.2" Kafka集群

Kafka是由Apache Software Foundation開發的一個分布式流處理平臺,是一種高吞吐量、低延遲、可擴展的消息隊列系統,通常用于大規模數據的實時處理和分析。其采用發布-訂閱模式來處理海量的消息流,可以支持持久化存儲和高效讀寫操作。Kafka主要用于構建實時數據流管道和流處理應用程序,比如數據收集、數據傳輸、數據處理和實時分析等領域,可以作為中間件,承擔各種數據流的傳輸和處理任務,同時也可以與其他開源系統集成,如Hadoop、Storm、Spark等。總體來說,Kafka已經成為了數據處理和分析領域的重要組成部分,為海量數據的處理和分析提供了高效、可靠、彈性的解決方案[8-9]。

在Kafka集群部署中,至少需要部署3個Broker節點。每個Broker節點上可以配置多個數據目錄,這樣可以提高集群的IO能力和數據的可靠性。通常情況下,配置的目錄數應等于數據存儲盤的個數。為每個設備創建不同的主題(Topic)是一個良好的實踐。每個Topic的分區數(Partition)可以設置為9,這樣可以提高讀寫性能。然而,需要注意分區數不能設置過多,因為過多的分區會消耗更多的系統資源。同時,將分區設置為9有助于后期擴展Broker節點。將分區的副本數設置為2有助于提高數據的存儲可靠性,避免因為一個節點宕機導致數據丟失。副本數為2意味著每份數據在Kafka集群中存在2個副本。然而,需要避免設置過大的副本數,以免占用過多的硬盤空間,導致Kafka集群的容量變小。

對于存儲容量評估,假設一個風電場每天產生2 TB的數據,并且最長的斷網時間為7 d。根據這些假設,總共需要14 TB的存儲容量。然而,為了考慮容錯和Kafka節點數據存儲不平衡性,建議預留大約總容量的30%,以提高可靠性。因此,該風電場需要大約20 TB的存儲容量。此外,需要注意Kafka集群的數據過期策略設置。消息按過期時間進行保留,建議將保留時間設置為斷開與公網連接的最長時間加1 d,也就是8 d。

對于Kafka集群的硬件要求,Kafka采用順序讀寫方式處理消息,并主要使用操作系統的Cache而不是大量內存。根據測試和經驗,機器的內存通常只需32 GB就足夠,CPU只需8個核心。然而,為了確保即使一個節點宕機也不會影響Kafka集群的吞吐量,建議將內存提升至64 GB,CPU提升至16個核心。

3.3" 數據消費系統

數據消費系統的主要作用是通過VPN連接到集控中心的Kafka集群,從Kafka中讀取數據,并將讀取的數據寫入時序數據庫HBase中。同時,數據消費系統可以實時推送數據給前端大屏顯示或其他系統用于數據分析。該系統的主要模塊包括用戶權限模塊、數據解析模塊、數據轉發模塊和數據存儲模塊,如圖5所示。

用戶權限模塊的功能與數據生產系統類似,其主要職責是管理用戶和管理用戶的權限。

數據解析模塊的主要功能是對從Kafka獲取的數據進行解析,并將消費信息回傳給Kafka集群。該模塊負責解析數據的結構和格式,提取出有用的信息,以便進一步進行數據轉發和數據存儲等操作。

數據轉發模塊的主要功能是將解析后的數據通過常用的協議轉發給其他系統。該模塊支持多種協議,如WebSocket或MQTT,用于實時將最新的數據轉發給前端大屏顯示。同時,該模塊也支持通過TCP或UDP等協議將數據轉發給其他系統,以供進行數據分析和處理。

數據存儲模塊的主要功能是將用戶相關的配置信息存儲在MySQL數據庫中,并將解析后的數據寫入HBase數據庫。該模塊負責將解析后的數據持久化存儲,以便后續的查詢和分析。同時,用戶的配置信息也可以被存儲和管理,以滿足系統的定制需求。

為了提高數據并發處理速度,數據解析模塊需要為每個Topic設置獨立的消費者組,且每個消費者組的消費者數量應與對應Topic的分區數量相等,這樣可以提高數據的并發處理能力。消費者組的消費者數量不應該大于Topic的分區數量,超過分區數量的多余消費者無法被分配到分區,造成系統資源浪費。

另一個關鍵點是,在將消息消費進度回傳給Kafka集群時,應該采用手動提交方式,而不是自動提交。這是為了避免數據尚未完全落庫就已經回傳了消費信息的情況。如果系統此時發生重啟,會導致部分數據丟失。手動提交方式可以確保數據成功寫入存儲后再進行消費信息的回傳。然而,這種提交方式可能導致消息重復消費的問題。為了解決這個問題,要求數據存儲模塊或者HBase能夠實現冪等性。HBase作為一種KeyValue數據庫,通過邏輯上的覆蓋,相同的Key值可以避免存儲相同的數據,從而實現冪等性。

數據生產系統和數據消費系統的后臺服務均采用當前熱門的Springboot框架進行開發,并采用shiro實現用戶權限管理。Springboot框架的優勢在于快速搭建Spring框架,自動整合第三方框架,能夠快速啟動web容器,內嵌servlet容器,降低了對環境的要求,能夠使用命令直接執行項目[10]。

3.4" 系統測試

該系統已經在某個海上風電場穩定運行了數月時間,并成功將該風電場的部分數據安全可靠地傳輸至數據中心。因為現階段只是作為試點項目,并沒有進行全部遷移,傳輸的數據量比較小,并不能驗證系統的數據處理能力,所以部署測試環境進行數據處理的壓力測試。

測試環境部署了3個節點的Kafka集群,每個節點的機器配置為4核16 G的虛擬機。首先創建一個測試Topic,Partition為9,副本數為2,并通過Kafka自帶的工具進行壓力測試。

模擬生產1 000萬的條數據,每條數據大小為512字節,合計約4.77 GB的數據量進行測試。測試結果為平均每秒約365 MB的處理能力,每條消息的平均延遲時間為75.52 ms,最大延遲為862 ms,CPU負載接近65%,內存使用率45%左右。模擬消費1 000萬的條數據,每條數據大小為512字節,合計約4.77 GB的數據量進行測試。測試結果:平均每秒約715 MB的處理能力,CPU和內存負載較低。

從測試中可以得出,數據生產端和消費端的數據處理能力已經超過了需求,CPU和內存的提升還可以進一步提升數據能力。而實際項目中該系統的“瓶頸”在于公網的網絡帶寬,因為我們日常使用千兆網,其數據傳輸帶寬理論值是每秒125 MB,實際值每秒也可以在100 MB左右。

測試環境的模擬測試,是生產數據和消費數據單獨測試,并且不考慮容錯,與正式環境還是有差別的。正式環境不僅僅需要考慮容錯、數據過期處理,還需要考慮多客戶端連接等因素,所以建議正式環境建議把機器配置應該不低于16核64 G。

4" 結論

本文闡述了海上風電場數據傳輸的背景、需求特點,并提出了一種基于Kafka的數據傳輸系統的設計與實現方法。通過分析Kafka的架構和實現原理,設計了一個高效、可靠的數據傳輸系統,實現了數據的生產、傳輸和消費等功能。在實際應用中驗證了該系統的可行性和有效性,并進行了測試和優化。

值得一提的是,Kafka已經在互聯網企業中得到廣泛應用,如實時數據流處理、日志管理和監控、數據同步和復制、消息通知和推送等。在電力行業應用還比較少,但是類似于互聯網企業,電力行業生產過程中也會產生大量的實時數據,例如發電機、變壓器、開關等設備的運行狀態數據,這些數據同樣需要實時采集、傳輸、分析,以支持各種預測、決策和控制應用。因此,Kafka作為一種高吞吐量、低延遲、可擴展的消息隊列系統,可以滿足電力行業對實時數據采集和處理的需求。希望本文提出的基于Kafka的海上風電場數據傳輸系統的設計與實現方法,能夠為電力行業數據處理提供一種新的思路和工具。

參考文獻:

[1] 王琮.電力企業數字化轉型探索[J].華北電業,2022,337(11):58-59.

[2] 石磊,何天翔,陳端兵.企業數據資產價值評估研究[J].中國資產評估,2023,277(4):20-30.

[3] 張佳鑾,王增栩,田中華.碳達峰碳中和背景下廣東省電力行業降碳路徑研究[J].科技和產業,2022,22(8):61-67.

[4] 熊金蓮,劉豐,郭藝峰,等.海洋觀測數據傳輸系統的設計與實現[J].計算機應用與軟件,2022,39(12):34-38,101.

[5] 陳明,花橋建,顧小紅,等.基于MQTT的水務數據傳輸系統設計開發[J].工業控制計算機,2022,35(5):6-8.

[6] 王飛,孫嬌嬌,丁文文.基于Netty和Kafka的工程機械車聯網數據采集系統設計方案[J].智能物聯技術,2022,5(4):30-35.

[7] 李嘉輝.工業互聯網協議識別與解析方法研究及系統實現[D].西安:西安電子科技大學,2022.

[8] 葉惠仙.基于Spark Streaming、Kafka構建數據中心加工引擎的實踐[J].網絡安全技術與應用,2023,267(3):51-53.

[9] 黃凱方,劉誠,吳文波.Kafka在微眾平臺雙路由應急切換中的探索與應用[J].廣東通信技術,2022,42(8):67-71.

[10] 王以伍,舒暉.基于SpringBoot+Vue前后端分離的高校實驗室預約管理系統的設計與實現[J].現代計算機,2023,29(1):114-117.

主站蜘蛛池模板: 1024你懂的国产精品| 伊人天堂网| 久久婷婷六月| 久久这里只有精品免费| 国产无码网站在线观看| 国产黑丝一区| 亚洲国产清纯| 亚洲乱伦视频| 狠狠v日韩v欧美v| 九色在线视频导航91| 国产精品jizz在线观看软件| 国产性爱网站| 国产剧情无码视频在线观看| 在线观看亚洲天堂| 在线视频一区二区三区不卡| 日韩国产亚洲一区二区在线观看| 中文字幕天无码久久精品视频免费| 国产性生交xxxxx免费| 久久综合色视频| AV不卡在线永久免费观看| 久久久精品无码一区二区三区| 2019国产在线| 女同国产精品一区二区| 亚洲国产看片基地久久1024| 人人爽人人爽人人片| 手机精品视频在线观看免费| 亚洲视频免费在线看| 日本道综合一本久久久88| 一本大道在线一本久道| 青青青视频91在线 | 中文字幕第4页| 乱系列中文字幕在线视频| 久久久无码人妻精品无码| 亚洲婷婷六月| 国产成人资源| 欧洲日本亚洲中文字幕| 久久五月视频| 亚洲一区二区三区香蕉| 高清不卡一区二区三区香蕉| 欧美爱爱网| 五月婷婷亚洲综合| 91色爱欧美精品www| 日韩高清在线观看不卡一区二区| 97国产在线播放| 国产成人AV男人的天堂| 狠狠综合久久久久综| 成人福利一区二区视频在线| 国产欧美日韩在线在线不卡视频| 国产精品刺激对白在线| 色噜噜中文网| 手机成人午夜在线视频| 国产91久久久久久| 精品综合久久久久久97超人该| 一本大道香蕉高清久久| 中文字幕调教一区二区视频| 欧美日韩精品综合在线一区| 国产欧美日韩视频怡春院| 2019年国产精品自拍不卡| 九色综合伊人久久富二代| 91精品国产一区| 美女被躁出白浆视频播放| 成年网址网站在线观看| 国产视频一区二区在线观看| 国产精品太粉嫩高中在线观看| 国产精品极品美女自在线看免费一区二区 | 成人午夜福利视频| 无码aⅴ精品一区二区三区| 蜜芽国产尤物av尤物在线看| 国产一区二区三区视频| 四虎永久在线视频| 成年人国产视频| 亚洲综合日韩精品| 欧美区国产区| 国产福利一区二区在线观看| 热这里只有精品国产热门精品| 国产探花在线视频| 国产欧美精品午夜在线播放| 亚洲bt欧美bt精品| 中文字幕欧美成人免费| 成人看片欧美一区二区| 国产欧美日韩综合一区在线播放| 国产超碰在线观看|