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

新能源監控系統海量終端接入技術研究

2018-11-21 08:37:20馮利虎易永輝陳海龍張玉寶
自動化儀表 2018年11期
關鍵詞:管理

馮利虎,易永輝,時 誼,陳海龍,張玉寶,張 倩,王 剛

(許繼集團有限公司,河南 許昌 461000)

0 引言

隨著傳統石化能源危機和環境污染兩大問題日益嚴重,大力發展清潔、可再生新能源已成為世界各國共識。風電、光伏作為新型綠色無污染的能源也越來越受到人們的青睞,裝機規模及占比在不斷增大[1-4]。

新能源電站建設規模不斷擴大,特別是大型光伏、分布式光伏電站加速發展,接入新能源監控/集控系統的數據量及終端數量也在不斷增多[5]。如100 MW大型地面光伏電站考慮到光伏區匯流箱設備的通信接入,全站設備數量將超過2 000臺;同樣監控數百個分布式光伏站點的遠程監控/集控中心,終端設備的數量也數以千計。常規監控系統的容量及架構設計已無法滿足新能源領域大量終端的接入需求。

本文介紹了監控系統海量終端接入的關鍵技術,并給出了具體的實現方案。

1 海量終端接入關鍵技術

針對新能源監控系統海量終端接入的需求,必須解決以下兩個關鍵問題。

①海量終端接入系統的網絡負載均衡策略[6-8]。

為了更好地解決因海量終端接入而帶來的一系列高并發、潮涌式堵塞等問題,需要一種新的網絡負載均衡算法處理網絡連接問題。在前置服務器上搭建EPOLL模型,對交互數據進行處理[9-10];增加前置機調度模塊,負責前置機和后臺應用的數據處理。

②海量終端通信連接管理方法研究。

為了更好地解決目前大量終端接入而帶來的通信連接管理和前置機模塊資源消耗等問題,研究采用一種新的Socket管理方法。在通信管理機模塊上采用多線程管理終端以及業務服務器連接,線程內以循環方式管理多個Socket。

2 實現方案

2.1 海量終端接入系統的網絡負載均衡策略

利用現有的集群服務器技術,修改針對網絡連接的網絡負載均衡算法,對并發連接進行合適的分流,在網絡負載均衡器上增加客戶端連接的遷移算法,實現前置機服務器的故障遷移和柔性擴容;增加前置機調度模塊完成報文準確下發到終端,分擔和緩解前置機服務器負載;在前置機服務器搭建EPOLL模塊進行數據流處理。該方案可解決海量終端連接時的高并發和擁堵的“瓶頸”。

①前置機調度模塊。該模塊用于連接后臺應用模塊和前置機集群,主要作用是把前置機的解析數據發送到相應的后臺應用模塊中;同時根據關聯關系,把下行數據準確發送至終端。在本模塊中,保存終端網絡信息和前置機服務器網絡信息的關聯結構圖,并響應前置機的關聯修改請求。

②前置機集群。它由N臺相互獨立、通過高速網絡互聯的計算機構成一個組,并對單一系統模式加以管理,可以提高服務器性能、降低成本、提高可擴展性、增強可靠性。本方案中采用的是負載均衡集群。

③網絡負載均衡器。網絡負載均衡器對終端連接按現有前置機集群的處理能力進行分流,負載均衡策略按照“閾值輪循+動態負載反饋”的方法,擴展網絡連接吞吐量,加強前置機數據處理能力。在本方案中,網絡負載均衡器中運行狀態機和前置機服務器的狀態機進行呼應;處理故障時,Socket的遷移及擴容時前置機服務器的負載分流。

終端數據連接如圖1所示。

圖1 終端數據連接圖

本方案涉及以下三個關鍵點。

