网站首页
教育杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
医学杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
经济杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
金融杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
管理杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
科技杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
工业杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
SCI杂志
中科院1区 中科院2区 中科院3区 中科院4区
全部期刊
公務(wù)員期刊網(wǎng) 論文中心 正文

電力二次設(shè)備中容器技術(shù)的應(yīng)用

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了電力二次設(shè)備中容器技術(shù)的應(yīng)用范文,希望能給你帶來靈感和參考,敬請閱讀。

電力二次設(shè)備中容器技術(shù)的應(yīng)用

摘要:能源互聯(lián)網(wǎng)作為電網(wǎng)發(fā)展的新階段,海量設(shè)備的接入和數(shù)據(jù)量要求電力二次設(shè)備具備邊緣計算能力,實現(xiàn)電力相關(guān)設(shè)備實時感知、監(jiān)測及智能控制。為了快速部署、響應(yīng)用戶新業(yè)務(wù)新需求,提升邊緣設(shè)備的計算能力,介紹在設(shè)備上應(yīng)用Docker技術(shù)的方案,通過軟件APP化以及使用MQTT消息總線進行APP間通信,提升電力設(shè)備運維和計算能力。經(jīng)實際測試,該設(shè)備部署容器后軟硬件運行正常,可通過遠程運維平臺管理裝置上的各類APP,具有較好的工程應(yīng)用前景。

關(guān)鍵詞:容器;邊緣計算;配電網(wǎng)

隨著能源互聯(lián)網(wǎng)和數(shù)字電網(wǎng)建設(shè)的持續(xù)推進,大量的傳感器接入,電力系統(tǒng)獲取的感知數(shù)據(jù)是海量級的,導(dǎo)致系統(tǒng)傳輸壓力大、主站計算負荷重。傳統(tǒng)的傳感信息獲取方式處理方式存在數(shù)據(jù)良莠不齊、數(shù)據(jù)缺失、格式不統(tǒng)一、數(shù)據(jù)處理不及時等問題,導(dǎo)致電力系統(tǒng)尤其是低壓配電系統(tǒng)存在故障定位時間長、事故處理響應(yīng)慢等痛點[1]。隨著終端側(cè)裝置數(shù)量日益增多,對電網(wǎng)中心化數(shù)據(jù)處理平臺提出更高的需求。為降低系統(tǒng)成本并防止中心化節(jié)點成為瓶頸,邊緣計算利用更接近用戶側(cè)的基礎(chǔ)設(shè)施,在網(wǎng)絡(luò)邊緣對數(shù)據(jù)進行處理[2]。提供強大算力的邊緣計算技術(shù)方案可以將分散的電力設(shè)備作為數(shù)字電網(wǎng)的重要端口,在新一代信息技術(shù)支撐下,實現(xiàn)互聯(lián)互通,全面感知狀態(tài)、高效處理信息,形成數(shù)字化管理的強大生產(chǎn)動能,挖掘出大數(shù)據(jù)價值。其中邊緣計算設(shè)備作為提供算力的計算節(jié)點,在邊緣側(cè)要滿足行業(yè)在實時業(yè)務(wù)、應(yīng)用智能、安全與隱私保護等方面的基本需求。如何動態(tài)地、按需隨時將計算算力下發(fā)部署到邊緣設(shè)備節(jié)點上,并保證各計算之間互相隔離互不干擾就成為了技術(shù)要點。以Docker為代表的虛擬化技術(shù)天然具備動態(tài)部署、隔離應(yīng)用的特性,因此在邊緣設(shè)備上應(yīng)用Docker技術(shù)能較好地適應(yīng)這種場景。

1Docker容器技術(shù)簡介

