李姝文
(云南電網有限責任公司楚雄供電局 云南省楚雄市 650000)
針對于較為傳統(tǒng)且老套的軟件體系結構,此結構有著多方面的不足之處,相對應的此結構中關于微服務的架構也有著它獨到之處,需要了解當前的技術相對復雜的生態(tài)系統(tǒng),通過系統(tǒng)的研究思路,在全面分析系統(tǒng)的研究方法的基礎上使用質量信息,使傳統(tǒng)軟件工程方法的不足能夠得到有效地彌補,面臨著建設、部署、運行、維護,軟件系統(tǒng)開發(fā)和維護的復雜的社會,復雜的軟件開發(fā)過程,形成一個高度智能系統(tǒng),為了適應各種復雜的服務,成長和進化有著相似的想法。
首先在對社會現象進行細致研究之后,針對現今關于復雜軟件系統(tǒng)和微服務體系結構情況進行了考察研究及分析;接下來通過對復雜系統(tǒng)、微服務、智能系統(tǒng)和架構之間關系的研究,分析其存在的社會價值與意義,希望可以分析出其實用價值,擴大實用面,然后得到了關于微服務開發(fā)的方式——描述復雜系統(tǒng)的智能服務,它包含著許多的方面,在下面本文將會對它們進行一一的分析研究,鑒于實踐才是檢驗真理的唯一標準這一根本原則,最終的介紹方面采用共享出行的例子進行匯報。
繁雜的實際生活有著不同的特征,理論與現實存在著一些差異,因此對實際生活的研究應該結合市場上服務情況現狀,得到其特點如下:體系內各個因素間的聯系是不定的,而且越來越麻煩;僅僅通過疊加單個獨立體系的特征來描述一個大整體是非常困難,所以它們之間應當且肯定存在著一些更為復雜的關系;如此一來可以說是它是在適應各種變化持續(xù)發(fā)展起來的。如圖1 所示。
研究行徑知識的形成是由于群居的群居昆蟲、螞蟻和蜜蜂帶來的靈感,二者的社會形態(tài)與其他獨居生物不同,具有高度的協(xié)同性,與人類社會存在一定的共通性,因此對其它們的組織和形態(tài),當其利用不復雜的法則改變時,就可以大規(guī)模地發(fā)展智力。大眾智能體系其根本屬性是一個復雜而不定的認知網絡,其中不斷出現的力量對網絡進化的復雜性產生了巨大的影響。
尋找真正的集體智慧是一個復雜的制度組織,而智能系統(tǒng)的舉動很難學習一些并不復雜的重疊領域的自主系統(tǒng)和繁瑣的智能適應群體的發(fā)展。能夠從群體智能的角度研究和分析構建體系,進行大規(guī)模的發(fā)展智力,最終可以構建能夠對條件改變做出回應和對于要求有所改變的系統(tǒng)。
團隊的智慧,對其分析行為的方法是分析由大量成員和一個有機體系,之后,通過有關類似的動機和決策效率,以達到治愈為新興有機的集體,這是智能決策系統(tǒng)模式研究了由一群思想的力量。這樣的方式使得該體系能夠很大程度上提高效率,經由對社會智慧和繁雜的軟件系統(tǒng)的關系,可以根據社會智慧方面的研究方法及方式,繼而對繁雜的軟件系統(tǒng)采取一系列操作。
表1:微服務各環(huán)節(jié)的技術框架
圖1:復雜系統(tǒng)的性質及與群體智能的關系
圖2:復雜服務軟件系統(tǒng)的分層架構
近年來,微服務技術作為一種新型的軟件構造,得到了廣泛的關注,微服務技術的最重要且中心的思想在于把繁雜的集合劃分成能夠個人實現和修復的小點。從單一途徑到分布式微服務結構整個結構方面的大幅變化,可以說很大的方面針對以前的程序操作開發(fā)、實現多方面進行了轉變。與曾經的軟件體系結構相對比來說,微服務體系結構允許更有利地對信息資源進行合理利用。
圖3:微服務架構設計
圖4:數據處理流程
關于繁雜的服務軟件系統(tǒng),其中包括著很大部分的小服務,并且微服務可以用不同的言語完成,屬于不一樣的客戶,而且含有很大部分不確定的實際事例。在不確定的情況下建立并經管一個大范圍的微型服務體系,這對于事情本身來說是存在著很大的困難的。其可以直接創(chuàng)建不簡單的程序,而不是借助單個研發(fā)和安置,應當通過復雜的程序來組織很多能夠理解、決斷和運行程序的人員。漸次適應組織的組成、協(xié)會的職能和服務,以及環(huán)境、現實和物質條件日益優(yōu)化和平靜的演變。
關于復雜服務軟件系統(tǒng)的建模如圖2 所示能夠分成兩種方面,一是平臺,二是業(yè)務,這兩種層面。第二個層面又可以進一步分成好多種組織,并且針對于各個組織,對于其中的工作主體,都有自己相對應服務功能。
關于復雜的服務軟件系統(tǒng),有關方面建議了一個多代理關系電路模型,用于共享匹配描述許多有關企業(yè)(包括供應商、消費者、第三方平臺、服務流程、服務目標及其價值)的服務層的現代服務元素。
每個個體都一一相對于平臺級別上的幾個微服務組,這些微服務組級別。工作者和平臺方面對服務的對象和無數微服務存在著不同的形態(tài)和構造,各微服務都是構成系統(tǒng)的獨立成員。對于該系統(tǒng),此體系需要一個參考模型,優(yōu)化的實時監(jiān)控,安全的操作和維護,由一個智能的研制團隊通過模擬程序支持,以發(fā)現一個合適的解決途徑來執(zhí)行大量的微委托任務。
對于微服務的劃分,不管是用任何的方式進行服務操作,其目的都在于確保工作的精確完,減少失誤成。采用微服務的方式,目的在于在工作完成和用戶的體驗兩個方面更好的做到完美,既能提高效率又能保證體驗,可以擴大實用市場。并且把整體業(yè)務切割成小部分數量較多的工作,減小工作總量,提高質量可以更好的完成微服務。如表1 所示。
對于微服務實現方面,它可以分為多個模塊進行應用,其組成如下:
2.2.1 服務治理
對于服務模塊來說,所應用的是Eureka spring Cloud,它在服務注冊及察覺中,包含提供商等等。服務注冊表對eureka-server 進行激活。由于微服務研究到實際性這個疑問,因此有必要創(chuàng)建一個注冊服務群體,其中各服務核心將服務列表與另一個服務核心俱進,用來完成對其實際應用性的影響。
2.2.2 網關服務
網關服務對于其模塊是Spring Cloud Zuul,它兩個主要作用:一是對Wi-Fi 進行維修保護,二是經由過濾器進行檢查訂閱、登錄。
2.2.3 負載平衡
模塊云在春季采取膠帶,關鍵是在用戶負載平衡應用發(fā)揮作用,以及線性庫存、可重復跟蹤、競爭策略等等的研究。
2.2.4 容錯保護
對于容錯保護,其所用模塊是Spring Cloud hystrix。當服務失敗時,普遍會有很長緩沖,之后是有錯的消息,如連接超時。服務出現問題——在hystrix 上升之后,答案是利用切換監(jiān)視途經發(fā)出不正確的呼叫有一個缺點,而不是因為服務故障而等候很久和太忙而長久不遵循這條線。
2.2.5 分布式配置中心
圖5:系統(tǒng)整體架構
對于分布式配置中心,其所應用模塊是Spring Cloud Config,它被劃分為兩個方面,即服務器端及客戶端。
2.2.6 消息總線
對于消息總線,其所應用的模塊是Spring Cloud Bus。
2.2.7 分布式服務監(jiān)控
對于分布式服務監(jiān)控,其所應用的模塊是Spring Cloud Sleuth,它允許經由將Logstash 或Zipkin 集成到企求段追蹤中,而且區(qū)分研究每個企求段的方式迅捷檢測不正確源。
微服務架構不僅是指一種設計模式,同時也是一種特殊的架構風格。Martin Fowler、James Lewis 在2014年期間提出的相關建議,集群中服務程序,在不同情況下單個組的每個目標函數,服務通信機理限制聯系和協(xié)作,完成工作和適合個體需求的完整應用程序。程序的微服務體系結構支持工作體系的完整模塊化和服務。關注工作機理的微服務,具有簡單的服務、清晰的界限、低復雜性和定義良好的途徑,從而促進程序的研制和安排。
并且與此同時,單獨和不受限制的每一項服務,服務部署的每個量表能夠靈活地改變,提供迅速激活不同的緊急交通服務接收相同的計算,各服務指定和獨立于編程言語和信息庫。
Spring Cloud 的構建需要基于Spring Boot 來實現,為相對于來說分布最為普遍的形式,并且此方法有著相對簡易而的模型關于編程。其中的結構也有著相對于更加完美的微服務模塊,比如服務配置SpringConfig 等,通過應用上述組件和框架能夠使開發(fā)者在檔時間內構建出協(xié)調穩(wěn)定的應用程序,并將這些程序應用在實際生產過程中。
在本次研究中,以Spring Cloud 為基礎,對微服務架構進行構建(詳情可參考圖3)。此外,Spring Cloud Gataway 的實現需要通過使用服務網關來實現,在外部請求被接收以后,這些請求將會被轉發(fā)至后端。此外,需要使用Nacos 來進一步實現配置中心以及服務注冊等功能。此外,還可以完成服務管理、服務配置等,在啟動各種服務的過程中,將會以自動的方式完成Nacos 注冊,同時在調用的過程中對服務注冊表自行查詢,即可搜索到服務實例,在關閉時將會自動注銷。Nacos 能夠以集中的方式對服務內部運行配置文件進行管理,同時也可以進一步追蹤修改記錄。Spring Cloud Feign的實現需要通過調用服務的方式來進行,其完成的工作主要包括借助于服務接口進行調用或定義等。在開發(fā)服務的過程中,需要對接口進行創(chuàng)建,并以注解的方式對其進行配置。通過這種方式,能夠快速便捷的達到綁定服務提供方接口的目的。
結合圖3 顯示的系統(tǒng)整體架構可知,在配網一體化監(jiān)控平臺中,主要包括以下內容:
4.2.1 數據采集層
該層的主要作用是對標準接口進行對接,并從地理信息系統(tǒng)以及配網主站系統(tǒng)中采集相關數據,然后對數據的格式進行轉換,使其形成統(tǒng)一的格式,并將數據轉移到數據整合層中進行進一步的整合。
數據采集類型有檢修數據、運行數據以及配置數據等,例如,檢修計劃、配變運行數據以及設備臺賬信息,在對數據進行檢修或配置的過程中,需要通過使用關系數據庫或文件的形式進行存儲,同時還要通過定時讀取的形式采集相關數據,數據的采集可以借助于一些實時數據接口來實現,例如IEC104 等。
4.2.2 數據處理層
在數據處理層中能夠清洗獲取的數據,同時根據數據的具體類型對其進行合理的校驗(詳情可參考圖4)。除此之外,還需要通過使用全景模型數據對配網圖模數據進行校驗等,使配網模型能夠更加統(tǒng)一標準。除此之外,還要進一步填充不完整數據,可以根據其他系統(tǒng)內容進行初步估算,如果數據難以處理可以直接過濾數據,確保數據有較高的準確性。對于異常數據,可以通過人工的方式進行核對,最后通過使用數據倉庫模型,在倉庫中加載相關數據。
4.2.3 數據整合層
該層的主要作用是按照數據的類型對其進行存儲,可以分別將數據存儲在關系數據庫、時序數據庫以及實時數據庫中。其中,實時數據庫指的是一種以Redis 實現為基礎,能夠通過實時的方式檢索數據或存儲數據的數據庫,而時序數據庫的實現語音控以Influxdb 為基礎,同時這也是歷史數據庫功能實現的重要基礎,其能夠通過高效的方式檢索、存儲、處理相關數據。關系型數據庫的實現則需要以Mysql 為基礎,其主要作用是檢索、存儲各種檔案數據,例如配置數據等。
4.2.4 應用層
應用層的實現需要以微服務為基礎,其主要包括兩個部分,一部分為應用服務,另一部分為基礎服務。
基礎服務指的是各種基礎功能,這些服務通常是公用的,例如,拓撲分析服務、電網模型服務等,能夠使上層應用服務獲得更大的支持。同時,通過使用應用服務也能具體的劃分供電公司用戶的實際需求,并為用戶提供獨立的服務對于不同的服務而言,這些服務關注的業(yè)務功能通常是單一的,也就是不同服務之間可以實現松散耦合。核心服務主要包括配變負載告警、電網負載監(jiān)控等。
可以借助于API 來實現服務的調用,并以統(tǒng)一的方式在配置中心中對其進行管理。通過使用手機APP 和Web 前端頁面,可以直接調用這些服務,并在獲取數據以后對數據進行分析計算,然后直接顯示最終的計算結果。
4.3.1 運行指標監(jiān)控
以全景的方式對設備運行及配網10kV 線路進行監(jiān)控,同時還可以直接瀏覽配電設備的運行狀況,分析電網情況,以實時的方式檢測各種異常狀況,包括配變低電壓、故障跳閘、三相不平衡以及重過載等。
4.3.2 指標計算
能夠實現對指標的配置,對于用戶而言,其可以與對指標數據源以及統(tǒng)計間隔等進行配置,系統(tǒng)可以根據配置項對數據進行計算。通過使用該系統(tǒng),能夠計算并展示供電可靠率、終端在線率、電壓合格率、遙控使用率等,從而為運維人員的對比分析提供更多的參考。
4.3.3 運維管理
在統(tǒng)計分析各種設備臺賬的過程中,需要全面的了解工單數據,其中包括搶修數據、缺陷數據等,同時還應當根據設備在線時長、故障率及運行狀態(tài)等,基于消缺時間、設備大類、發(fā)現時間、設備類型、登記班組等維度進一步劃分各種條件。系統(tǒng)整體架構如圖5所示。
在本次項目中,通過使用配網自動化系統(tǒng),獲取其中的資源,并以數據清洗的方法連接不同的系統(tǒng)信息,創(chuàng)建能夠實現多種功能的信息數據庫,實現配網運維的全覆蓋。除此之外,基于微服務構架思想,對不同的業(yè)務功能進行劃分,從而獲得多個獨立的服務,通過相互組合不同服務,根據實際需求對上層應用功能進行擴展。此外,借助于可視化展示等方式,全面監(jiān)測配網實時運營數據,通過智能全面的方式監(jiān)控配網運行狀況,以此來達到集成利用各種數據信息的目的,使運行管理人員能夠更好的實現配網運營。