其一,網絡負載均衡器的實現算法。針對客戶端連接分流均衡算法,先設定前置服務器上可連接的客戶端個數,將連接請求依次順序循環地連接到每個允許連接的服務器上;當連接數達到設定的閾值時,根據各個前置服務器的實時負載情況進行適當的分配。前置服務器的實時負載由位于前置服務器的性能監測軟件經過集群間的“心跳”專用線傳輸。另外,采用一定的算法處理故障遷移和擴容時的負載均衡。

其二,前置服務器的數據處理算法。在前置機對數據流進行處理時,采用EPOLL模型。EPOLL模型主要負責對大量并發用戶的請求進行及時處理,完成服務器與客戶端的數據交互。其具體的實現步驟如下。

①使用EPOLL_create()函數創建文件描述,設定可管理的最大Socket描述符數目。

②創建與EPOLL關聯的接收線程,應用程序可以創建多個接收線程來處理Epoll上的讀通知事件,線程的數量依賴于程序的具體需要和設備環境。

③創建一個偵聽Socket描述符ListenSock;將該描述符設定為非阻塞模式,調用Listen()函數在套接字上偵聽有無新的連接請求。在 epoll_event結構中設置要處理的事件類型EPOLLIN,工作方式為epoll_ET,以提高工作效率,同時使用epoll_ctl()注冊事件,最后啟動網絡監視線程。

④創建本地文件,對數據接收鏈表溢出數據進行本地緩存。

⑤網絡監視線程啟動循環,epoll_wait()等待epoll事件發生。

⑥如果Epoll事件表明有新的連接請求,則調用accept()函數,將客戶端Socket描述符添加到epoll_data聯合體,同時設定該描述符為非阻塞,并在epoll_event結構中設置要處理的事件類型為讀和寫,工作方式為epoll_ET。

⑦如果Epoll事件表明Socket描述符上有數據可讀,則將該Socket描述符加入可讀隊列,通知接收線程讀入數據,并將接收到的數據放入到接收數據的鏈表中。經邏輯處理后,將反饋的數據包放入到發送數據鏈表中,等待由發送線程發送。

其三,前置機調度模塊。前置機調度模塊保存前置機攜帶終端IP信息和本機IP地址的注冊關聯表,在下行數據傳輸時,前置機調度模塊根據終端信息,在注冊關聯表中找到對應的前置服務器,并把下行數據傳輸到該前置服務器上進行報文組裝和下發。當發生Socket遷移時,前置機調度模塊接收上行的更改命令對注冊關聯表進行修改。 基于IP的終端設備發起連接請求到網絡負載均衡器,由網絡負載均衡器根據“閾值輪循+動態負載反饋”算法將所有的連接請求分發到前置集群中的各個前置服務器,客戶端TCP連接至前置機分配如圖2所示。

圖2 客戶端TCP連接至前置機分配圖

分發的原則是依據前置服務器的連接數據和實時負載情況,并由各個前置服務器和終端建立通信鏈路。Socket客戶端建立后的數據流如圖3所示。此時,網絡負載均衡器保存各個終端的連接信息,并只對鏈路的連接情況進行監測。

前置服務器每建立一個客戶端請求連接,則要在前置機調度模塊上注冊相應的連接信息。假如終端IP地址為10.100.100.202,經網絡負載均衡器分配到IP地址為10.100.100.104的前置服務器上。在連接請求建立后,前置服務器把連接信息注冊到前置機調度模塊上,即在前置機調度模塊上新增IP地址為10.100.100.104和10.100.100.202的關系對。當有上行數據傳輸時,經前置服務器解析處理后直接上傳到后臺應用模塊;當有下行數據時傳輸,由后臺應用模塊把待發送的數據和終端信息發送到前置機調度模塊。前置機調度模塊根據終端信息查找到該終端通信的前置服務器,并經由查找到的前置服務器對數據組裝格式化后下發到相應終端。

圖3 客戶端SOCKET建立后的數據流向圖

前置服務器處理連接和數據流的具體步驟如下。

①在前置服務器上建立一定數量的線程,并由線程池統一管理。

