国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
一種云計算技術在配網監(jiān)控系統(tǒng)持續(xù)集成方案中的運用

許昌許繼軟件技術有限公司的研究人員王少鵬、楊迎春、丁博、賈亞楠、梁鵬威,在2020年第9期《電氣技術》雜志上撰文,闡述了一種云計算服務技術在電力監(jiān)控系統(tǒng)持續(xù)集成方案中的應用。結合云計算技術的強大功能性及冗余容錯能力,為配電網應用系統(tǒng)的不同規(guī)模交付場景提供更加高效、安全的開發(fā)及運維支撐。


目前配電網信息系統(tǒng)在技術組件以及技術實現(xiàn)框架方面已經日趨成熟。隨著產品開發(fā)及實施任務量的增加和定制業(yè)務的需求增多,既有配電系統(tǒng)在每次工程應用前都需要經過一系列復雜的持續(xù)性交付過程,依賴密集且復雜的持續(xù)性編譯、大量的系統(tǒng)測試、繁雜的部署任務,導致工程應用周期增長,測試任務量巨大,耗時耗材耗力。

隨著企業(yè)業(yè)務容量的拓展,服務器數(shù)量急劇增加的壓力,出現(xiàn)了現(xiàn)有的Jenkins(持續(xù)集成工具,基于Java語言開發(fā))整合Ansible(自動化運維工具,基于Python語言開發(fā))的方式進行系統(tǒng)的整體集成。但由于配網監(jiān)控平臺的不斷發(fā)展,供應企業(yè)要同時面對多個不同規(guī)模的交付場景,Jenkins整合Ansible的方式由于硬件資源的固定限制,已經較難適應不同規(guī)模的交付業(yè)務。

基于OpenStack(云計算軟件)的持續(xù)集成設計方式,在Jenkins整合Ansible提供集成服務的基礎上,不但可以實現(xiàn)開發(fā)的可視化、智能化的全流程管控,而且可以依托于云平臺的資源動態(tài)分配的特點,適應任何規(guī)模交付場景的一比一自動化測試交付任務,保障配電網監(jiān)控平臺安全有效的持續(xù)性交付。

1  理論基礎研究

云平臺技術常規(guī)應用有兩個方向:①以數(shù)據(jù)存儲為主要服務功能的存儲型云平臺;②以數(shù)據(jù)處理為主要服務的計算型平臺。

本項目依賴于OpenStack的部分開源組件,提供了基于系統(tǒng)層面以及應用層面的資源智能化分配以及釋放,相比于原有的固定硬件設備資源,完全能夠適應各種不同大小規(guī)模的配網監(jiān)控平臺的持續(xù)化集成交付任務。同時結合使用OpenStack的分布式云存儲(Swift)技術,保證測試流程的安全及穩(wěn)定,增加容錯能力,保證在某一硬件設備故障的情況下,仍能完成持續(xù)集成交付任務。

云平臺技術的中間層、基礎設施層提供了如下技術功能,可以任意分配及釋放現(xiàn)有的硬件設備資源:

1)虛擬化(Nova)。有了虛擬化技術,可以在一個云平臺集群中生成多個全面隔離的虛擬機資源或者服務資源,資源可以隨時分配和釋放。

2)分布式云存儲技術(Swift)。能夠解決集群中單個實體硬件節(jié)點故障影響整體服務的問題,保證部署、測試、交付動作連貫不受干擾。

3)負載均衡。能夠更好地支配整體云平臺的硬件資源(硬盤、內存、網絡),實現(xiàn)有限資源的高度利用。

交互后臺服務是整套方案的核心,采用通用的Restful基于超文本傳送協(xié)議(hypertext transfer protocol, HTTP)的設計風格應用程序接口(appli- cation program interface, API),能夠完成OpenStack和Ansible、Jenkins的整合,打通一個完整而又靈活的持續(xù)性交付系統(tǒng),用來滿足節(jié)點數(shù)從1到N的不同規(guī)模監(jiān)控平臺持續(xù)集成及交付工作。

自定義虛擬化資源管理核心接口如下:

interface boolean create_Os(
String targetMechine, String osName, String osConfig
);
interface boolean  drop_Os(
String targetMechine, String osName
);
interface boolean create_application(
String targetMechine, String appName
);
interface boolean drop_application(
String targetMechine, String appName
);

