999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MVC架構的通用型數據處理軟件的設計與實現

2023-04-03 14:29:10崔北鵬張寶欣關凱元李坤龍
計算機測量與控制 2023年3期
關鍵詞:數據處理關聯數據庫

崔北鵬,張寶欣,關凱元,李坤龍,陳 昕

(上海機電工程研究所,上海 201109)

0 引言

科研生產各環節中產生的原始數據通過傳感器被遙測終端接收到的實時數據,反饋參試設備在各類試驗的狀態,是科研決策分析的重要數據依據,屬于高成本價值數據資源;但是原始數據不僅數量龐大而且十分耗費存儲空間,單個原始文件一般在百兆字節左右存儲空間,單機版解析軟件生成的各參數文件一般在一至十幾字節存儲空間;該類數據一般不能夠直接用于科研分析,需要經過一定的處理和解析;然而,隨著型號業務的拓展、產品系列化快速發展、型號研制的數量激增、歷史試驗數據分析利用的需求越來越強烈,不同型號、不同階段、不同設備的數據文件若采用不同的軟件進行處理,將會大大增加軟件版本的數量,這樣的處理方式給軟件使用、管理和維護帶來了極大的困難;我們迫切需要一種通用化的、容易維護的、簡捷快速的、靈活部署的軟件以適應當今和未來日趨緊迫數據處理任務形勢。

雖然各類軟件根據相同的通信協議進行編碼,但是由于不同軟件解包方法、處理步驟和實現平臺均不相同,為了處理各個設備采集到的數據,不僅需要部署不同的使用環境,而且需要協調多個單位和部門的工作,同時,也增加了軟件發布和維護的工作量。當前原始數據數據處理軟件常見問題如下:

1)現有原始數據及解析數據庫沒有統一有效的管理和規范,歷史數據不能正確的還原和解析;

2)沒有統一的數據分析工具,存在分析對象不對等、數據溯源不便捷等情況;

3)各類產品數據處理軟件通用性差,軟件功能簡單,只能完成基礎的參數曲線顯示和數據文本輸出,不具備參數相關性計算;

4)原始數據較為分散且缺失相應的分析工具,設計師無法便捷地對多次試驗、不同產品的同類參數數據進行橫向、縱向比對分析,數據共享性差;

5)缺乏數據處理分析手段,不能充分挖掘數據資源的價值;

6)數據顯示耗時較長,不能滿足設計師大批量、高頻次的數據查詢及分析需求。

1 MVC架構及原理

MVC(即model-view-controller)是Xerox PARC在20世紀80年代為編程語言Smalltalk-80發明的一種軟件設計模式,提供了一種按功能對軟件進行模塊劃分的方法。早期的MVC可以單獨開發出數據庫訪問系統,即在Model層就包含有數據庫的讀寫操作。這種模式最大的優勢就是可以為一個模型在運行時同時建立和使用多個視圖,變化—傳播機制可以確保所有相關的視圖及時得到模型數據變化,從而使所有關聯的視圖和控制器做到行為同步[1]。

MVC架構的含義是將一個軟件分為模型層、視圖層和控制層3個相對獨立的層次[2];模型層主要包含數據處理的具體邏輯及算法、用于數據處理的類及方法,視圖層主要包括數據處理結果的顯示、接收及響應用戶的不同請求,控制層主要用于控制軟件的整體運行[3-4],從視圖層獲知用戶的需求,送入模型層解算,再將解算的結果反饋在視圖層中[5-8];總之,模型層是軟件的運算中心,視圖層是軟件的交互中心,控制層是軟件的總控中心,各層次之間的關系見圖1。

圖1 MVC架構

通用數據處理軟件采用MVC架構,以控制層Controller為軟件核心,負責調配視圖層View和模型層Model以實現軟件的各個功能。其中視圖層主要包含軟件界面和數據顯示模塊;模型層主要包括對數據文件的建模,文件的參數數據庫、特性關系數據庫的建模(數據庫并非唯一選項,亦可采用其他配置方式)以及數據處理模塊的建模;控制層主要包括對上述的模塊進行有效地調度和資源分配,以及為提升用戶體驗所必須的處理過程的時間上的合理配置。

通過MVC架構可以將軟件的功能最大限度的解耦開來,每個層級專注于自身的任務,針對不同的場景,最大程度的復用軟件的各個層級,比如視圖層可以使用C#、QT、HTML等不同環境開發,模型層不需要任何改變,更重要的是,不同型號的原始數據,通過整理與總結,可以化歸為幾種模型進行解算,而不需要改變視圖層,如此,大大提高了軟件的擴展性、降低了維護的成本[9-14]。

