亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向DevOps的政務大數(shù)據(jù)分析可視化系統(tǒng)

        2020-08-12 02:32:46張冬松胡秀云鄔長安毛鳳翔
        計算機技術(shù)與發(fā)展 2020年8期
        關鍵詞:源代碼政務容器

        張冬松,胡秀云,鄔長安,毛鳳翔

        (1.國防科技大學 計算機學院,湖南 長沙 410073;2.信陽學院 大數(shù)據(jù)與人工智能學院,河南 信陽 464000)

        1 概 述

        大數(shù)據(jù)分析及可視化是近年來重新興起的一門多領域交叉學科,是一類從海量數(shù)據(jù)中自動分析獲得規(guī)律,并利用規(guī)律對未知數(shù)據(jù)進行預測,同時提供可視化交互方式和展示界面,在數(shù)據(jù)挖掘、電子商務、金融分析、政務管理等領域有著十分廣泛的應用,是當前各行各業(yè)的一個熱點[1]。

        從大數(shù)據(jù)行業(yè)應用角度來看,當前大數(shù)據(jù)應用發(fā)展趨勢正向著行業(yè)縱深層次穩(wěn)步前行。以政務大數(shù)據(jù)為例,用數(shù)據(jù)治理、用數(shù)據(jù)說話、用數(shù)據(jù)發(fā)展、用數(shù)據(jù)改進和用數(shù)據(jù)創(chuàng)新,已成為政務大數(shù)據(jù)公認的價值體系所在。通過大數(shù)據(jù)分析及可視化技術(shù),將政務相關的數(shù)據(jù)整合起來進行有效分析,提供立體可視化展示能力,應用到政府業(yè)務領域,賦能政府機構(gòu),提升政務實施效能。

        當前,大數(shù)據(jù)分析及可視化可以提供強大的數(shù)據(jù)讀取功能、高效的數(shù)據(jù)處理方法、可視化的數(shù)據(jù)探索方式、豐富的數(shù)據(jù)挖掘算法、簡易模型訓練等功能,從易用性、功能范圍、數(shù)據(jù)挖掘效果等方面全面超越了傳統(tǒng)的數(shù)據(jù)分析方法。利用這一先進的大數(shù)據(jù)分析及可視化技術(shù)有助于幫助客戶實現(xiàn)海量數(shù)據(jù)挖掘,利用一系列機器學習算法組合得到模型結(jié)果,經(jīng)過可視化方式展示,以便更直觀地從圖表中發(fā)現(xiàn)數(shù)據(jù)背后的潛在價值。

        政務大數(shù)據(jù)分析及可視化系統(tǒng)是一項系統(tǒng)工程,涉及到數(shù)據(jù)存儲、數(shù)據(jù)處理、模型建立、模型訓練、分析應用、可視化展示等一系列功能模塊。這些系統(tǒng)功能模塊數(shù)量多、交互復雜。開發(fā)和運維這樣的系統(tǒng),出現(xiàn)問題是不可避免的。但是,如何快速發(fā)現(xiàn)并解決問題是關鍵。如果采取傳統(tǒng)的軟件開發(fā)模式,開發(fā)人員將軟件產(chǎn)品開發(fā)完成后,交由測試人員進行測試,再由運維人員進行部署。通常只有在最后部署階段才能發(fā)現(xiàn)問題,顯然這種反饋的難度和時間成本都很大。

        當前政務大數(shù)據(jù)行業(yè)應用的用戶需求快速變化,高效自動部署技術(shù)是縮短大數(shù)據(jù)軟件產(chǎn)品交付時間的關鍵。DevOps技術(shù)[2]有助于實現(xiàn)快速自動化部署過程,通過不斷迭代交付來縮短發(fā)布周期。它使用持續(xù)集成和持續(xù)交付的方式,一旦代碼更新提交,就立刻得到反饋;如果發(fā)現(xiàn)問題,可以快速發(fā)現(xiàn)、定位并解決。這就極大降低了復雜軟件快速頻繁的更新與部署過程中產(chǎn)生問題的可能性,提升軟件的質(zhì)量與穩(wěn)定性。

        近年來,由于DevOps的構(gòu)建、部署、運維等各階段都有眾多配套工具提供支持,它已經(jīng)得到非常廣泛的應用[3]。通常,軟件開發(fā)工作會根據(jù)各自不同的實際情況,按需搭建適合自身的DevOps工具鏈。文獻[4]提出了一種高效動態(tài)的應用部署引擎OpsFlow,其目標在于組合多種自動化部署技術(shù)以應對異構(gòu)應用與部署環(huán)境,從而實現(xiàn)高效自動化的微服務應用部署。但是,該DevOps解決方案仍是一種虛擬機部署方式,并不適合在不同云、不同版本操作系統(tǒng)間進行快速遷移。

        當前,一種新的開發(fā)部署方式是采用Docker容器和鏡像共享方式實現(xiàn)的[5],每個容器有自己的運行環(huán)境和文件系統(tǒng),容器之間不會相互影響。相比虛擬機部署方式,這種基于Docker容器技術(shù)的開發(fā)、測試和運維一站式DevOps解決方案,更適合云計算環(huán)境下跨平臺、跨系統(tǒng)快速部署,已經(jīng)得到廣泛應用[6]。

        因此,面對政務行業(yè)領域中的海量數(shù)據(jù),文中提出了面向DevOps的政務大數(shù)據(jù)分析可視化系統(tǒng),以事件為中心,綜合各模態(tài)數(shù)據(jù)信息聚合和語義協(xié)同的結(jié)果,挖掘跨平臺、跨模態(tài)信息的內(nèi)部語義展示方式,研究基于可視化工具的全方位展示技術(shù),搭建統(tǒng)一DevOps平臺實現(xiàn)自動化開發(fā)、測試和運維,以更好地滿足政務行業(yè)應用對大數(shù)據(jù)產(chǎn)品快速、高效、多樣化的信息可視化需求。

        主要貢獻如下:

        (1)從政務大數(shù)據(jù)業(yè)務落地出發(fā),提出了一種面向DevOps的政務大數(shù)據(jù)分析可視化系統(tǒng),主要依托于機器學習算法設計大數(shù)據(jù)分析方法,利用交互式和大屏可視化技術(shù)提出大數(shù)據(jù)可視化方法;

        (2)動態(tài)打通了機器學習分析工具、自動運維工具與數(shù)據(jù)分析可視化,相關技術(shù)的集成具有很強的系統(tǒng)指導和應用價值。

        2 系統(tǒng)組成

        本節(jié)主要介紹政務領域大數(shù)據(jù)分析可視化系統(tǒng)的基本結(jié)構(gòu)與主要功能,并且將DevOps的方法引入系統(tǒng)的開發(fā)運維全生命周期中。

        2.1 功能架構(gòu)

        本系統(tǒng)由云基礎設施、DevOps平臺和政務大數(shù)據(jù)分析可視化系統(tǒng)構(gòu)成,如圖1所示。

        圖1 整體功能架構(gòu)

        其中,底層是云基礎設施層,它表示整個系統(tǒng)的硬件資源環(huán)境。理想情況下它要么是公有云環(huán)境,要么是私有云環(huán)境,但在實際行業(yè)場景中,云基礎環(huán)境大多是異構(gòu)環(huán)境,比如是由前兩者構(gòu)成的混合云。

        為了解決底層基礎環(huán)境的異構(gòu)問題,中間層設計了一個DevOps平臺。它利用Docker容器引擎工具,提供一系列如創(chuàng)建容器鏡像和運行容器等核心方法,可無視基礎環(huán)境的多元性,實現(xiàn)統(tǒng)一源代碼管理、資源配置管理、監(jiān)控、運維管理等基本功能;同時,它通過統(tǒng)一的持續(xù)集成和持續(xù)交付管理門戶,完成自動構(gòu)建、單元測試、自動部署、集成測試、發(fā)布策略和驗收測試等關鍵功能。

        頂層是應用層,即政務大數(shù)據(jù)分析可視化系統(tǒng)。它主要由6個模塊組成,其中:數(shù)據(jù)存儲與管理子系統(tǒng)的主要功能是存儲、管理系統(tǒng)中的所有數(shù)據(jù);數(shù)據(jù)分析工具子系統(tǒng)則包含若干傳統(tǒng)統(tǒng)計分析工具和機器學習算法工具,針對輸入數(shù)據(jù)可產(chǎn)生分析結(jié)果;數(shù)據(jù)可視化工具子系統(tǒng)包含若干形狀的圖表繪制工具,針對輸入數(shù)據(jù)可進行圖形或表格可視化展示;數(shù)據(jù)分析應用子系統(tǒng)包含面向政務行業(yè)應用的數(shù)據(jù)分析軟件,針對與政務行業(yè)應用相關的輸入數(shù)據(jù)生成相應的分析結(jié)果;分析結(jié)果可視化子系統(tǒng)既包含面向政務行業(yè)應用的交互式可視化軟件,用圖表方式將分析結(jié)果展現(xiàn)出來,又包含面向電視終端的大屏可視化軟件,用大屏投放方式將分析結(jié)果展現(xiàn)到大型電視屏幕中。一個統(tǒng)一的訪問門戶模塊,不僅可以方便終端用戶訪問和控制上述5個子系統(tǒng),還可以實現(xiàn)身份認證、權(quán)限管理、交互式分析、可視化控制等基本功能。

        2.2 工作流程

        上述政務大數(shù)據(jù)分析可視化系統(tǒng)中各個子系統(tǒng)的工作流程如圖2所示。

        圖2 系統(tǒng)工作流程

        (1)數(shù)據(jù)存儲與管理子系統(tǒng)將從系統(tǒng)外部獲取的數(shù)據(jù)存儲在原始數(shù)據(jù)庫中;

        (2)數(shù)據(jù)分析應用子系統(tǒng)調(diào)用相關的數(shù)據(jù)分析工具,通過數(shù)據(jù)存儲與管理子系統(tǒng),從原始數(shù)據(jù)庫獲取對應數(shù)據(jù),進行分析,并將分析結(jié)果存入結(jié)果數(shù)據(jù)庫中;

        (3)分析結(jié)果可視化子系統(tǒng)調(diào)用相關的數(shù)據(jù)可視化工具,并通過數(shù)據(jù)存儲與管理子系統(tǒng)從結(jié)果數(shù)據(jù)庫中獲取數(shù)據(jù),進行可視化圖表展示。

        2.3 交互流程

        上述DevOps平臺中各個模塊之間的交互流程如圖3所示。

        圖3 DevOps交互流程

        (1)提交:DevOps開發(fā)者將政務大數(shù)據(jù)分析可視化系統(tǒng)中源代碼在本地測試通過后,提交到統(tǒng)一源代碼管理系統(tǒng),如Gitlab[7]代碼倉庫;

        (2)自動構(gòu)建:利用現(xiàn)有的持續(xù)集成工具如Jenkins[8]等軟件,在檢測到有新版本的源代碼提交后,便自動從統(tǒng)一源代碼倉庫中拉取對應的源代碼,自動編譯、構(gòu)建;

        (3)單元測試:持續(xù)集成工具完成自動構(gòu)建后,可以自動執(zhí)行DevOps開發(fā)者指定的單元測試代碼;

        (4)自動部署到測試環(huán)境:在完成單元測試后,DevOps運維者利用現(xiàn)有的資源配置管理系統(tǒng)如Ansible[9]軟件,根據(jù)實際需求,設置云基礎設施中各種資源,再通過現(xiàn)有的持續(xù)交付工具如Jenkins、Docker Hub[10]等軟件,將上一步得到的應用程序自動部署到與生產(chǎn)環(huán)境相近的測試環(huán)境中;

        (5)集成測試:DevOps測試者在單元測試的基礎上,將所有應用程序按照設計要求,組裝成一個子系統(tǒng)或系統(tǒng),進行集成測試,目標在于測試多種應用程序的組合能否正常工作;軟件單元只有經(jīng)過集成才能形成一個有機的整體;

        (6)自動部署到預發(fā)布環(huán)境:當開發(fā)的政務大數(shù)據(jù)分析可視化軟件系統(tǒng)通過測試環(huán)境中集成測試后,DevOps運維者可以利用現(xiàn)有持續(xù)交付系統(tǒng)中發(fā)布策略管理功能,把軟件系統(tǒng)自動部署到相當于生產(chǎn)環(huán)境的預發(fā)布環(huán)境中,做好客戶驗收測試的準備工作;

        (7)驗收測試[11]:在預發(fā)布環(huán)境中,DevOps客戶或獨立測試人員可以根據(jù)測試計劃對大數(shù)據(jù)分析可視化系統(tǒng)進行功能測試和破壞性測試,目的在于充分暴露系統(tǒng)的設計和功能問題,以便得到客戶對政務大數(shù)據(jù)分析可視化系統(tǒng)的認可;

        (8)部署到生產(chǎn)環(huán)境:通過所有測試后,DevOps運維者便可以利用現(xiàn)有持續(xù)交付系統(tǒng)中發(fā)布策略管理功能,使用灰度發(fā)布方法將預發(fā)布環(huán)境中最新的大數(shù)據(jù)分析可視化系統(tǒng)軟件版本自動部署到真實生產(chǎn)環(huán)境中;這里,灰度發(fā)布又稱金絲雀發(fā)布(Canary release)[12],是在原有版本可用的情況下,同時部署一個新版本系統(tǒng)作為“金絲雀”,驗證新版本的性能和表現(xiàn),以保障整體系統(tǒng)穩(wěn)定的情況下,盡早發(fā)現(xiàn)、調(diào)整問題;一旦新版本驗證通過,逐步替換所有系統(tǒng)為新版本;

        (9)監(jiān)控運維:DevOps運維者還可以通過監(jiān)控運維管理系統(tǒng),對云基礎設施中各種資源,進行實時監(jiān)控、運維管理、日志分析等操作。

        3 基于分析工具的大數(shù)據(jù)分析應用

        在本節(jié)中,詳細介紹大數(shù)據(jù)分析工具子系統(tǒng)中所用到的常用分析工具類型,以及如何根據(jù)給定的數(shù)據(jù)和分析工具,先訓練后分析,最后實現(xiàn)大數(shù)據(jù)分析應用子系統(tǒng)的方法。

        3.1 分析工具

        數(shù)據(jù)分析工具子系統(tǒng)通常由分類、聚類、回歸、特征提取、時間序列分析、推薦、關聯(lián)等分析模塊構(gòu)成,每個模塊包含若干分析算法[13]。分類模塊包含邏輯回歸、支持向量機、樸素貝葉斯、神經(jīng)網(wǎng)絡、隨機森林等算法;聚類模塊包括K均值、離群點檢測等算法;回歸模塊包括線性回歸、K近鄰、決策樹、神經(jīng)網(wǎng)絡等算法;特征提取包括循環(huán)特征消減選擇(RFE)等算法[14];時間序列分析包括趨勢分析、自回歸滑動平均模型(ARMA)等算法[15];推薦模塊包括基于用戶和基于物品的協(xié)同過濾算法;關聯(lián)模塊包含先驗知識(Apriori)關聯(lián)分析算法。

        需說明,上述所有算法分析工具均與真實政務行業(yè)應用無關。算法分析工具接收來自原始數(shù)據(jù)庫中數(shù)據(jù)作為輸入后,會輸出分析結(jié)果,供數(shù)據(jù)分析應用子系統(tǒng)中的分析應用軟件調(diào)用。

        3.2 分析過程

        為取得更好的分析效果,大數(shù)據(jù)分析過程通常需要先訓練后分析。其中,訓練階段主要是:從原始數(shù)據(jù)庫中讀取一系列樣本數(shù)據(jù),經(jīng)由數(shù)據(jù)分析工具中的訓練模塊,生成相應的分析模型文件,將模型文件存儲到指定文件夾。分析階段主要是:從指定文件夾中獲取分析工具模型文件,讀取待分析的數(shù)據(jù)文件,再經(jīng)由數(shù)據(jù)分析工具中的分析模塊,生成相應的分析結(jié)果,將結(jié)果數(shù)據(jù)存儲到結(jié)果數(shù)據(jù)庫中。

        3.3 應用方法

        真實政務大數(shù)據(jù)行業(yè)應用類型繁多,為此提出的數(shù)據(jù)分析應用子系統(tǒng)是由多個應用類型模塊構(gòu)成,每類應用模塊又包含多項分析內(nèi)容,如圖4所示。

        這里,每項分析內(nèi)容可以看作一個應用分析軟件,它也分為訓練和分析兩部分。訓練部分的主體是調(diào)用數(shù)據(jù)分析工具子系統(tǒng)中相應算法工具的訓練模塊,并讀入與此相匹配的樣本數(shù)據(jù);此外,何時進行訓練,則由訓練策略決定,即可以人工實時啟動,也可以自動定時啟動。分析部分的主體是調(diào)用數(shù)據(jù)分析工具子系統(tǒng)中相應算法工具的分析模塊,并讀入與此相匹配的分析數(shù)據(jù);同樣,何時進行分析,由分析策略決定,可以人工實時啟動,也可以自動定時啟動。

        圖4 數(shù)據(jù)分析應用子系統(tǒng)的組成

        4 支持交互式和大屏的大數(shù)據(jù)分析結(jié)果可視化

        根據(jù)實際政務大數(shù)據(jù)行業(yè)應用的需求,分析結(jié)果可視化子系統(tǒng)又可細分為兩種子系統(tǒng):交互式可視化和大屏可視化。

        4.1 可視化工具

        數(shù)據(jù)可視化工具子系統(tǒng)是由柱狀圖、散點圖、折線圖、餅圖、二維矩陣圖、分布直方圖、分類圖、時間序列圖、雷達圖、詞云圖等圖表工具模塊構(gòu)成。所有圖表工具模塊可以與真實政務行業(yè)應用無關。圖表工具模塊接收模型文件作為數(shù)據(jù)輸入后,會輸出指定類型的圖表結(jié)果,再提供給分析結(jié)果可視化子系統(tǒng)。

        4.2 交互式可視化

        交互式可視化需求主要是針對政務大數(shù)據(jù)行業(yè)內(nèi)部復雜、海量的業(yè)務數(shù)據(jù)和外部數(shù)據(jù),基于大數(shù)據(jù)云平臺,如何通過良好的人機交互操作進行數(shù)據(jù)可視化分析,實現(xiàn)探索式分析、全維度數(shù)據(jù)鉆取等功能。因此,支持分析結(jié)果的終端交互式可視化展示功能,很可能是交互式可視化設計中需要關注的關鍵點。

        交互式可視化子系統(tǒng)是由Web頁面、Server服務器、Scheduler調(diào)度器和Visual Engine可視化引擎四部分組成。該子系統(tǒng)采用W-S-S-VE循環(huán)流程實現(xiàn)人機交互式展示分析結(jié)果,具體內(nèi)容如下:

        (1)Web頁面負責接收客戶操作,向Server服務器發(fā)送可視化操作請求;這里的Web頁面其實可以作為統(tǒng)一訪問門戶的一部分;

        (2)當Server服務器接收到可視化操作請求后會創(chuàng)建可視化任務,然后把該任務傳送給Scheduler調(diào)度器;

        (3)Scheduler調(diào)度器接收到傳遞的可視化任務后,先調(diào)度這些任務并為其分配資源,再向Visual Engine可視化引擎發(fā)送可視化數(shù)據(jù)處理的請求;

        (4)Visual Engine可視化引擎接收到可視化數(shù)據(jù)請求后,會調(diào)用數(shù)據(jù)可視化工具子系統(tǒng)中相關圖表工具,然后加載從結(jié)果數(shù)據(jù)庫中獲取的模型數(shù)據(jù)文件,繪制圖表,最后把處理后的圖表傳回Web頁面,由Web頁面向客戶展示處理繪制數(shù)據(jù)的可視化結(jié)果。

        4.3 大屏可視化

        大屏可視化需求主要是指在電視大屏上對大數(shù)據(jù)分析結(jié)果進行可視化展現(xiàn)。在大數(shù)據(jù)背景下,大屏可視化需求背后存在著復雜的數(shù)據(jù)來源問題,如何保證復雜數(shù)據(jù)處理性能與多屏頁面美工效果之間的合理平衡,很可能是大屏可視化設計中應該關注的重要指標。

        大屏可視化子系統(tǒng)是由多個不同布局形式的顯示屏構(gòu)成,每個展示屏又由若干顯示塊構(gòu)成,每個顯示塊是最小顯示單元,它可以展示某個圖表工具繪制出來的圖形或表格。顯示塊的主體是調(diào)用數(shù)據(jù)可視化工具子系統(tǒng)中相應的圖表工具模塊,加載需要大屏可視化展示的分析結(jié)果數(shù)據(jù);這些分析結(jié)果數(shù)據(jù)在顯示前會保存在模型文件中;還需要顯示控制策略來控制該顯示塊中圖表的顯示時機、顯示位置、尺寸、顏色等外部形態(tài)。

        實現(xiàn)大屏可視化子系統(tǒng)的基本流程包括:

        (1)業(yè)務專家確定大屏內(nèi)容顯示方案。

        根據(jù)業(yè)務場景抽取關鍵指標,然后定義分析指標的維度,最后定義不同指標的圖表類型和頁面劃分。

        (2)美工人員設計整體布局和風格。

        根據(jù)業(yè)務專家劃分的頁面進行指標布局設計,再根據(jù)用戶要求的色系進行樣圖設計,最后根據(jù)用戶定稿的樣圖實施切圖。

        (3)開發(fā)人員研發(fā)前端頁面及優(yōu)化。

        根據(jù)切好的圖,結(jié)合樣式需求制作靜態(tài)網(wǎng)頁模板,然后調(diào)用后端數(shù)據(jù)接口獲取數(shù)據(jù),開發(fā)前端頁面,最后整體大屏顯示細節(jié)調(diào)整與優(yōu)化。

        4.4 分析結(jié)果可視化子系統(tǒng)的工作流程

        不論交互式可視化方法,還是大屏可視化需求,分析結(jié)果可視化子系統(tǒng)的工作流程如圖5所示。

        (1)可以采取周期性定時方法或者按需實時方法,從結(jié)果數(shù)據(jù)庫中獲取指定的數(shù)據(jù),傳送給數(shù)據(jù)存儲與管理子系統(tǒng)中;

        (2)數(shù)據(jù)存儲與管理子系統(tǒng)將收到的來自結(jié)果數(shù)據(jù)庫中數(shù)據(jù)生成模型文件,傳送到顯示文件夾中保存起來;

        (3)系統(tǒng)客戶可以通過統(tǒng)一訪問門戶,在網(wǎng)頁上采取人工輸入自動化腳本或直接操作等方式,實現(xiàn)對分析結(jié)果可視化展示的數(shù)據(jù)內(nèi)容、展示效果等的有效控制;

        (4)分析結(jié)果可視化子系統(tǒng)響應人工輸入的自動化腳本或?qū)崟r操作,從數(shù)據(jù)可視化工具子系統(tǒng)中調(diào)用相關的圖表工具,為該圖表工具設置模型文件所在的顯示文件夾路徑;

        (5)分析結(jié)果可視化子系統(tǒng)從顯示文件夾中獲取指定的分析結(jié)果模型文件;

        (6)根據(jù)人工輸入所提供的顯示控制方式,分析結(jié)果可視化子系統(tǒng)把指定的分析結(jié)果模型文件加載到對應的圖表工具中,然后將圖表工具繪制出來的圖形或表格,傳送給交互式可視化子系統(tǒng)或大屏可視化子系統(tǒng),實現(xiàn)最終的可視化展示效果;

        (7)如果上一步是完成交互式可視化展示,那么交互式可視化子系統(tǒng)還會將得到的圖表返回給統(tǒng)一訪問門戶中的Web頁面,以便將可視化效果展示給客戶,實現(xiàn)與客戶之間的循環(huán)交互。

        5 DevOps平臺設計

        隨著容器技術(shù)的發(fā)展,Docker容器已經(jīng)成為使用量增長最快的工具[16]。通過Docker提供的DevOps系統(tǒng),可以將軟件系統(tǒng)的運行環(huán)境標準化、統(tǒng)一化,以鏡像和在鏡像基礎上構(gòu)建的容器為基礎,同一個鏡像可以部署到開發(fā)、測試、預發(fā)、生產(chǎn)等環(huán)境的容器中。這一過程都可自動完成,不需要重復的安裝部署,提高了開發(fā)和運維效率。

        與此同時,與Docker容器相關的DevOps工具種類繁多、用法各異、適用場景也不同[17]。因此,在本節(jié)中詳細介紹一種基于Docker容器技術(shù)的DevOps平臺,以持續(xù)集成、持續(xù)交付和容器云為核心,允許DevOps開發(fā)者、測試者和運維者通過一個統(tǒng)一的管理門戶來使用該平臺,從而打通開發(fā)、測試、運維全過程,如圖6所示。

        圖6 基于Docker容器的持續(xù)集成和持續(xù)交付

        圖6中,持續(xù)集成以源代碼版本管理軟件Gitlab和開源持續(xù)集成軟件Jenkins為核心;持續(xù)交付是以Jenkins和容器部署配置軟件Docker Hub為核心;容器云是以測試環(huán)境、預發(fā)環(huán)境和生產(chǎn)環(huán)境等三種Docker容器部署方式為核心。

        5.1 持續(xù)集成

        當DevOps開發(fā)者通過統(tǒng)一管理門戶將源代碼提交給Gitlab進行版本管理和項目文檔的配置管理后,Jenkins和相關工具插件會持續(xù)對源代碼進行檢查、編譯和測試,這便是持續(xù)集成過程,具體內(nèi)容如下:

        (1)Jenkins可以在Repository URL中配置好Gitlab代碼倉庫地址,使在Gitlab中每次提交后觸發(fā)拉起最新版本的源代碼;

        (2)Jenkins可以通過配置Maven工具插件地址,利用Maven等插件對源代碼進行編譯,實現(xiàn)自動構(gòu)建;

        (3)Jenkins在對源代碼構(gòu)建完畢后,還可以調(diào)用SonarQube[18]、TestNG[19]等工具插件,進行各項自動化檢查。其中,SonarQube用于代碼質(zhì)量管理檢查,TestNG用于代碼自動化測試,包括功能測試、性能測試、安全測試等。利用工具實現(xiàn)自動化檢查,可以有效提高源代碼的規(guī)范性,發(fā)現(xiàn)潛在的代碼缺陷,提高代碼質(zhì)量。

        5.2 基于Docker容器云的持續(xù)交付

        當DevOps運維者通過統(tǒng)一管理門戶對應用鏡像進行Docker容器云資源的配置管理和鏡像部署管理后,Jenkins和Docker Hub會持續(xù)將構(gòu)建好的Docker應用鏡像,自動部署到Docker容器云中相應的測試環(huán)境、預發(fā)環(huán)境和生產(chǎn)環(huán)境,這便是基于Docker容器云的持續(xù)交付過程。同時,DevOps測試者會通過統(tǒng)一管理門戶,指定相關的測試方式,實現(xiàn)自動測試或人工測試。具體內(nèi)容如下:

        (1)Jenkins還可以通過配置Docker容器服務器(Docker Hub)地址,根據(jù)源代碼應用中編寫好的Dockerfile文件[16],自動構(gòu)建應用鏡像;這里,通過執(zhí)行Dockerfile文件中基礎鏡像信息、維護者信息、鏡像操作和容器啟動等4種類型指令,構(gòu)建一個虛擬容器,實現(xiàn)快速構(gòu)建;

        (2)Docker Hub服務器軟件可以利用Terraform開源工具插件[20],根據(jù)應用系統(tǒng)的拓撲、依賴關系等對容器云資源進行配置管理;還可以利用Ansible開源工具插件,根據(jù)不同的部署方式,將應用鏡像自動部署到不同的Docker容器云環(huán)境中;

        (3)當應用鏡像通過預發(fā)環(huán)境中DevOps測試者對其的A/B測試[21]后,DevOps運維者可以指定金絲雀發(fā)布策略[12],實現(xiàn)預發(fā)環(huán)境中最新版本的應用鏡像自動部署到生產(chǎn)環(huán)境中;

        (4)為實現(xiàn)持續(xù)交付過程,Docker Hub會與三種類型容器云環(huán)境中應用鏡像進行多次拉鏡像和推鏡像操作,可在任意環(huán)境實現(xiàn)多個應用系統(tǒng)的快速部署。

        6 系統(tǒng)應用示例

        限于政務數(shù)據(jù)安全要求,在本節(jié)構(gòu)建了大數(shù)據(jù)分析可視化應用的演示示例,用于預先驗證提出的方法。

        基于Python編程語言的數(shù)據(jù)分析可視化系統(tǒng)的交互演示界面如圖7(a)所示。該交互演示界面是以圖形插件的形式在Python3環(huán)境下運行,集成了4種數(shù)據(jù)預處理方法、12種數(shù)據(jù)分析工具和12種數(shù)據(jù)可視化工具。圖7(b)為當選中三維點圖后,該交互界面根據(jù)相關數(shù)據(jù),實時繪制出來的三維點圖。三維點圖所展示的內(nèi)容都是持續(xù)動態(tài)變化,這是通過可以與后端的分析結(jié)果數(shù)據(jù)服務進行數(shù)據(jù)實時交互而得到的。經(jīng)驗證分析,該交互演示界面能夠較好地反映出真實場景中數(shù)據(jù)分析工具子系統(tǒng)和數(shù)據(jù)可視化工具子系統(tǒng)的應用。

        圖7 數(shù)據(jù)分析可視化系統(tǒng)的交互演示界面和三維點圖示例

        7 結(jié)束語

        提出了一種面向DevOps自動開發(fā)部署平臺的政務大數(shù)據(jù)分析可視化系統(tǒng),依托于機器學習算法設計大數(shù)據(jù)分析方法,利用交互式和大屏可視化技術(shù)提出大數(shù)據(jù)可視化方法。該系統(tǒng)已部署在某政府部門,根據(jù)真實場景下系統(tǒng)運行情況及應用結(jié)果表明,提出的大數(shù)據(jù)分析及可視化系統(tǒng),可以通過數(shù)學模型和機器學習幫助客戶挖掘大數(shù)據(jù)更深層次的價值和內(nèi)涵,滿足了前期的政務大數(shù)據(jù)分析與可視化需求。該系統(tǒng)后續(xù)會持續(xù)迭代、開發(fā)、部署,以期更好地服務于客戶的業(yè)務體系。

        猜你喜歡
        源代碼政務容器
        人工智能下復雜軟件源代碼缺陷精準校正
        計算機仿真(2023年8期)2023-09-20 11:23:42
        Different Containers不同的容器
        基于TXL的源代碼插樁技術(shù)研究
        難以置信的事情
        軟件源代碼非公知性司法鑒定方法探析
        政務
        廣東飼料(2016年5期)2016-12-01 03:43:19
        政務
        廣東飼料(2016年3期)2016-12-01 03:43:09
        政務
        廣東飼料(2016年2期)2016-12-01 03:43:04
        政務
        廣東飼料(2016年1期)2016-12-01 03:42:58
        揭秘龍湖產(chǎn)品“源代碼”
        无码熟妇人妻av在线网站| 国产成人精品一区二免费网站| 中文字幕你懂的一区二区| 精品国产日韩一区2区3区 | 久久天天爽夜夜摸| 91久久精品一区二区喷水喷白浆| 少妇又色又爽又高潮在线看| 亚洲国产精品成人综合色| 最近中文av字幕在线中文| 亚洲欧美v国产蜜芽tv| 99精品久久精品一区| 日本护士xxxx视频| 青青草国产成人99久久| 亚洲日本人妻中文字幕| 日本系列中文字幕99| 国产精品r级最新在线观看| 久久狠狠第一麻豆婷婷天天| 性视频毛茸茸女性一区二区| 亚洲一区二区三区特色视频| a级特黄的片子| 毛片无遮挡高清免费久久| 国产成av人在线观看| av天堂午夜精品一区| 亚洲成色www久久网站夜月| 久久青草国产免费观看| 色婷婷在线一区二区三区| 国产卡一卡二卡3卡4乱码| 永久黄网站色视频免费| 男人的天堂av一二三区| 中文字幕乱码在线人妻| 无码人妻av一二区二区三区 | 野狼第一精品社区| 国产精品99精品一区二区三区∴| 亚洲女同高清精品一区二区99 | 亚洲熟女综合色一区二区三区| 日本午夜免费福利视频| 亚洲大尺度动作在线观看一区| 日韩av一区二区不卡| 成人无码α片在线观看不卡| 亚洲偷自拍另类图片二区| 久久婷婷综合激情亚洲狠狠|