自定義持續(xù)交付job管理接口如下:

interface boolean executeJob(
String jobName
);
interface boolean createJob(
String jobName, String jobTemplateXml
);
interface boolean dropJob(
String jobName
);

使用回調函數(shù)接口的方式,交互后臺服務監(jiān)聽Jenkins的版本變化信號,觸發(fā)后續(xù)自動部署及測試工作:

interface void callback(){
return (jenkins svn state); 
}

2  采用云計算技術的配網監(jiān)控系統(tǒng)持續(xù)集成系統(tǒng)架構及模塊

持續(xù)化集成原有的方案只需要使用Jenkins界面配置即可做到固定模式、固定數(shù)量節(jié)點的智能配網監(jiān)控平臺的持續(xù)化集成及測試工作。但整合OpenStack技術之后,不僅需要一個核心的后臺服務系統(tǒng),也要有一套能夠靈活配置的交互界面。

采用云平臺技術中的Nova組件作為配電網的運行載體、Swift組件保障整套集成測試環(huán)境的冗余容錯能力,Jenkins及Ansible搭建的持續(xù)集成Server端控制集成方向及內容、SVN(subversion,開放源代碼的版本控制系統(tǒng))作為版本庫,實現(xiàn)靈活的配網持續(xù)集成整體結構,如圖1所示。

1)交付后臺服務。交付后臺服務是一整套持續(xù)集成交付體系,除了包含Ansible及Jenkins整合而成的持續(xù)交付服務之外,還包括為用戶操作界面提供服務邏輯以及控制OpenStack云平臺的Web后臺服務,其中Ansible的劇本代碼也是由SVN統(tǒng)一進行代碼版本管理的,方便持續(xù)集成系統(tǒng)本身的不斷更新迭代。

除OpenClient(本項目自主開發(fā)模塊,作為客戶端連接Jenkins與OpenStack)之外,其他所有的對外控制接口為SSH(Secure Shell,應用層基礎安全協(xié)議)。交付后臺內部,WebServer通過Restful API接口與Jenkins服務進行交互。

2)可視化客戶端以及complineServer。一套固定的硬件設備主要用于人工交互配置服務和節(jié)點以及自動執(zhí)行編譯命令??梢暬蛻舳擞蒍Query、easyUI等前端架構實現(xiàn),通過HTTP協(xié)議與WebServer進行數(shù)據(jù)溝通。同時可視化客戶端也會根據(jù)用戶選擇自動進行所選服務及所屬節(jié)點的合理性分析。

圖2所示為運維人員所配置的服務、所屬節(jié)點清單以及行為合理性分析的展示界面。

3)監(jiān)控平臺最終交付環(huán)境。以SSH為對外接口,是主要的交付目標。

4)OpenStack云平臺系統(tǒng)。主要提供虛擬化以及共享存儲功能,為集成測試以及多變的測試環(huán)境提供靈活的環(huán)境。交互后臺服務通過OpenStack提供的客戶端進行虛擬機或者服務的創(chuàng)建與起停。

虛擬化技術提供虛擬的硬件資源,共享存儲服務提供可靠的冗余容錯機制,保證云平臺集群某臺實體硬件節(jié)點故障或宕機不會影響服務運行以及造成數(shù)據(jù)丟失。負載均衡機制提供一個硬件資源的合理分配,以高效率高硬件利用率完成持續(xù)集成交付工作。 

圖1  基于云平臺的持續(xù)化集成架構
 

圖2  服務節(jié)點配置清單及合理性分析運行界面

3  基于云計算技術的配網監(jiān)控平臺工作流程

前文已經實現(xiàn)了基于云計算技術的集成方案架構設計以及各模塊之間結構的定義,下面描述N節(jié)點的配網監(jiān)控平臺持續(xù)集成環(huán)境的制定及集成流程。持續(xù)集成的核心控制服務:核心后臺交互服務提供了一個嚴謹有序的交付流程體系,此套體系能夠適應節(jié)點數(shù)從1~N的不同規(guī)模的監(jiān)控平臺集成任務。