2 系統設計

2.1 總體設計

雖然科研生產各環節中產生的原始數據量較大,但是各類產品測量的參數類別、參數特性等共通性較大,具有較好的參考價值和借鑒性,采用MVC架構可以高效的處理原始數據、管理解析數據庫和靈活的顯示交互。

基于MVC架構,可以將模型層和視圖層繼續細分為翻譯器、數據庫連接器、關聯器和繪圖器,如圖2所示。從用戶的角度看,關聯器是軟件的輸入,繪圖器是輸出的結果,進一步的,關聯器主要用于接受用戶的關聯指令,明確用戶需要分析哪些數據及需要的輸出形式,繪圖器將分析的結果以圖片的形式顯示出來,同時,響應用戶對顯示曲線的縮放、對比、標記、統計等操作。

圖2 總體架構

模型層是軟件的運算中心,除了一些基礎算法與數據結構,它的核心是種類多樣的翻譯器與數據庫連接器。數據庫連接器是配合翻譯器工作的模塊,它可以針對不同的翻譯器,找到對應的數據庫,并正確的提取其中的信息,接著,翻譯器借助數據庫中的信息對原始數據進行拆分、還原,得到用戶需要的結果。

控制層是軟件的中樞,它從關聯器中得到了用戶的需求,送入對應的翻譯器進行解算,解算的參數從數據庫連接器中獲取,最后將解算的結果反饋在繪圖器中,如此,在用戶、原始數據、數據庫3個元素之間搭建起了結構清晰、適應性廣、擴展性強的軟件橋梁[15-16]。

2.2 翻譯器設計

根據目前的數據來源,翻譯器主要分為422翻譯器、遙測翻譯器、記錄儀翻譯器、CAN翻譯器等類型,如圖3所示。翻譯器主要實現了數據預處理(含時碼修正、數據剔野等功能)、模擬量還原、數字量還原、解析結果標準化輸出等功能,可以適應不同來源的數據,同種來源的數據若處理方法略有區別,可以通過繼承方法,大大減少軟件開發的代碼量,提高代碼的復用性及維護的速度。

圖3 翻譯器類圖

針對數據來源多樣、硬件資源差異較大的情況,采用抽象類的技術進行翻譯器的設計,根據422翻譯器、遙測翻譯器、記錄儀翻譯器、CAN翻譯器等具體翻譯器抽象出基礎翻譯器;基礎翻譯器主要實現4個功能:數據提取、數據清洗、數據還原和標準輸出;其中,數據提取是基礎翻譯器的一個抽象的方法,具體實現在各類子翻譯器中,提取好數據利用基礎翻譯器中通用方法進行數據清洗和數據還原,最后再根據用戶需求進行標準化輸出。

2.3 數據庫連接器設計

為了覆蓋科研在用的數據庫類型,主要設計了ACCESS數據庫連接器、MYSQL數據庫連接器和XML數據庫連接器等,如圖4所示。

圖4 數據庫連接器類圖

在數據庫連接器的設計過程中主要采用了標準數據庫技術,通過對模型層的進一步分析,可以將模型層進一步細分為解析方法和解析參數兩大類,針對不同型號、不同階段、不同設備的原始數據,通過設計統一的標準數據庫,可以將模型層所需的解析參數細致的區分并存儲下來,這樣一來,在解析方法完備的情況下,只需根據通信協議更新數據庫,便可以實現軟件的快速維護。

標準數據庫主要分為7個部分如表1所示;其中,設備表包含原始數據所含的設備類別,浮動波道幀格式表定義了所有設備浮動波道的幀格式,浮動波道占位表羅列了所有設備浮動波道在主幀中的位置,數字量參數表和模擬量參數表分別存儲了數字量與模擬量的還原系數、設備類型、數據類型等一系列信息,幀結構表存儲了主幀幀格式、碼速率等信息,幀標識表羅列了所有幀標識的類型和定義,用于解析具有分時復用功能的復雜數據幀。設備收錄下來的幀數據會存儲在.dat 文件中,格式基本按照遙測設備研制任務書中關于子幀波道表的描述[17]。

表1 標準數據庫

2.4 關聯器設計

通過對用戶的需求進行深入分析,對于原始數據,科研人員主要有數據檢查、圖線查看、批量輸出等需求,進一步的,用戶既需要軟件具有原始數據品質檢查的功能,又需要針對部分參數能夠快速的繪制曲線進行分析,也需要軟件能夠一鍵化、標準化輸出全部處理后的數據,方便輸入其他平臺進行更加深入的分析。