容器技術(shù)作為一種資源隔離的虛擬化技術(shù),其概念始于1979年提出的UNIXchroot。經(jīng)過多年發(fā)展,從最初的chroot到Jails、LinuxVserver、Solaris、OpenVZ、Process容器、Con-trolGroups到LXC以及現(xiàn)在火熱的Docker技術(shù)等。容器作為一個輕量級的虛擬化技術(shù),由應(yīng)用程序及其依賴構(gòu)成,并在Host操作系統(tǒng)的用戶空間運行,與操作系統(tǒng)其它進程隔離。在嵌入式裝置中應(yīng)用較多的是容器技術(shù)是Docker和LXC。LXC起源于cgroup(源自控制組群)和namespaces(命名空間)在Linux內(nèi)核方面的發(fā)展,它支持輕便的虛擬技術(shù)操作系統(tǒng)環(huán)境。LXC系統(tǒng)提供工具管理容器,先進的網(wǎng)絡(luò)和存儲支持,還有最小容器操作系統(tǒng)模板的廣泛選擇。Docker的構(gòu)想是要實現(xiàn)“Build,ShipandRunAnyAPP,Anywhre”,即通過對應(yīng)用的封裝(Packing)、分發(fā)(Distribution)、部署(Deployment)、運行(Runtime)生命周期進行管理,達到應(yīng)用組件“一次封裝,到處運行”的目的[3]。兩者差異如表1所示。Docker相對于LXC技術(shù),在可移植性、工具生態(tài)系統(tǒng)、開放兼容性、工具生態(tài)系統(tǒng)上等方面都更具優(yōu)勢,因此本系統(tǒng)采用Docker技術(shù)作為最終使用的虛擬化技術(shù)。

2系統(tǒng)硬件設(shè)計

本項目硬件平臺采用ZYNQ-7000系列芯片,包括片外Flash存儲、EMMC存儲、DDR內(nèi)存、模擬量采集、數(shù)字輸入輸出、串口RS485/232等[4]。該芯片性能強大,可以實現(xiàn)保護控制通信等多種功能,適合在電力設(shè)備上使用。其中片外Flash主要存儲用于啟動的u-boot、內(nèi)核鏡像、設(shè)備樹等文件,EMMC存儲文件系統(tǒng)、應(yīng)用程序及日志、數(shù)據(jù)信息。

3系統(tǒng)軟件設(shè)計

電力二次設(shè)備大多采用嵌入式Linux操作系統(tǒng),系統(tǒng)基礎(chǔ)軟件設(shè)計主要基于Linux操作系統(tǒng)構(gòu)建容器運行環(huán)境、運行APP、建立各APP間通信機制。其中容器運行環(huán)境構(gòu)建主要包括:Linux內(nèi)核定制、容器基礎(chǔ)鏡像的構(gòu)建、APP鏡像的構(gòu)建。以下先介紹應(yīng)用整體框架,再分別介紹構(gòu)建容器環(huán)境的幾個環(huán)節(jié)。

3.1應(yīng)用整體框架

基于Docker容器技術(shù)的系統(tǒng)軟件總體結(jié)構(gòu)如圖1所示。在作為分布式計算系統(tǒng)應(yīng)用時,計算任務(wù)需要分配到多個CPU、DSP才能完成,各CPU、DSP需要按照預(yù)定設(shè)計的目標(biāo)定時工作,并實時交換數(shù)據(jù)。因為常規(guī)Linux系統(tǒng)實時性滿足不了電力系統(tǒng)中一些高實時的計算任務(wù),系統(tǒng)設(shè)計采用非對稱多進程處理(AMP)模式,通過Linux+裸核的方式運行;ZYNQ-7000處理器集成雙核ARMCortex-A9,可在其中一個核上跑Linux操作系統(tǒng),另一個核上進行高實時性的運算。其中Linux操作系統(tǒng)上每個業(yè)務(wù)APP都通過鏡像的方式運行在容器中,通過docker設(shè)備映射功能訪問各外設(shè)設(shè)備,如配變交采類應(yīng)用可通過驅(qū)動設(shè)備文件獲取各類模擬量信息;系統(tǒng)管理進程負責(zé)系管理系統(tǒng)中各類進程;各APP與系統(tǒng)管理程序及APP之間通過容器間IP化技術(shù)和MQTT總線進行各類消息主題的訂閱和。系統(tǒng)host上運行遠程管理模塊,通過網(wǎng)絡(luò)與遠程運維主站進行通信;通過運維主站進行各容器APP部署下發(fā),遠程管理模塊可解析命令進行APP的安裝部署,同時可將各APP的運行狀態(tài)上送給運維主站,達到遠程運維的目的。

3.2Linux內(nèi)核定制

