本發明涉及電力系統通信領域,特別是涉及一種電力系統廣域消息傳輸的方法。
背景技術:
目前雖已建成覆蓋國、分、省三級調度機構的智能電網調度控制系統,但其在系統間大量數據交互方面存在一些問題和瓶頸,缺乏統一、高效的跨調度機構實時消息傳輸機制,對于系統間需要共享的實時消息,例如電網狀態信息、重要告警事件等,目前缺乏統一、高效的跨調度機構實時消息傳輸與監控機制。研究電力系統廣域消息傳輸與監控技術成為廣泛關注的熱點問題。
因此,急需一種電力系統廣域消息傳輸方法,滿足在國分一體化系統協同、跨區消息同步等業務場景中應用跨調度機構推送實時消息的功能需求。
技術實現要素:
為解決上述技術問題,建立基于訂閱/發布模型的實時消息跨調度機構傳輸和監控技術體系架構,建立高效、通用的電力系統廣域消息傳輸和監控方法。基于訂閱/發布模式實現的廣域消息的一對一、一對多并發傳輸機制。
為實現上述發明目的,本發明提供一種提高廣域消息傳輸安全性和可控性的電力系統廣域消息傳輸方法。
一種電力系統廣域消息傳輸的方法,本地調度機構的應用程序向目的調度機構的應用程序發送消息,包括以下步驟:
步驟一本地調度機構的應用程序調用本地廣域消息總線接口將消息傳遞至本地消息代理;
步驟二本地消息代理將所述消息轉發至本地廣域消息代理;
步驟三本地廣域消息代理找到目的調度機構并建立連接,將所述消息發送至目的調度機構的廣域消息代理;
步驟四目的調度機構的廣域消息代理將消息轉發至本地消息代理,本地消息代理根據訂閱信息查詢到訂閱所述消息的應用程序,將所述消息推送至所述應用程序。
進一步地,所述廣域消息總線接口為應用程序提供動態訂閱或取消訂閱以及發送或接收廣域消息的功能。
進一步地,所述本地消息代理完成消息從廣域消息總線接口與廣域消息代理之間的消息傳輸,應用程序通過廣域消息總線接口將消息發送給本地消息代理,本地消息代理跟廣域消息代理建立連接,將消息發送給廣域消息代理。
進一步地,所述廣域消息代理包括消息發送隊列模塊、消息發送線程模塊、廣域接收模塊以及連接管理模塊,完成消息在調度機構間的傳輸,
其中,消息發送隊列模塊由所述廣域消息代理根據存在的調度機構預先分配消息發送隊列資源,廣域消息代理接收到本地消息代理發送的消息后根據消息目的調度機構的信息放入相應的消息發送隊列中,并通知相應的消息發送線程進行發送。
進一步地,一個所述消息屬于多個調度機構,分發至多個所述消息發送隊列,實現所述消息的一對多傳輸。
進一步地,所述消息發送隊列模塊對發送失敗的消息進行保存并重新發送,對于超過生存周期的消息進行刪除。
進一步地,廣域發送模塊根據所述消息發送隊列模塊動態創建消息發送線程,每一個消息發送隊列對應一個消息發送線程,不同消息隊列中消息能夠同時發生傳輸。
進一步地,所述廣域接收模塊監聽廣域發送模塊的連接請求并接收廣域發送模塊的消息,通過所述本地消息代理發送給相應的應用程序。
進一步地,所述連接管理模塊對調度機構間的連接進行管理,廣域消息傳輸代理之間的數據傳輸鏈路進行復用,發送至同一目的調度機構的消息使用同一個數據傳輸鏈路;
對于設定時間內都無消息傳輸的空閑數據鏈路,主動監測并釋放所述空閑數據鏈路的資源;
廣域消息代理通過周期性發送和接收報文以檢測數據傳輸鏈路是否正常通信,監測出由于服務器宕機或網絡異常的原因產生的異常數據傳輸鏈路。
進一步地,廣域消息代理采用消息監控模塊對廣域消息代理間的鏈路狀況進行監視,所述消息監控模塊包括消息監視模塊和消息控制模塊,其中,所述消息監視模塊抓取每條消息傳輸鏈路的流量進行流量統計、流量查詢,并生成流量異常告警。
進一步地,所述消息控制模塊根據消息監測模塊的流量統計結果,提供流量控制方法,制定消息動態優先級的消息傳輸方法,限制影響廣域消息總線運行的異常流量。
采用上述技術方案,本發明具有如下有益效果:
第一,本發明通過開發廣域消息總線,建立基于訂閱/發布模式的實時消息跨調度機構傳輸技術體系架構,建立高效、通用的廣域消息傳輸機制,以滿足在國分一體化系統協同、跨區消息同步等業務場景中應用跨調度機構推送實時消息的功能需求。
第二,本發明的消息傳輸方法在調度機構間的消息傳輸時采用一系列鏈路管理策略,包括鏈路復用、空閑鏈路釋放、異常鏈路檢測、斷開重連機制,從而保障調度機構間連接的高效、可用。
第三,本發明采用廣域消息監控機制,實現傳輸鏈路狀況監視、流量監控、消息統計等功能。保證了廣域消息傳輸的安全、可控。
附圖說明
圖1為本發明電流系統廣域消息傳輸方法的流程圖;
圖2為本發明廣域消息傳輸方法模塊結構示意示意圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,下面結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的結構圖及具體實施例僅用以解釋本發明,并不用于限定本發明。
實施例1
本發明提供了一種電力系統廣域消息傳輸的方法,本地調度機構的應用程序想要向目的調度機構的應用程序發送消息時,圖1為電力系統廣域消息管理方法的流程圖,如圖所述,采用以下步驟:
步驟一本地調度機構的應用程序調用本地廣域消息總線接口將消息傳遞至本地消息代理;
步驟二本地消息代理將所述消息轉發至本地廣域消息代理;
步驟三本地廣域消息代理找到目的調度機構并建立連接,將所述消息發送至目的調度機構的廣域消息代理;
步驟四目的調度機構的廣域消息代理將消息轉發至本地消息代理,本地消息代理根據訂閱信息查詢到訂閱所述消息的應用程序,將所述消息推送至所述應用程序。
其中,廣域云消息總線接口為應用提供動態訂閱/取消訂閱和發送/接收廣域消息的功能。
本地消息代理完成消息在廣域消息總線接口與廣域消息代理間的消息傳輸。
廣域消息代理完成消息在調度機構間的傳輸,通過多線程并發傳輸、消息隊列緩沖區、連接管理等機制保證消息的實時、可靠、高效傳輸。
優選地,在廣域消息代理中采用廣域消息監控模塊實現廣域消息的傳輸鏈路狀況監視、流量監控、消息統計等功能。
實施例2
廣域消息代理包含消息發送隊列模塊、發送線程模塊、廣域接收模塊、連接管理模塊。
消息發送隊列由廣域消息代理根據存在的調度機構預先分配消息發送隊列資源,廣域消息代理接收到應用通過本地消息代理發送的消息后根據消息目的調度機構信息放入相應的消息發送隊列中,并通知相應的發送線程進行發送。一個消息可以屬于多個調度機構,并分發到多個消息發送隊列中,實現消息的一對多傳輸。同時消息發送隊列對于發送失敗的消息進行持久化保存并嘗試重新發送,對于超過生存周期的消息進行刪除。
廣域發送模塊根據消息發送隊列動態創建消息發送線程,每一個消息發送隊列對應一個消息發送線程,實現了不同消息隊列中消息的并發傳輸,充分利用服務器的多處理器、多核優勢。
廣域接收模塊監聽廣域發送模塊的連接請求,并接收廣域發送模塊的消息后通過本地消息代理發送給相應的應用程序。
連接管理模塊負責對調度機構間的連接進行管理,主要包括:1)數據傳輸鏈路復用。廣域消息代理間的數據傳輸鏈路是調度機構級別的,發往同一目地調度機構的消息均使用同一個數據傳輸鏈路,從而保證消息傳輸的順序性。2)空閑鏈路檢測,對于設定時間(例如10分鐘)內都無消息傳輸的空閑數據鏈路,主動檢測并釋放該數據鏈路的相關資源。3)異常鏈路檢測,廣域消息代理通過周期性發送和接收心跳報文以檢測數據傳輸鏈路是否能正常通信,該機制可以檢測由于服務器宕機或網絡異常等原因產生的異常數據傳輸鏈路。4)斷開重連機制,對于異常斷開的數據傳輸鏈路重新建立連接,并在連接建立成功后繼續進行消息傳輸。
實施例3
消息監控模塊主要包括消息監測模塊和消息控制模塊,其中消息監測模塊是消息控制模塊的基礎。
消息監測模塊構建了基于調度機構、節點和進程的立體化監控體系,面向域、態、通道等多維度信息傳輸要素,通過計算和分析廣域云消息總線的吞吐量、網絡延遲、丟包率、鏈路使用率等關鍵網絡指標進行全方位監測。針對廣域消息代理間的鏈路狀況進行監視,抓取每條傳輸鏈路進行流量統計、流量查詢和流量異常告警。實現了廣域消息的傳輸鏈路狀況監視、流量監測、消息統計等功能,輔助廣域消息總線的故障診斷,有效提高了調度數據網上消息傳輸的可維護性。
消息控制模塊根據消息監測的統計結果,提供基于節點、進程和通道的三種流量控制方法,制定以消息動態優先級為核心的流量控制策略,嚴格控制影響云總線運行的異常流量,提高帶寬的利用率,節省網絡資源,實現網絡負載的合理分配,有效提高了調度數據網上消息傳輸的可控性。
以上所述實施例僅表達了本發明的實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進,這些都屬于本發明的保護范圍。因此,本發明專利的保護范圍應以所附權利要求為準。