為了滿足用戶的3種需求,關聯器實現了設置關聯、預處理、批量輸出、曲線顯示4個主要功能,其中,設置關聯明確原始數據和翻譯器的對應關系,預處理實現了原始數據的零點修正、時碼修正和數據剔野,同時生成預處理報告,詳細分析了數據的品質供用戶參考,批量輸出則完成了選定數據的一鍵解析,根據用戶的選擇生成對應的TXT、CSV、DAT等格式的文件,最后,曲線顯示完成了參數的快速查詢及曲線繪制。

為了后續型號、階段提供可擴展配置的接口,在關聯器的設計過程中采用了反射技術。

反射是以自述方式表示系統的狀態和行為。通常一個反射系統由兩個邏輯空間組成基空間和元空間,其中基空間是被反射的系統運行的空間,元空間是對它進行反射的空間,通過“具體化”,系統從基空間映射到元空間,通過“反射”,系統從元空間映射到基空間,利用反射技術在運行時重新配置系統的行為可以實現系統運行時對環境和需求變化的自適應[18]。

模型層解析方法的構建是一個不斷完善迭代的過程,隨著設備的新研、技術的更新,軟件可以快速的繼承或者新研更多的解析方法,而針對不同來源的原始數據,通過反射技術,可以從程序外部注入部分代碼并靈活的配置軟件所需要使用的解析方法,這樣一來,和標準數據庫組合使用,就實現了軟件的型號通用性、階段通用性以及設備通用性,即一個軟件適應多個型號、多個階段、多種設備,并為后續型號、后續階段、新研設備留有擴展配置接口。

2.5 繪圖器設計

繪圖器主要用于選定參數的曲線繪制,同時滿足用戶的曲線交互分析需求,基于事件響應互鎖結構和數據壓縮顯示技術,主要設計了鼠標滾輪縮放、鼠標拖曳放大、鼠標懸停、鼠標捕捉、自動幅值、數據統計、屏幕截圖、屏幕標記、屏幕數據截取等功能,功能全面,操作靈活,響應迅速,極大的提高了軟件的交互性及數據分析的效率。

由于原始數據的數量龐大,現有數據處理軟件的顯示方法響應很慢,不能滿足各專業設計師的使用需求,所以需要一種數據壓縮算法進行數據的高效交互,現有的數據壓縮算法主要有:王鶴等人提出基于分布式壓縮感知和邊緣計算的配電網電能質量數據壓縮存儲方法 ,利用同步正交匹配追蹤算法進行配電網電能質量數據壓縮,通過K-SVD字典學習算法對配電網測量值進行分析,實現電能質量數據的高精度壓縮;趙會群等人提出基于密度劃分的數據存儲方法,通過密度區域劃分算法降低高度重復數據的冗余度,利用縮LZW算法有效減少數據存儲空間;常會麗等人提出的基于多維矢量矩陣的MVC多維數據壓縮方法通過壓縮編碼處理變化后的系數矩陣數據,提升多維數據壓縮效果;常會麗等人還提出的基于關系數據庫的多維數據存儲方法,是利用關系數據庫存儲壓縮后的多維數據[19]。

參考研究人員的成果,結合原始數據的特征,在繪圖器的設計過程中創造性的采用了數據壓縮顯示技術,大大提高了顯示的效率,提升了人機交互的效果。

如果直接進行折線圖的繪制,由于實時采集的數據量很大,參數分離解析后,可能會有百萬級別的數據量,這將給軟件前端帶來很大壓力,顯示刷新的速度會非常慢;經過分析可以發現,實際上真正參與繪圖的點數不會超過顯示的分辨率,進一步的,往往與顯示的橫向分辨率呈正相關,故當點集密度大于顯示分辨率時,按照像素排序進行繪圖,反之,按照點集排序進行繪圖,由此,采用這種基于像素的圖像壓縮顯示技術,可以大幅增進了視圖層顯示刷新的速度,也就是說,軟件的反應速度、人機交互的效率得到了提高[20-22]。

3 功能實現與驗證

3.1 總體功能實現與驗證

通用型數據處理軟件主要在C#平臺上開發實現,通過接口定義,明確了控制層、模型層和視圖層之間傳輸的數據,利用工廠模式,在對應的接口下定義了控制層、模型層和視圖層的父類,具體的邏輯與流程,通過繼承與重寫的方法,在子類中詳細實現。