②當客戶端進行連接時,由主線程對此連接建立通信并把該客戶端加入到EPOLL監視事件中。

③當EPOLL監測到某連接有可讀事件時,通知接收線程進行數據讀取,并判斷數據接收鏈表長度是否到達最大值。如果未達到最大值,把讀到的數據插入到鏈表中;否則把讀到的數據以本地文件的形式進行緩存,并等待文件操作線程處理本地文件。

④數據處理線程不斷地從數據接收鏈表中取出數據進行解析、處理;當有下行數據命令時,數據處理線程直接把數據保存到數據發送鏈表中等待處理。

⑤數據發送線程檢測到待發送鏈表中有數據時,從中取出數據,經由數據處理線程組裝格式化處理后,下發到前置機調度模塊進行分發。

本方案針對基于IP端點的海量終端數據通信時的接入“瓶頸”,改進采集系統的框架模塊,解決了大規模連接時的高并發和擁堵問題。

2.2 海量終端通信連接管理方法

目前,終端與主站系統的通信建立機制一般為:主站系統的前置機模塊與終端建立Socket連接,新建與之對應的線程用于Socket的維護、管理,并處理Socket數據收發;終端斷開連接時,銷毀與之對應的管理線程,回收系統資源。在本方案中,由于每個終端具有獨立的IP地址,應用服務平臺和終端將進行端到端直接通信,因此前置機模塊將面臨更大的接入壓力,前置機模塊管理海量通信鏈路連接的能力和穩定性,將嚴重影響整個系統的可靠性、實時性和擴展性。

為解決該問題,本文采用如下方案。

①終端的多線程分類管理。

通信管理機每個線程內包含兩個動態數組連界棧(預登陸連接棧和已登錄連接棧)。前置機模塊采用多線程方式來分類管理所接入的不同類型終端以及其他業務服務器的Socket連接。每個管理線程可以管理多個Socket連接。

②管理線程內對Socket連接采用循環管理方式。

登錄成功的終端,依據終端類型和管理線程的負載情況分配Socket至最優管理線程,存放于預登陸連接棧中;單個線程最多能夠管理64個Socket。若現有線程的Socket管理數已滿,則新建管理線程;若登錄失敗或是斷開連接,則判定為無效Socket被剔除。各管理線程把Socket信息從預登陸連接棧取出,并存入已登錄連接棧進行處理,檢測各個Socket是否有事件(數據接收、數據發送)發生,然后循環處理各Socket的事件。其關鍵點在于管理線程內循環處理各個Socket的事件。

③無效Socket的檢測和剔除。

當終端接入時,首先分配至未注冊管理線程,在規定時限內完成登錄過程后,依據終端類型分配Socket至最優管理線程,未能完成登錄過程的Socket則視為無效Socket被剔除;前置系統與Socket建立連接后,在各分類管理線程檢測已登錄連接棧中存放的Socket是否正常,剔除無效的Socket(退出登錄或斷線)。

這種連接管理方法的優點如下。

①采用終端的多線程分類管理,使得后臺應用系統能夠依據不同類型的終端(其數據類型、采集周期、報文數據格式等不同),采取相應的數據處理策略,簡化后臺應用系統數據處理過程。這樣便于后臺應用系統的升級和改造。

②每個線程管理多個Socket,在線程內循環處理數據,相比于現有后臺應用系統一個線程對應一個Socket,節省了系統資源消耗,提升了前置機模塊在現有后臺應用系統下的接入能力。該方法使前置機模塊更適應由于IP通信技術的發展而產生的終端與前置機模塊直接相連的情況,使得前置機模塊具有海量終端接入的能力。