圖3所示為環(huán)境硬件結構示意圖。持續(xù)集成環(huán)境完全依賴于云計算平臺集群,包括測試虛擬機、編譯虛擬機、集成控制虛擬機(主要是交付后臺服務運行環(huán)境);數(shù)據(jù)庫服務器以及監(jiān)控平臺服務端服務器集群主要為線上交付目標環(huán)境;代碼版本管理器由于為核心機密,單獨服務器部署。

圖3  硬件架構示意圖

圖4所示為加入了云計算技術的持續(xù)集成流程。主要包括以下步驟:

  • 1)開發(fā)人員提交代碼到SVN服務器,系統(tǒng)判定是否有要執(zhí)行的交付目標配置,如果沒有則通知測試人員使用圖形化客戶端按照交付目標構建配置。

  • 2)Jenkins定時檢測到代碼有更新,鎖定更新代碼工程(定時觸發(fā)策略需要按照實際情況進行設定)。

  • 3)Jenkins進行自動化編譯,并觸發(fā)存儲機制,存儲最新的程序包并記錄版本。

  • 4)Jenkins通過Ansible plugin通知Ansible執(zhí)行測試劇本。

  • 5)持續(xù)集成后臺服務通過回調函數(shù)監(jiān)聽到操作指令,調用接口在OpenStack自動開辟新的資源并創(chuàng)建新的虛擬機、虛擬服務(數(shù)據(jù)庫等),執(zhí)行分發(fā)、配置、啟動等整套安裝部署動作)。

  • 6)觸發(fā)測試動作,進行自動化測試,記錄測試報告并分發(fā)測試結果到通知郵箱。

  • 7)觸發(fā)掃描程序對測試報告進行掃描,判定程序測試是否通過。

  • 8)如果測試掃描結果表示測試通過,則把測試版本作為正式版本發(fā)布到一套正式的環(huán)境中,另本次運行包以序號加時間為命名方式自動打包發(fā)送到SVN版本庫統(tǒng)一保存,方便后續(xù)突發(fā)回滾操作使用。

  • 9)測試版本轉換到正式環(huán)境后,突發(fā)情況發(fā)現(xiàn)最新的正式版本有重大bug未被檢測到,需要緊急下線并回滾并從SVN調取本版本的上一歷史版本進行版本恢復操作。

  • 10)銷毀測試使用的OpenStack虛擬機,并釋放資源。


把云平臺技術與持續(xù)化集成技術整合成一套新的持續(xù)集成體系,能夠滿足當前復雜的監(jiān)控平臺應用系統(tǒng)的業(yè)務場景。根據(jù)持續(xù)化集成平臺的設計經驗以及新型配網主站的項目需求,需要在如下3個關鍵方面達到要求:

圖4  持續(xù)集成流程

  • 1)B/S(browser/server,瀏覽器/服務器模式)架構非開源系統(tǒng)的持續(xù)化集成。

  • 2)C/S(client/server,客戶機/服務器模式)架構的非開源系統(tǒng)的持續(xù)化集成。

  • 3)任意節(jié)點的分布式基礎環(huán)境開源組件自動部署。


4  結論

隨著配網監(jiān)控平臺的基礎架構越來越復雜,部署節(jié)點數(shù)量及硬件架構越來越多樣化,有一套能夠適應各種規(guī)模監(jiān)控平臺的持續(xù)化集成系統(tǒng)至關重要,固定目標規(guī)模的持續(xù)化集成系統(tǒng)已經不能滿足要求。

本設計在許繼集團已經單獨立項并在許繼集團新型配網主站項目試點開發(fā)及應用。其中,自動化部署、自動化測試、持續(xù)性編譯等關鍵模塊正在進行基本的功能驗證和評估,能夠滿足持續(xù)化集成的需求。

本文針對許繼集團新一代監(jiān)控平臺開發(fā)了一套持續(xù)集成交付方案服務,目前持續(xù)編譯及自動部署已經完成內部測試,業(yè)務開發(fā)人員及運行維護人員已經做了初步的測試使用,效果良好。
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
2019十大最佳DevOps工具
如何打造一個高逼格的云運維平臺?
京東從 OpenStack 改用 Kubernetes 的始末
一直播、小咖秀大數(shù)據(jù)自動化運維實踐
從DevOps到AIOps(五):配置管理及監(jiān)控工具
金融行業(yè)開發(fā)測試云管平臺架構方案設計
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服