軟件工作流程是:首先進行設置關聯,添加數據庫和對應的原始數據文件;其次進行預處理,對主幀序列進行校驗、清洗和補正,并將異步嵌入的數字量幀從主幀中分離出來,并從主幀中提取對應時刻的時間;接著選擇需要顯示的參數;最后進行曲線繪制,在畫圖之前,程序會自動進行二次分離,將需要顯示的參數從對應數字量幀中分離出來,并將提取對應時刻的時間;畫圖完成后,可以根據需要選擇文本、圖像等格式的輸出,用于數據的進一步提煉與分析。

軟件開發完成即在多個型號中使用,通過型號的具體運用很好的驗證了軟件的可用性與可靠性;其次,采用新的設計提高了數據解析的效率,增快了科研任務的進度;同時,采用統一的數據處理軟件,大大減少了軟件及數據庫的維護時間;此外,在遇到實際使用的問題時,可以快速的進行舉一反三,軟件的健壯性得到很大的提高。

3.2 關聯器功能實現與驗證

關聯器主要利用C#的WinForm平臺設計實現,選用了選項卡、按鈕、文本框、數值框、復選框、樹形顯示等前端控件,設計了按鈕單擊事件、樹形顯示單雙擊事件、復選框數值變化事件、選項卡切換事件等用戶響應,原始數據和翻譯器的對應關系存儲在樹形結構中,既方便增減與遍歷,又方便存儲與讀取,關聯器的界面如圖5所示。

圖5 關聯器界面

關聯器開發完成后采用遍歷方法對其功能進行驗證,首先,針對一組數據,選擇不同的排序方法、繪制方法和輸出選項,進行圖線顯示與輸出,顯示結果、輸出內容與預先設置符合,測試結果合格;其次,對快速檢索欄進行測試,輸入不同的關鍵字,參數列表可以快速有效的進行篩選顯示,刪除關鍵字,參數列表立即恢復初始狀態,測試結果合格;最后,對添加刪除參數進行測試,選擇兩組數據不少于10項的模擬量和數字量參數,分別通過按鈕點擊和鼠標控制兩種方式進行操作,參數可以正常添加和刪除,測試結果合格。

用戶打開軟件后,首先進入設置關聯選項卡,添加數據庫與原始數據,添加完成后可以直接進入快捷功能選項卡,這里可以進行原始數據的批量處理,在預處理選項卡中,可以檢查原始數據的品質,并得到預處理報告,原始數據品質檢查合格后,便能在參數選擇選項卡中,查詢并選中部分參數,點擊曲線顯示按鈕后,關聯器界面自動隱藏,繪圖器界面彈出并繪制對應的圖線,關聯器工作流程見圖6。

圖6 關聯器工作流程

3.3 繪圖器功能實現與驗證

繪圖器主要通過C#的WinForm平臺和GDI+繪圖方法設計實現,關聯器接收到圖線顯示指令后,在控制層的指揮下,先利用模型層解析原始數據,再將待顯示數據顯示在繪圖器中,繪圖器則用數據壓縮顯示算法,快速的將圖線顯示在界面上,繪圖器界面如圖7所示。

圖7 繪圖器界面

繪圖器有豐富的人機交互功能,方便查看分析曲線,如果科研人員需要縮放功能,既可以通過鼠標滾輪快速橫向縮放、也可以使用鼠標拖曳橫向或縱向放大,此外,右鍵菜單中的自動幅值可以根據曲線的幅值范圍,自動將圖像的縱軸改變到二八比例,節省人員操作時間,如果用戶需要獲取關鍵點的信息,鼠標捕捉可以抓取曲線上離鼠標指針最近的點,屏幕標記可以記錄并和其他點進行比較,最后,使用者還可以通過屏幕截圖或數據截取,輸出當前圖像和點集,用于報告的編寫或深度數據分析。

繪圖器開發完成后采用兩組不同時間的長航時的飛行數據進行驗證,首先,在同一組數據中分別選擇不少于10項的模擬量與各路數字量參數,依次進行顯示驗證,驗證結果合格,可以正常快速顯示;其次,在同一組數據中交叉選擇不同通道的數字量及模擬量參數,驗證結果合格;接著,隨機選擇兩組數據的模擬量及數字量參數進行復合顯示,驗證結果合格;最后,軟測人員選擇不少于20項的模擬量和數字量參數,通過快速移動鼠標及滾輪等操作進行壓力測試,顯示情況正常,沒有出現死機、藍屏等情況,同時曲線刷新迅速且正常,驗證結果合格。

