婁革偉 劉旭亮 馬濟喬 董淑萍 曹文婷



摘 ?要:針對目前航天試驗設備檢測過程中存在的檢測流程復雜、數據留存不方便、數據資源浪費嚴重等問題,為進一步提高航天試驗設備檢測的效率,基于前后端分離的模式設計和開發了一套航天試驗設備檢測管理系統。該系統支持網絡實時在線流程管理、任務管理、報告管理、數據管理等功能,且依賴于檢測數據支撐具備一定的智能輔助設備選型能力。實際應用情況表明,該系統具有響應速度快、使用簡單便捷、可靠性強、數據存儲性好以及支持智能輔助決策等優點。
關鍵詞:設備檢測;管理系統;前后端分離;輔助決策
中圖分類號:TP315 ? ? 文獻標識碼:A
Abstract: There are still problems in the current aerospace test equipment detection process, such as complex detection process, inconvenient data retention, and serious waste of data resources. In order to further improve the efficiency of aerospace test equipment detection, this paper proposes to design and develop a management system for aerospace test equipment detection based on the separation of front and back ends. The system supports network real-time online process management, task management, report management, data management and other functions. It has certain intelligent auxiliary equipment selection capabilities that rely on the support of test data. Actual application situation shows that the proposed system has the advantages of fast response speed, simple and convenient operation, strong reliability, good data storage and support for intelligent decision-making assistance.
Keywords: equipment detection; management system; separation of front and back ends; decision-making assistance
1 ? 引言(Introduction)
一直以來,航天試驗設備檢測由于涉及安全和保密工作的緣故,整個檢測流程通常都是在線下完成,所有的檢測數據均采用紙質數據留存,導致檢測工作流程復雜,檢測數據留存不方便,數據資源浪費嚴重等問題。
隨著Web、數據可視化、網絡安全等技術的不斷進步,大量原本需要在線下完成的工作都可以遷移到線上來完成,大大提升了工作效率。同時,隨著依賴于數據挖掘和支持決策等算法的發展,工作中積累的檢測數據資源得到了有效利用[1-3]。相較于原本的線下管理,基于前后端分離的航天試驗設備檢測管理具有效率高、檢測流程透明、可靠性強、數據存量大以及支持智能輔助決策等優點。
2 ? 系統設計(System design)
2.1 ? 設計思想
本航天試驗設備檢測管理系統采用前后端分離的思想進行設計。前端基于HTML和JavaScript進行設計,后端邏輯基于SSM框架(Spring,Spring MVC,MyBatis)進行設計,前后端數據交互采用Ajax異步數據交互的方式進行。與常見的JSP+Java的設計方式相比,前端頁面只負責UI展示,不涉及后端的數據邏輯操作,前后端相對隔離,既能保證良好的用戶體驗,又在一定程度上提升了數據安全性。
航天試驗設備的檢測數據通常是一組耦合性較強且具有固定結構的關系型數據,因此相對于日漸流行的MongoDB等非關系型數據庫來說,開源數據庫MySQL更適合作為本系統所采用的數據庫。MySQL支持事務性操作、結構化查詢,且在單次查詢數據量500 條以內,并發線程數100以上的情況下,其性能與MongoDB等非關系型數據庫相當。綜合以上考慮,本系統采用MySQL來設計本地數據庫,數據安全主要考慮對數據傳輸環節進行控制。目前常見的數據傳輸加密算法有對稱加密和非對稱加密。HTTPS協議綜合了兩種加密算法,實現了數據傳輸加密、客戶端身份認證,確保了數據傳輸過程的安全[4-5]。系統服務器采用Tomcat搭建,在搭建服務器時對HTTPS進行配置。系統采用Java JDK 1.8自帶的免費JKS格式證書,生成證書后對Tomcat的server.xml進行設置,如圖1所示。
2.2 ? 系統結構和功能模塊
系統采用J2EE的體系結構進行設計[6-7],項目結構劃分為如下幾個層次:
(1)持久層。主要由若干持久化類組成,持久化類的對象和數據庫中對應數據表的元素保持一致。
(2)數據訪問層。由若干DAO接口和MyBatis映射文件構成。接口名稱統一以DAO.java結尾,且MyBatis文件名稱與DAO接口保持一致。
(3)業務邏輯層。該層由若干service接口和接口的實現類組成,分別以service.java和serviceImpl.java結尾。該層負責實現系統的主要業務邏輯。
(4)Web表現層。該層主要由控制器類、前端頁面、script以及CSS文件等構成??刂破黝愗撠燀撁骓憫c轉發、用戶請求攔截,調用業務邏輯中的相應接口來處理用戶請求,并將處理結果返回給前端頁面。
(5)工具類。主要包括分頁、驗證碼生成等一般工具類。
根據層次化設計思想,本項目的層次結構如圖2所示。
本系統主要實現如下幾大功能模塊:用戶管理、項目管理、任務管理、報告管理、數據管理,具體功能如圖3所示。
3 ? 關鍵技術(Key technology)
3.1 ? SSM+HTML+Ajax前后端分離設計
SSM是目前流行的Web應用開發整合框架。SSM是指Spring、Spring MVC和MyBatis。Spring是一種開源的Java編程框架,與傳統的面向對象編程方式不同的是,它主要通過提前配置好的Bean容器來生成類對象以及對象的方法。所有類對象都通過“第三方”的Bean容器來進行管理維護,對象與對象之間相對解耦。這就使得程序具備較好的可維護性、可復用性,提升了程序開發的效率。Spring MVC是內置于Spring的一個輕量級框架,集成了前端控制器、模型對象、攔截器、校驗器等組件,支持JSP、FreeMarker、HTML等多種視圖技術。MyBatis是一種能夠支持幾乎所有SQL操作的ORM框架。它允許開發者以面向對象編程的思想來使用和操作數據庫,采用XML或者注解的方式進行配置和原始映射,將接口和Java對象映射成數據庫中的記錄。
在傳統的JavaWeb項目中,前端通常采用JSP頁面來開發,頁面上包含較多的JSP標簽和Java表達式,存在敏感數據泄露的風險;同時數據轉發和頁面渲染通常是由后端的控制層來完成的,前后端耦合度很高,為后期的維護帶來了一定程度的困難。采用前后端分離的設計模式,前后端解耦,前端負責靜態資源渲染展示和路由跳轉,后端負責業務邏輯控制和數據操作;前后端數據交互采用Ajax異步交互的方式來進行,前端通過Ajax調用后端接口,然后利用JSON來傳遞數據。前后端分離設計模式的數據交互方式如圖4所示。
前后端分離,前端代碼框架可以采用Vue.js、Node.js、Layui、React等。本系統前端基于Layui進行設計,前端服務器采用Nginx。要進行前后端數據交互,首先要在前端使用Ajax請求數據,具體如下:
$.ajax({
url: "/testAdmin", ?//請求的url地址
contentType: "application/json;charset=UTF-8", ?/*請求體的格式,這里表示數據會以JSON.stringify的格式添加到請求中*/
dataType:"json", ?//數據的格式為json
type:"post", ?//請求方式,可以是post,也可以是get
data:{request:request,reply:reply}, ?//請求的數據
success:function(data){}, ? //定義請求成功后的動作
});
要使得后端接收到前端傳遞的數據,只需要在控制器中提供如下接口代碼即可:
@RequestMapping("/testAdmin")
public void testAdmin (@RequestBody Map
3.2 ? 數據可視化
航天試驗設備檢測管理系統支持歷史數據統計分析顯示、檢測任務趨勢分析預測顯示、檢測任務結構分析顯示以及各類檢測設備比重統計顯示等功能,主要依賴于大量的歷史檢測數據和數據挖掘、模糊預測控制等算法來實現。本系統采用ECharts作為數據可視化插件,ECharts內置了豐富的可視化類型,包括柱狀圖、折線圖、餅圖、散點圖等。通過對ECharts內置屬性的配置來調整圖表形狀,然后利用Ajax將后端傳遞給前端的數據添加到ECharts的屬性中。ECharts開源免費,支持實時顯示,交互性強,且兼容絕大部分的瀏覽器。以圖5為例來展示本系統的可視化界面。
3.3 ? 設備選型評價決策支持
航天試驗設備檢測過程中會產生大量的檢測數據。長期以來,積累下來的這些數據均未能加以有效利用,造成了嚴重的數據資源浪費。隨著數據挖掘技術的不斷成熟,依靠豐富的航天試驗設備檢測數據資源,本系統以遺傳算法為核心通過數據挖掘技術來為航天試驗設備選型提供輔助決策,根據設備檢測結果和設備的實際應用和評價情況,在擬定的一組設備評價標準中尋找出最優的設備評價標準。
遺傳算法是一種模擬自然遺傳選擇和淘汰的生物進化過程的計算模型,于1975 年由美國Michigan大學的J.Holland提出[8-9]。它主要通過將問題建模為自然進化過程來尋找問題的最優解。它具有較好的全局搜索能力,并且能夠根據搜索過程自適應地調整搜索方向。遺傳算法將問題可能潛在的解表征為一個個染色體,這些染色體構成了問題的解集。將這些解集模擬為一個初代的生物種群,按照適者生存和優勝劣汰的自然生存法則,通過遺傳交叉,逐代產生越來越適應環境的優化解。通常為了簡化,將染色體的基因編碼表示為二進制編碼,借助于交叉變異的遺傳學過程,最終產生出最優個體,經過解碼之后作為問題的最優解。
假定有一類在航天試驗過程中使用的斷路器設備,根據可靠度、使用壽命、動作時間、性價比四個要素來對設備進行評價。采取的評價方法是加權平均,各個要素所占的比重因子即所需要尋找的最優評價標準。根據遺傳算法的思想和步驟,設備選型評價標準的自適應學習過程如下:
(1)初始化種群。根據客戶反饋和設備操作使用經驗擬定一組評價標準的假設解,設解的集合為,這里取。
(2)對新種群進行編碼。將假設解的每個元素進行編碼,這里表示成二進制串的形式。比如該型斷路器設備按照可靠度、使用壽命、動作時間、性價比進行評價,各比重因子分別為0.3、0.2、0.35、0.15,(0.3, 0.2, 0.35, 0.15)可以表示為(011110,010100,100011,011001),即相應的為011110010100100011011001。
(3)評估個體的適應度。設計目標評價函數:
其中,為實際被評價為合格的該類斷路器的臺數,為評價標準所對應的合格斷路器臺數。越接近于,則對應的越大,即適應度越高。也就是說,與實際情況越接近的評價標準,其對應的適應度越高。
(4)根據遺傳算法的適者生存原則選擇和淘汰個體。設為被選中為下一代個體的概率:
顯然,越大,即適應度越高的個體被選擇的概率越大。這樣,接近實際情況的設備選型評價標準就被保存了下來。這里用如表1所示的四個評價標準來加以說明。
(5)對被選中的兩個隨機個體進行交叉操作。兩個個體上的每個基因座都以相同的交叉概率進行交換,這里取交叉概率為0.5。不妨假設表1中的1號和3號個體進行交叉,得到新個體如表2所示。
(6)變異。遺傳算法的變異操作是指將個體編碼串中的某一個或多個基因用該編碼串中的其他等位基因來替代,形成新的個體。假設群體中每一代有且僅有一個個體發生變異,且對4號個體的第三位、第九位基因進行變異,形成的新種群如表3所示。
由此可以看出,經過選擇淘汰、變異、交叉等遺傳過程,適應度的平均值和最大值較初代相比都得到了提升。因此可以推斷,經過一代代的遺傳之后,代表斷路器設備評價標準的種群不斷得到優化,最終產生滿足要求的評價標準。
4 ? 系統應用(System applications)
本系統基于Java開發實現,開發環境為Eclipse 2019。系統開發完成后,在航天試驗設備檢測管理工作中進行了應用。系統分為前臺和后臺,前臺供用戶登錄后進行任務委托、任務進度查詢、報告下載等,后臺供系統管理員按照權限對各模塊功能進行管理。
(1)前臺。前臺主要實現用戶登錄注冊、任務委托、報告下載等功能。圖6為開關斷路器設備檢測任務委托信息提交表單。圖7為用戶委托信息列表,包含用戶委托的詳細信息。
(2)后臺。后臺主要實現用戶管理、項目管理、任務管理、報告管理、數據管理等功能。圖8(a)、圖8(b)為任務管理,實現任務委托信息展示、委托接受和拒絕等功能。圖9為報告管理,支持Word版報告的生成和預覽,支持上傳電子版的W報告。圖10為檢測任務數據統計的餅狀圖展示。
5 ? 結論(Conclusion)
基于前后端分離的航天試驗設備檢測管理系統,實現了試驗流程、報告和數據的電子化、網絡化管理,同時支持客戶的遠程在線委托管理、任務管理和在線報告查詢、下載以及打印等功能。系統支持智能輔助決策,依賴大量的歷史檢測數據以及遺傳算法來實現對設備選型的評價。應用情況表明,系統具有效率高、檢測流程透明、可靠性強、數據存量大以及支持智能輔助決策等優點,可應用于航天試驗設備檢測的日常管理工作中。
參考文獻(References)
[1] BALUSAMY B, ABIRAMI R N, KADRY S, et al. Big data visualization[M]. New Jersey: John Wiley & Sons, Ltd, 2021:10-20.
[2] PEIXOTO H, GUIMARES T, SANTOS M F. A new architecture for intelligent clinical decision support for intensive medicine[J]. Procedia Computer Science, 2020, 170:1035-1040.
[3] 陳文偉.決策支持系統及其開發[J].中國計算機用戶,2008? ? ?(25):65.
[4] 吉文杰.基于元數據的數據中心管理系統的設計與實現[D].上海:東華大學,2011.
[5] 宗校軍,沈軼,廖曉昕.基于Web元數據的定題信息采集[J].系統工程與電子技術,2007(02):281-284.
[6] 陳志剛.基于J2EE的生產型企業進銷存管理系統的設計與實現[J].價值工程,2019(34):166-168.
[7] 馬振森.航天二院試驗數據管理系統的設計與實現[D].北京:北京工業大學,2012.
[8] 張丹,左敦穩,焦光明,等.基于粒子群遺傳算法的航天產品裝配順序優化方法[J].兵工學報,2010(9):1228-1234.
[9] 蔣佩華,華冰,黃宇,等.基于遺傳算法的變質量航天器姿態控制方法[J].鄭州大學學報(工學版),2019(04):1-7.
作者簡介:
婁革偉(1990-),男,碩士,工程師.研究領域:航天試驗測試軟件開發,航天試驗設備檢測.本文通訊作者.
劉旭亮(1983-),男,碩士,工程師.研究領域:航天試驗設備檢測.
馬濟喬(1989-),男,碩士,工程師.研究領域:航天試驗設備檢測.
董淑萍(1990-),女,本科,助理工程師.研究領域:航天試驗設備檢測.
曹文婷(1987-),女,本科,工程師.研究領域:航天試驗設備檢測.