在復雜和惡劣的現場環境下,終端經常發生斷線等情況,導致Socket失效或斷開。未注冊服務器管理線程的引入能夠有效篩除無效的Socket,提升系統資源利用率;在終端的分類管理線程內檢測到無效Socket需要剔除時,無需銷毀管理線程,而是從線程已登錄連界棧中刪除對應的Socket信息,釋放Socket所占用的資源。這就避免了額外的新建和銷毀管理線程所帶來的資源消耗,提高了終端管理線程的管理效率。

3 結束語

本文介紹了針對新能源監控系統海量終端接入的兩項關鍵技術,即網絡負載均衡策略及通信連接管理方法,并在實際項目中對該方法進行了驗證。該方法處理數千數萬級別終端接入效果很好,可解決新能源監控/集控系統的需求,同時對具有類似需求的配網自動化等領域系統設計具有參考價值。

猜你喜歡
管理
棗前期管理再好,后期管不好,前功盡棄
今日農業(2022年15期)2022-09-20 06:56:20
《水利建設與管理》征訂啟事
聆聽兩會
——關注自然資源管理
2020年《水利建設與管理》征稿函
運行管理
管理就是溝通
中國制筆(2019年1期)2019-08-28 10:07:26
加強土木工程造價的控制與管理
如何加強土木工程造價的控制與管理
解秘眼健康管理
“這下管理創新了!等7則
雜文月刊(2016年1期)2016-02-11 10:35:51
主站蜘蛛池模板: 国产成人精品一区二区三区| 亚洲第一页在线观看| 国产91精选在线观看| 亚洲av无码专区久久蜜芽| 欧美日本在线观看| 欧美亚洲国产精品久久蜜芽| 亚洲人成色在线观看| 国产精品自拍露脸视频| 国产呦精品一区二区三区网站| 免费99精品国产自在现线| 播五月综合| 伊人久久久大香线蕉综合直播| 一级毛片在线播放| 国产一级二级三级毛片| 99999久久久久久亚洲| 无码一区二区三区视频在线播放| 麻豆精选在线| 91麻豆久久久| 成人福利在线看| 日韩一区精品视频一区二区| 欧美中文一区| 91视频青青草| 午夜无码一区二区三区| 国产欧美精品一区aⅴ影院| 99视频在线精品免费观看6| 无码免费视频| 亚洲成人在线免费| 亚洲欧美自拍一区| 久久久久88色偷偷| 日韩av手机在线| 99精品福利视频| 91精选国产大片| 一级毛片在线直接观看| 亚洲黄色高清| 成人免费一级片| 曰AV在线无码| 亚洲国产中文精品va在线播放| 免费一级毛片在线播放傲雪网| 色播五月婷婷| 青青青国产精品国产精品美女| 国产精品一区二区在线播放| 亚洲人成网站在线播放2019| 亚洲精品777| 亚洲日本中文字幕天堂网| 亚洲第一成网站| 国国产a国产片免费麻豆| 天天操精品| 国内精品久久久久久久久久影视| 国产麻豆va精品视频| 在线国产资源| a网站在线观看| 亚洲色图综合在线| 国产最爽的乱婬视频国语对白 | 国产一二三区在线| 亚洲黄网在线| 丁香六月激情婷婷| 精品成人免费自拍视频| 老熟妇喷水一区二区三区| 人人艹人人爽| 成人年鲁鲁在线观看视频| 欧美精品综合视频一区二区| 成年A级毛片| 亚洲第一黄片大全| 久久窝窝国产精品午夜看片| 亚洲精品欧美重口| 伊人久久福利中文字幕| 日韩午夜福利在线观看| 中文字幕精品一区二区三区视频 | 日韩在线观看网站| 美女内射视频WWW网站午夜| 欧美a在线视频| 亚洲国产成人在线| 色国产视频| 97亚洲色综久久精品| 免费国产高清精品一区在线| 日本精品αv中文字幕| 免费国产高清精品一区在线| 久久婷婷五月综合色一区二区| 天天躁夜夜躁狠狠躁躁88| 国产91视频免费观看| 97视频精品全国免费观看| 99精品福利视频|