4 結束語

基于MVC架構的通用型數據處理軟件開發完成后,已成功運用在多個型號任務中。通用數據處理軟件,采用了統一的處理框架,將復雜多變的數據處理流程化繁為簡。同時,模塊化的程序架構也充分保證了對不同的數據有相應的處理方式,并且通過軟件反射技術能夠進行迭代升級。一方面,解決了多重版本所帶來的問題,有效降低了軟件維護成本;另一方面,也使得數據處理的針對性更強,更加細致,能夠從更深層次挖掘數據所包含的意義。科研人員利用該平臺,快速的處理與分析復雜多源的原始數據,極大的提高了數據判讀的效率和型號研制的進度,提升了原始數據的效能,豐富了設計師的分析手段,為他們提供了更加全面和多維度的數據視角,并為大數據技術在數據處理與分析方面的運用做好鋪墊準備。同時,運維人員受益于軟件的通用性和易維護性,節省了大量的人力和物力,維護成本大大降低,更新速度顯著提高,從而,進一步的支撐了型號的快速推進,助力型號研制迭代升級。

猜你喜歡
數據處理關聯數據庫
認知診斷缺失數據處理方法的比較:零替換、多重插補與極大似然估計法*
心理學報(2022年4期)2022-04-12 07:38:02
“苦”的關聯
當代陜西(2021年17期)2021-11-06 03:21:36
ILWT-EEMD數據處理的ELM滾動軸承故障診斷
水泵技術(2021年3期)2021-08-14 02:09:20
奇趣搭配
數據庫
財經(2017年2期)2017-03-10 14:35:35
智趣
讀者(2017年5期)2017-02-15 18:04:18
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
基于希爾伯特- 黃變換的去噪法在外測數據處理中的應用
主站蜘蛛池模板: 波多野结衣久久高清免费| 国产欧美日韩精品综合在线| 视频二区中文无码| 97免费在线观看视频| 亚洲人成网7777777国产| 亚洲中文字幕在线精品一区| 91网在线| 久久精品一卡日本电影 | 亚洲码一区二区三区| 欧美成人精品高清在线下载| 国产97视频在线| 午夜欧美理论2019理论| 九九热这里只有国产精品| 欧亚日韩Av| 国产在线自乱拍播放| 久久国语对白| 久久亚洲日本不卡一区二区| 国产一区二区色淫影院| 亚洲av无码牛牛影视在线二区| 秋霞国产在线| 国产午夜福利亚洲第一| 91视频区| 91丨九色丨首页在线播放| 欧美人与性动交a欧美精品| 亚洲天堂视频在线播放| 欧美亚洲第一页| 久久久久久尹人网香蕉| 看国产毛片| 亚洲视频在线网| 国产真实自在自线免费精品| 久久久久久久蜜桃| 久久综合一个色综合网| 国产噜噜噜| 久久情精品国产品免费| 国产三级成人| 国产一级毛片yw| 精品三级网站| 中日韩欧亚无码视频| 国产成人永久免费视频| 成年女人a毛片免费视频| 欧美高清三区| 久久a级片| 日韩大乳视频中文字幕 | 欧美日韩亚洲综合在线观看| 欧美精品亚洲精品日韩专区| 97se亚洲综合不卡| 黄色免费在线网址| 国产精品香蕉在线观看不卡| 午夜精品国产自在| 九九线精品视频在线观看| 最新亚洲av女人的天堂| 国产在线一二三区| 最新精品久久精品| 国产精品嫩草影院视频| 成人国产一区二区三区| 久久久精品国产亚洲AV日韩| 精品国产一区二区三区在线观看| 精品在线免费播放| 亚洲国产成熟视频在线多多| 国产欧美日韩综合在线第一| 亚洲一区二区三区国产精品| 日本免费新一区视频| 亚洲综合婷婷激情| aⅴ免费在线观看| 国产免费好大好硬视频| 国产精品欧美在线观看| 久草视频福利在线观看| 精品福利网| 婷婷成人综合| 精品久久香蕉国产线看观看gif| 国产自无码视频在线观看| 成人蜜桃网| AV在线天堂进入| 青青草一区| 精品自窥自偷在线看| 国产白浆一区二区三区视频在线| 成人年鲁鲁在线观看视频| 欧美日韩综合网| 澳门av无码| 国产夜色视频| 韩国自拍偷自拍亚洲精品| 91色老久久精品偷偷蜜臀|