容器運行在宿主機上,與宿主機共享內(nèi)核。容器的正常運行依賴內(nèi)核自身的許多特性。因此在開發(fā)構(gòu)建容器的運行環(huán)境時,首先要定制相應(yīng)的內(nèi)核配置,以支撐容器的運行。Docker運行要求內(nèi)核版本不低于3.10。內(nèi)核中與容器緊密相關(guān)的最核心的特性是Namespaces命名空間和Controlgroups(cgroups)控制組。利用命名空間這一特性,每個容器都有獨立的命名空間,每個運行其中的應(yīng)用都像是擁有了獨立的操作系統(tǒng),保證了容器彼此之間的互不干擾。命名空間提供了系統(tǒng)資源隔離的基礎(chǔ),其包括了進程隔離、網(wǎng)絡(luò)管理接口、管理跨進程通信訪問、管理掛載點、隔離內(nèi)核和版本標(biāo)識。內(nèi)核配置上需對以上命令空間進行配置??刂平M是Linux內(nèi)核的另一個特性,主要用來對共享資源進行隔離、限制、審計等,只有能控制分配到容器的資源,才能避免多個容器同時運行時對宿主機系統(tǒng)的資源競爭。資源控制是Docker的基礎(chǔ),在Dockerd啟動過程就需要cpuset、cpu、cpuacct、blkio、memory、devices、freezer、pids,要保證各個控制組已經(jīng)掛載完成。另外Docker啟動時會使用iptables配置一些網(wǎng)絡(luò)規(guī)則等也會涉及一些內(nèi)核配置,不一一贅述。

3.3基礎(chǔ)鏡像及APP鏡像的構(gòu)建

采用Yocto框架來構(gòu)建基礎(chǔ)鏡像。Yocto的基礎(chǔ)使用方法,可參照Yocto官方文檔。構(gòu)建方法主要分為以下幾步:1)根據(jù)相應(yīng)的硬件平臺,設(shè)置對應(yīng)的BSP配置文件,并將配置文件設(shè)置為默認BSP配置;2)進行內(nèi)核recipe(配方)的配置。一個完整的OS由內(nèi)核和rootfs構(gòu)成,兩者需保持兼容。在構(gòu)建rootfs的過程中,必須要選擇和該內(nèi)核兼容的kernel來配置recipe;3)進行rootfs的recipe配置。image用于指定需要編譯進rootfs的軟件以及其依賴軟件。比如要使用Docker軟件,就需要將Docker以及相關(guān)的依賴,比如Docker-registry增加到image中;4)一些特殊的定制。通常會根據(jù)整個系統(tǒng)的兼容性和需求,調(diào)整相關(guān)軟件的版本和配置。比如容器只需要Docker,不需要lxc,需要設(shè)置runc的recipe;5)使用bitbake(構(gòu)建系統(tǒng))構(gòu)建相應(yīng)的版本。APP容器化的基礎(chǔ)是每一個APP都做成鏡像運行。可以通過Dockerfile來進行APP鏡像的制作。Dockerfile是一個文本文件,記錄了鏡像構(gòu)建的所有步驟。下面是一個Dockerfile的實例,baseimage是基礎(chǔ)鏡像,appname是要打包的APP,需在“/bin”目錄執(zhí)行。#DockerfileexampleFROMbaseimageMAINTAINERauthornameemail@xxx.comCOPYappname/binCMD/bin/appname將Dockerfile和appname放置在同一個目錄后,可通過如下命令制作APP鏡像。dockerbuild-tappimage.執(zhí)行完成后,就可以通過dockerimages命令查看到生成的APP鏡像。如果執(zhí)行的命令比較復(fù)雜,也可以做成一個shell腳本,同樣拷貝到鏡像中,編寫Dockerfile的時候CMD后面執(zhí)行shell腳本來運行程序。如果應(yīng)用有依賴的lib庫,lib庫需要根據(jù)對應(yīng)的編譯鏈進行編譯并打包到容器鏡像內(nèi)。

3.4APP通信機制

