99久久99久久精品免费看蜜桃,亚洲国产成人精品青青草原,少妇被粗大的猛烈进出va视频,精品国产不卡一区二区三区,人人人妻人人澡人人爽欧美一区

首頁 > 文章中心 > 車輛技術管理論文

車輛技術管理論文

前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇車輛技術管理論文范文,相信會為您的寫作帶來幫助,發(fā)現(xiàn)更多的寫作思路和靈感。

車輛技術管理論文

車輛技術管理論文范文第1篇

采用的B/S系統(tǒng)結構,系統(tǒng)擬實現(xiàn)以下六大功能:車輛基礎數(shù)據(jù)記錄及實時顯示;車輛行駛里程、加油管理信息化管理;維修管理等管理功能記錄數(shù)據(jù)化和即時查詢功能;用戶等級劃分,管理員可掌控部門車輛整體運行情況,通過長期的數(shù)據(jù)記錄分析,確保車輛安全高效運行。由于交付使用用戶非專業(yè)用戶,對于系統(tǒng)的部署和維護不熟悉,因此系統(tǒng)在配置和部署上需要盡量簡便。

2系統(tǒng)設計與實現(xiàn)

2.1系統(tǒng)架構

本系統(tǒng)采用Go語言開發(fā),采用B/S架構。雖然Go語言內建了對HTTP服務的支持,但是為了快速開發(fā),本系統(tǒng)使用了基于Go語言的BeegoWeb框架。數(shù)據(jù)庫的選擇上,為了保持系統(tǒng)的簡潔,使用了可內嵌的數(shù)據(jù)庫tiedot。

2.1.1Go語言

Go語言是一種靜態(tài)語言,語法上類似C語言,同時增加了現(xiàn)代編程語言的新特性:垃圾回收、動態(tài)類型、跟多的內建數(shù)據(jù)類型、以及內建的多核處理的支持。筆者作為多年的C語言使用者,在使用Go語言開發(fā)本系統(tǒng)時,也感受到其高效、便捷的特性。首先,語法簡潔,代碼風格簡練優(yōu)美;內建的切片、map等數(shù)據(jù)類型也大大提高了開發(fā)效率;由于是開源技術,相應的庫函數(shù)和外部庫的代碼全部開放,對問題的排查分析也十分有幫助。同時,Go語言的跨平臺編譯有較好的的支持。本系統(tǒng)在32位的linux系統(tǒng)上開發(fā)調試,但是通過簡單的配置,就可以交叉編譯出在64位Win系統(tǒng)上運行的程序。

2.1.2Beego框架

Go語言內建了對HTTP服務的支持。目前使用Go語言構建的web引擎也有數(shù)十個。選擇BeeGo首要的原因,是因為Beego是一款由國人主導開發(fā)的開源項目。根據(jù)Beego官網(wǎng)的信息,目前國內的各大網(wǎng)絡公司均有使用Beego技術,如淘寶、騰訊等,也說明了該框架的可用性。Beego是一個輕量級的web框架,主要由8個獨立的模塊組成。模塊間的耦合度低,開發(fā)者可以根據(jù)自己的需要選擇要使用的模塊。用戶即使不使用Beego的HTTP邏輯,也依舊可以使用這些獨立模塊。

2.1.3tiedot數(shù)據(jù)庫

Tiedot是github上的一個開源項目。與傳統(tǒng)的SQL數(shù)據(jù)庫不同,tiedot是一個文檔數(shù)據(jù)庫,使用json作為文檔描述的接口。其自身可以作為獨立的數(shù)據(jù)庫運行,采用HTTP交互,此時可以和任何語言配合使用;也可以內嵌到Go語言的程序中運行。雖然傳統(tǒng)的SQL數(shù)據(jù)庫亦能勝任本系統(tǒng)的開發(fā),但是考慮到tiedot可以和Go程序的精密結合,方便部署。

2.2數(shù)據(jù)庫的設計

Tiedo屬于NoSQL數(shù)據(jù)庫,即非關系型數(shù)據(jù)庫,在數(shù)據(jù)表設計時有一定區(qū)別。主要在于:NoSQL數(shù)據(jù)模型設計一般從業(yè)務應用的具體數(shù)據(jù)查詢入手,而不是數(shù)據(jù)間的關系;數(shù)據(jù)冗余、反規(guī)格化、聚合。反規(guī)格化(Denormalization),即可以被認為是把相同的數(shù)據(jù)拷貝到不同的文檔或是表中,這樣就可以簡化和優(yōu)化查詢;聚合(Aggregates),文檔數(shù)據(jù)庫是一種層級式的“去Schema”的存儲,允許嵌套式的內部數(shù)據(jù)方式來存儲一組有關聯(lián)的業(yè)務實體。遵循反規(guī)格化與聚合的設計原則,以及功能需求的分析歸納,本系統(tǒng)分解出車輛信息表、運維信息表、用戶信息表、信息匯總4個表。其中運維信息表的包含:里程記錄,維修記錄,保險記錄、油耗記錄等子數(shù)據(jù)結構。實際操作中,運維信息可以靈活地根據(jù)情況進行填充,每條運維記錄可以包含多種類型的記錄。這也與用戶的實際操作習慣相符。

2.3系統(tǒng)主體的設計

系統(tǒng)采用典型的MVC的模式進行設計。主要的模塊劃分為以下幾個:

(1)Model模塊:抽象出系統(tǒng)中所需的數(shù)據(jù)結構。負責頁面數(shù)據(jù)的載體、數(shù)據(jù)格式的轉換、內部統(tǒng)計處理、以及數(shù)據(jù)庫的交互。在數(shù)據(jù)處理上Go語言的一些特性給實現(xiàn)帶來了便利。Go語言支持struct成員的tag定義。通過tag定義以及反射機制,可以實現(xiàn)對數(shù)據(jù)的泛型轉換,在數(shù)據(jù)結構修改后依然可以使用,減少了維護的成本。

(2)Controller模塊:負責頁面邏輯的對應實現(xiàn)。又分為車輛信息、運維信息、統(tǒng)計信息、系統(tǒng)管理幾個子模塊。采用自定義的session處理來實現(xiàn)用戶認證功能的實現(xiàn)。用戶的密碼取md5存儲到數(shù)據(jù)庫,用戶登錄時通過比照用戶名及md5的密碼進行驗證。通過驗證后,存取用戶ID到自定義的session進行保存,在頁面prepare階段對session中的用戶ID進行檢查,決策用戶是否可以訪問頁面。

(3)View模塊:配合Controller模塊,對頁面內容進行呈現(xiàn)。在開源的bootstrap框架基礎上進行開發(fā),能夠很好的兼容各種終端設備。另外,在統(tǒng)計數(shù)據(jù)呈現(xiàn)時,采用了開源的Chart.js庫,能夠以友好的動態(tài)效果呈現(xiàn)出車輛油耗,維護費用等數(shù)據(jù)。

2.4系統(tǒng)的部署

部署的易操作性是本系統(tǒng)的一大特色。由于Go語言內建的http服務支持及tiedot嵌入式數(shù)據(jù)庫,整個系統(tǒng)編譯產(chǎn)生的可執(zhí)行文件沒有任何外部依賴。只需要將可執(zhí)行文件連同靜態(tài)文件(html/js/css)及數(shù)據(jù)庫文件一并拷貝到要部署的服務器上,保證對應端口有使用權限,運行可執(zhí)行文件即可。

3結語