祁家禎,梁田雨,楊 馳,陳瓊嬌,郭 歡
( 北京航天長征飛行器研究所,北京 100076)
航天產(chǎn)品作為一項科技含量高、技術(shù)涉及面廣、系統(tǒng)集成性強的高科技系統(tǒng)工程產(chǎn)物,從研發(fā)、出廠到最終交付,涉及多行業(yè)、多部門的通力協(xié)作與支持,整個過程中產(chǎn)生大量、復雜度高、價值高的數(shù)據(jù)。但處于數(shù)字化轉(zhuǎn)型的重要時點,研究所的數(shù)據(jù)采集、應用體系仍在建設(shè)當中,部分關(guān)鍵數(shù)據(jù)統(tǒng)計仍然依靠人工進行。面對更新頻率日益加快、類型日漸多樣、資源項逐漸繁雜的數(shù)據(jù),人工統(tǒng)計不僅費時費力,還容易出錯,無法支持研究所的準確化、精細化管理;同時異構(gòu)系統(tǒng)間的數(shù)據(jù)孤島問題所造成的數(shù)據(jù)無法同步分析問題凸顯,數(shù)據(jù)匯總分析能力不足。
同時,研究所作為涉密單位,數(shù)據(jù)分存于互聯(lián)網(wǎng)與涉密內(nèi)網(wǎng),互聯(lián)網(wǎng)數(shù)據(jù)采集存在天然物理隔離,無法實現(xiàn)自動采集,只能通過擺渡手段接入內(nèi)網(wǎng)。其次數(shù)據(jù)本身同樣具有涉密性,存在知悉范圍限制,研究所使用作為身份識別的CA USB-key只能在IE8及以下版本瀏覽器進行驗證通行,而現(xiàn)在多數(shù)互聯(lián)網(wǎng)前端框架已經(jīng)拋棄IE8及以下版本瀏覽器的實現(xiàn)。為了保證數(shù)據(jù)可視化的友好性、實用性,需要尋找技術(shù)途徑解決跨瀏覽器進行駕駛艙展示的問題。
根據(jù)上述現(xiàn)狀分析,此平臺建設(shè)需要解決以下四項具體問題。
1)研究所缺少可以集中數(shù)據(jù)并提供駕駛艙展示服務(wù)的平臺。
2)由于運行在互聯(lián)網(wǎng)系統(tǒng)的數(shù)據(jù)同樣具有統(tǒng)計價值,但是互聯(lián)網(wǎng)數(shù)據(jù)進入內(nèi)網(wǎng)系統(tǒng)必須通過擺渡手段,所有該平臺不僅需要有從內(nèi)網(wǎng)系統(tǒng)取數(shù)的功能,同時具備解析處理來自互聯(lián)網(wǎng)的結(jié)構(gòu)化數(shù)據(jù)的功能。
3)由于部分數(shù)據(jù)的知悉范圍不一致且用于識別CA USB-key的ActiveX控件已被當前可運行較新主流前端框架的瀏覽器所拋棄,所以該平臺需要從擁有IE內(nèi)核的瀏覽器進行用戶校驗后,在擁有其他較新內(nèi)核的瀏覽器進行數(shù)據(jù)展示與權(quán)限控制。
4)出于安全性考慮,部分涉密內(nèi)網(wǎng)計算機配置較為保守,在保證數(shù)據(jù)展示內(nèi)容需求的基礎(chǔ)上要做出相關(guān)效果優(yōu)化,保證數(shù)據(jù)展示的流暢性,增強用戶友好性。
解決上述問題,才能在當前研究所物理環(huán)境中構(gòu)建符合現(xiàn)狀的駕駛艙平臺。
貫徹上級單位“實現(xiàn)全價值鏈業(yè)務(wù)的數(shù)據(jù)管理,面向各級管理者提供全局動態(tài)掌控、智能預警、精準管控的管理駕駛艙服務(wù)”的相關(guān)指示,該項目旨在構(gòu)建可以為管理者統(tǒng)籌規(guī)劃、業(yè)務(wù)精準管控提供幫助的數(shù)據(jù)駕駛艙平臺,以十四所流程平臺作為平臺入口,用以Spring+ SpringMVC + Mybaits + SQLServer為后端架構(gòu),與以Bootstrap框架為基礎(chǔ)、Echarts、Layui、Sweatalert等插件接入的前端架構(gòu)相結(jié)合的方式,獨立自主的開發(fā)“鳴鏑數(shù)閣”數(shù)據(jù)可視化管理駕駛艙平臺。以精細化管理理念為指導,聚焦數(shù)據(jù)集中展示與可視化“駕駛艙”體驗,從數(shù)據(jù)采集、數(shù)據(jù)存儲、數(shù)據(jù)處理、數(shù)據(jù)展示等方面實現(xiàn)數(shù)據(jù)全生命周期的管控與利用,為決策層提供基于量化數(shù)據(jù)和圖形效果的決策輔助能力,為后續(xù)實現(xiàn)全價值鏈的動態(tài)數(shù)據(jù)智能預警與精準管控能力建設(shè)奠定堅實基礎(chǔ)。
按照上述思路以及所識別到的問題,該項目從數(shù)據(jù)采集到數(shù)據(jù)展示的業(yè)務(wù)流程圖如圖1所示。
圖1 “鳴鏑數(shù)閣”數(shù)據(jù)工作流程圖
本項目主要涉及經(jīng)營、黨群、人力、資產(chǎn)四大主題域數(shù)據(jù),其來源各不相同。經(jīng)營主題域數(shù)據(jù)是由員工手工整理與系統(tǒng)產(chǎn)生結(jié)合而成的,涉及立項競標、科研生產(chǎn)任務(wù)、質(zhì)量問題、合同履約、經(jīng)濟五大領(lǐng)域共60余項的結(jié)構(gòu)化數(shù)據(jù);黨員數(shù)據(jù)是由外網(wǎng)黨建云平臺生成的包含黨員信息20余項的結(jié)構(gòu)化數(shù)據(jù);人力數(shù)據(jù)是有上級單位系統(tǒng)生成包含人員信息10余項的結(jié)構(gòu)化數(shù)據(jù);資產(chǎn)數(shù)據(jù)是由所內(nèi)固定資產(chǎn)系統(tǒng)生產(chǎn)的包含資產(chǎn)信息30余項的結(jié)構(gòu)化數(shù)據(jù)。其中,資產(chǎn)數(shù)據(jù)可以直接從資產(chǎn)平臺通過Restful接口進行抽取。
第一步,數(shù)據(jù)采集。數(shù)據(jù)采集業(yè)務(wù)分為結(jié)構(gòu)化數(shù)據(jù)上傳與解析、定時數(shù)據(jù)抽取與解析。無法定時從系統(tǒng)抽取的數(shù)據(jù),如經(jīng)營、黨員、人力數(shù)據(jù)需要業(yè)務(wù)管理員按照規(guī)定好的時間間隔上傳可解析的結(jié)構(gòu)化數(shù)據(jù)。
第二步,數(shù)據(jù)存儲。從第一步而來的數(shù)據(jù)將通過部分異常值處理或者數(shù)據(jù)轉(zhuǎn)換之后存儲到業(yè)務(wù)數(shù)據(jù)庫之中。異常值處理是對于某些特定字段出現(xiàn)極端偏離值進行的修正手段,如年齡字段如果出現(xiàn)小于零或者大于一百時將被修正為平均值;數(shù)據(jù)轉(zhuǎn)換是對于某些特定字段進行拆封轉(zhuǎn)換等工作,如將部分包含多個信息的長字符串分解為多個字段信息加以保存。
第三步,數(shù)據(jù)計算。第二步所存好的數(shù)據(jù)大部分只是原始數(shù)據(jù),不能直接用于展示。且部分數(shù)據(jù)由于數(shù)據(jù)量較大,為提高系統(tǒng)響應速度,系統(tǒng)在數(shù)據(jù)上傳完或者數(shù)據(jù)抽取結(jié)束后會新啟動一條線程去做計算操作,如人力數(shù)據(jù)中所要展示的年齡分布,系統(tǒng)需要首先根據(jù)出生年月日裁剪出出生年份,與當前時間年份算出人員年齡,再根據(jù)設(shè)定好的年齡區(qū)間計算出各區(qū)間所含人員數(shù),最終用于年齡條形圖分布圖顯示。同時,部分數(shù)據(jù)在上傳后需要其他數(shù)據(jù)源數(shù)據(jù)做匹配。如作為人力數(shù)據(jù)子集的黨員數(shù)據(jù)在做職稱計算時需要人力數(shù)據(jù)的職稱項作支撐,黨員數(shù)據(jù)上傳后,如果已上傳近一月內(nèi)的人力數(shù)據(jù)則會根據(jù)人力數(shù)據(jù)計算職稱信息,否則仍使用自身所攜帶的職稱項做計算。
第四步,數(shù)據(jù)展示。前面三步所做的工作都是為了數(shù)據(jù)駕駛艙展示服務(wù)做鋪墊。但數(shù)據(jù)本身同樣具有涉密性,存在知悉范圍限制,十四所使用作為身份識別的CA USB-key只能在IE8及以下版本瀏覽器進行驗證通行,而現(xiàn)在多數(shù)互聯(lián)網(wǎng)前端框架已經(jīng)拋棄IE8及以下版本瀏覽器的實現(xiàn)。為了項目的友好性與實用性,所以需要本系統(tǒng)從IE8瀏覽器跳轉(zhuǎn)到主流Chrome瀏覽器當中,并且可以保留用戶信息用作身份鑒別。本項目結(jié)合現(xiàn)實情況設(shè)計實現(xiàn)如下流程進行權(quán)限控制,如圖2所示。
圖2 權(quán)限控制工作流程圖
1)系統(tǒng)以運行環(huán)境為IE瀏覽器的所流程平臺作為入口,進行了第一道權(quán)限控制。
2)系統(tǒng)在入口頁面會獲取USB-key的驗證信息后,調(diào)用IE內(nèi)核的ActiveX控件喚醒Chrome瀏覽器。
3)系統(tǒng)將攜帶用戶的驗證信息訪問系統(tǒng)后臺進行二次權(quán)限校驗。
4)若校驗通過則返回駕駛艙界面,并且將用戶的Session信息填寫到瀏覽器的Cookie中,部分需要驗證信息才能查看詳細數(shù)據(jù)的模塊則會在請求時驗證Cookie中的信息所代表的用戶是否可以查看該模塊,保證數(shù)據(jù)的知悉范圍不擴大;若校驗失敗則返回error畫面。二次校驗的過程可以防止直接復制URL地址無法查看數(shù)據(jù),同樣保證數(shù)據(jù)的知悉范圍不擴大。
項目選用了以Bootstrap框架為整體、穿插使用Echarts、Layui、Sweatalert等框架的方式構(gòu)建駕駛艙前端,確保了界面的友好性。
根據(jù)上述工作流程以及試點的四個主題域數(shù)據(jù)形成如圖3所示的功能結(jié)構(gòu)圖。
圖3 “鳴鏑數(shù)閣”功能結(jié)構(gòu)圖
“鳴鏑數(shù)閣”數(shù)據(jù)駕駛艙由管理端與展示端組成,根據(jù)現(xiàn)在的四個主題域劃分,管理端包括經(jīng)濟數(shù)據(jù)上傳、黨員數(shù)據(jù)上傳、人力數(shù)據(jù)上傳、資產(chǎn)數(shù)據(jù)上傳等模塊,展示端包括身份認證、經(jīng)營駕駛艙、黨員駕駛艙、人力駕駛艙、資產(chǎn)駕駛艙等模塊。
項目建設(shè)按照數(shù)據(jù)主題域類型,分別介紹黨群、人力、資產(chǎn)、經(jīng)營的駕駛艙實施效果。
黨員數(shù)據(jù)駕駛艙的功能如圖4所示。
圖4 黨員駕駛艙功能結(jié)構(gòu)圖
黨員數(shù)據(jù)駕駛艙上傳模塊分為黨員基礎(chǔ)數(shù)據(jù)上傳模塊與黨支部人數(shù)上傳模塊。黨員基礎(chǔ)數(shù)據(jù)上傳模塊用于上傳來自“航天一院黨建云”導出的結(jié)構(gòu)化數(shù)據(jù),該數(shù)據(jù)包含序號、姓名、所屬黨委、所屬黨組織、手機號、公民身份證號、性別和民族等21個字段。由于“航天一院黨建云”導出的結(jié)構(gòu)化數(shù)據(jù)中的所屬黨組織數(shù)據(jù)更新速度跟不上實際情況,所以構(gòu)建了黨支部人數(shù)上傳模塊用于上傳各個黨支部(黨總支)的最新名稱以及人數(shù)。
黨員數(shù)據(jù)駕駛艙展示模塊根據(jù)所上傳的數(shù)據(jù)計算出統(tǒng)計信息進行展示,包括黨員基礎(chǔ)信息、黨員男女比例、黨員民族比例、黨員學歷分布、各支部(黨總支)分布、黨員職稱分布、黨員年齡分布和黨齡分布等模塊。其中黨員基礎(chǔ)信息模塊包括在職黨員總數(shù)、預備黨員數(shù)、轉(zhuǎn)入黨員、轉(zhuǎn)出黨員,轉(zhuǎn)入黨員與轉(zhuǎn)出黨員根據(jù)上一月最后一次導入的數(shù)據(jù)作對比計算得出;另外在職稱分布模塊可以點擊工人查看不同類型的工人分布。
人力數(shù)據(jù)駕駛艙的功能如圖5所示。
圖5 人力駕駛艙功能結(jié)構(gòu)圖
人力數(shù)據(jù)駕駛艙上傳模塊僅包含人力基礎(chǔ)數(shù)據(jù)上傳模塊。該模塊用于上傳來自上級人力系統(tǒng)導出的結(jié)構(gòu)化數(shù)據(jù),該數(shù)據(jù)包含序號、姓名、性別、出生日期、部門和專業(yè)技術(shù)職務(wù)級別等10個字段。
人力數(shù)據(jù)駕駛艙展示模塊根據(jù)所上傳的數(shù)據(jù)計算出統(tǒng)計信息進行展示,包括人員基礎(chǔ)數(shù)據(jù)、部門分布、職稱分布與高級職稱比例、年齡分布與平均年齡、年度入職/離職情況、年度組織到東/退休人員情況、性別比例、學歷分布和民族比例等模塊。
資產(chǎn)數(shù)據(jù)駕駛艙的功能如圖6所示。
圖6 資產(chǎn)駕駛艙功能結(jié)構(gòu)圖
資產(chǎn)數(shù)據(jù)駕駛艙上傳模塊僅包含資產(chǎn)基礎(chǔ)定時抽取模塊。該模塊會定時從固定資產(chǎn)系統(tǒng)抽取JSON的結(jié)構(gòu)化數(shù)據(jù),該數(shù)據(jù)包括資產(chǎn)編號、名稱、型號、出廠編號、規(guī)格、生產(chǎn)廠家、原值和出廠日期等38個字段。
資產(chǎn)數(shù)據(jù)駕駛艙展示模塊根據(jù)所抽取的數(shù)據(jù)計算出統(tǒng)計信息進行展示,包括固定資產(chǎn)原值總值、固定資產(chǎn)基礎(chǔ)數(shù)值、設(shè)備儀器屬性分類、占用情況、設(shè)備儀器財務(wù)分類、設(shè)備儀器啟用時間、原值分布和軍工冠軍設(shè)備分類等模塊。
經(jīng)營數(shù)據(jù)駕駛艙的功能如圖7所示。
經(jīng)營數(shù)據(jù)駕駛艙上傳模塊包括年初數(shù)據(jù)上傳、立項競標數(shù)據(jù)上傳、科研生產(chǎn)任務(wù)數(shù)據(jù)上傳、質(zhì)量問題數(shù)據(jù)上傳、合同履約情況上傳、經(jīng)濟數(shù)據(jù)上傳、權(quán)限查看數(shù)據(jù)上傳等模塊,共涉及60余個字段。其中年初數(shù)據(jù)上傳指部分年初目標值上傳;權(quán)限查看數(shù)據(jù)上傳模塊指部分數(shù)據(jù)可查看人群設(shè)置。
經(jīng)營數(shù)據(jù)駕駛艙展示模塊根據(jù)上傳的數(shù)據(jù)計算出統(tǒng)計信息進行展示,包括立項/競標、科研生產(chǎn)任務(wù)、收入與利潤、質(zhì)量問題情況、合同履約情況、軍品型號、預研和產(chǎn)業(yè)領(lǐng)域等模塊。其中立項/競標模塊包括創(chuàng)新、型號兩個類型數(shù)據(jù)展示;科研生產(chǎn)任務(wù)包括集團考核計劃、一級計劃、二級計劃相關(guān)數(shù)據(jù)展示;軍品型號、預研、產(chǎn)業(yè)領(lǐng)域模塊設(shè)計收入、利潤、新簽合同、到款等類型相關(guān)數(shù)據(jù)展示。
圖7 經(jīng)營駕駛艙功能結(jié)構(gòu)圖
對標流程精細化體系建設(shè)與數(shù)字軍工的要求,該項目針對人力、黨員、資產(chǎn)、經(jīng)營數(shù)據(jù)所面臨的更新頻率高、數(shù)據(jù)類型多、數(shù)據(jù)資源項繁雜、異構(gòu)系統(tǒng)數(shù)據(jù)孤島的問題,充分梳理人力、黨群、資產(chǎn)專業(yè)的四大主題域一百三十余項數(shù)據(jù),以精細化管理理念為指導,聚焦數(shù)據(jù)集中展示與可視化“駕駛艙”體驗。項目為后續(xù)實現(xiàn)全價值鏈的動態(tài)數(shù)據(jù)智能預警與精準管控能力建設(shè)奠定堅實基礎(chǔ)。該項目聚焦企業(yè)管理數(shù)據(jù)的精細化管理目標,以可視化展示體驗及標準數(shù)據(jù)接口為基礎(chǔ),為企業(yè)決策層提供可定制的數(shù)據(jù)展示平臺。項目成果具有創(chuàng)新性,具有良好的推廣價值與效益。
相對而言,該項目對比國內(nèi)外成熟駕駛艙產(chǎn)品,更貼近于所內(nèi)管理要求與運營現(xiàn)狀。不僅符合軍工行業(yè)的數(shù)據(jù)保密要求,同時在數(shù)據(jù)的解析與顯示上保有極大的靈活性,可以保證企業(yè)高層對于數(shù)據(jù)各類定制化需求。