APP通信流程如圖2所示。在容器運行環(huán)境下,各APP的通信設(shè)計基于以下原則:交互完全基于消息機制,以達到數(shù)據(jù)交互解耦,避免私有交互造成的管理復(fù)雜性;各APP開發(fā)統(tǒng)一的預(yù)留接口,保證互通互用?;谙C制,各APP間通信引入了MQTT總線。MQTT協(xié)議是一個客戶端服務(wù)端架構(gòu)的/訂閱模式的消息傳輸協(xié)議,設(shè)計思想是輕巧、開放、簡單、規(guī)范、易于實現(xiàn)。所有APP間通信可通過MQTT總線/訂閱消息,獲取系統(tǒng)資源以及APP交互,可提供一對多的消息分發(fā)和應(yīng)用間的解耦。具體的消息交互流程如下:1)MQTT消息總線提供訂閱主題接口,各應(yīng)用APP啟動運行時需先進行、訂閱數(shù)據(jù)主題注冊;2)對外提供數(shù)據(jù)的APP應(yīng)用,在生成新數(shù)據(jù)后調(diào)用總線消息接口進行數(shù)據(jù);3)消息總線接收到數(shù)據(jù)后,將數(shù)據(jù)存儲至實時數(shù)據(jù)庫。消息總線在發(fā)現(xiàn)被訂閱的數(shù)據(jù)變化后,啟動主題推送程序,根據(jù)訂閱主題信息調(diào)用訂閱方接收接口,推送數(shù)據(jù)。

4應(yīng)用情況

本文完成了在嵌入式裝置上部署容器運行環(huán)境,實現(xiàn)APP服務(wù)容器化的設(shè)計目標(biāo)。目前該技術(shù)已在某變電站遠程運維系統(tǒng)中成功應(yīng)用。該項目通過遠程運維平臺部署各容器/業(yè)務(wù)APP到電力裝置上,如104通信規(guī)約APP、停電告警、相序識別等;實現(xiàn)了數(shù)據(jù)的貫通,通過從底層驅(qū)動獲取到電壓電流等數(shù)據(jù)通過APP計算后,使用MQTT總線上送到IEC104APP等,驗證了各APP間數(shù)據(jù)交互、消息發(fā)送的機制和可行性。同時對裝置資源的消耗和容器大小測試,其中容器鏡像文件大小根據(jù)實際應(yīng)用文件及依賴有所不同,一般在幾MB。系統(tǒng)運行中CPU和內(nèi)存占用率有所上升,只是在原有基礎(chǔ)上增加幾十MB內(nèi)存的占用,對系統(tǒng)開銷影響不大。

5結(jié)束語

在能源互聯(lián)網(wǎng)建設(shè)的背景下,本文提出一種在電力設(shè)備上應(yīng)用Docker技術(shù)以及設(shè)備上各APP間通信機制的方法,并對相關(guān)的操作進行了闡述。通過引入Docker技術(shù),實現(xiàn)了邊緣計算節(jié)點業(yè)務(wù)容器化、軟硬件解耦操作,為軟件APP化提供了實踐方法。在當(dāng)前運維和部署服務(wù)越來越復(fù)雜的情況下,為實現(xiàn)電力行業(yè)的業(yè)務(wù)需求彈性擴展、快速滿足用戶需求以及邊緣計算的應(yīng)用提供了有力支撐。為電力物聯(lián)網(wǎng)建設(shè)提供軟件平臺,提供了開源、開放式的環(huán)境,對電力設(shè)備開發(fā)提供一定的參考。

參考文獻

[1]張樹華,仝杰,張鋆等.面向能源互聯(lián)網(wǎng)智能感知的邊緣計算技術(shù)研究[J].電力信息與通信技術(shù),2020(18):4

[2]李彬,賈濱誠,曹望璋,等.邊緣計算在電力需求響應(yīng)業(yè)務(wù)中的應(yīng)用展望[J].電網(wǎng)技術(shù),2018,42(1):79-87

[4]楊保華,戴玉劍,曹亞侖.Docker技術(shù)入門與實踐[M].北京:機械工業(yè)出版社,2014

作者:吳汪兵 龔行梁 劉偉 單位:南京南瑞繼保電氣有限公司

免责声明

本站为第三方开放式学习交流平台,所有内容均为用户上传,仅供参考,不代表本站立场。若内容不实请联系在线客服删除,服务时间:8:00~21:00。

AI写作,高效原创

在线指导,快速准确,满意为止

立即体验
文秘服务 AI帮写作 润色服务 论文发表