国产一区二区三精品久久久无广告,中文无码伦av中文字幕,久久99久久99精品免视看看,亚洲a∨无码精品色午夜

Go語言及Beego開源技術車輛管理論文

前言:尋找寫作靈感?中文期刊網用心挑選的Go語言及Beego開源技術車輛管理論文,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。

Go語言及Beego開源技術車輛管理論文

1系統功能

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

2系統設計與實現

2.1系統架構

本系統采用go語言開發,采用B/S架構。雖然Go語言內建了對HTTP服務的支持,但是為了快速開發,本系統使用了基于Go語言的beegoWeb框架。數據庫的選擇上,為了保持系統的簡潔,使用了可內嵌的數據庫tiedot。

2.1.1Go語言

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

2.1.2Beego框架

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

2.1.3tiedot數據庫

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

2.2數據庫的設計

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

2.3系統主體的設計

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

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

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

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

2.4系統的部署

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

3結語

本系統設計基于B/S結構的設計思路,借助Go語言、Be-ego框架以及tiedot數據庫的優勢,構造出純開源技術的管理系統。借鑒了國際上政府軟件的先進開發經驗,是開源技術應用的一次積極的嘗試。降低了政府軟件對于商用軟件的依賴,提高了可維護性、自主性、安全性。為將來更為廣泛的開源技術應用打下了基礎。

作者:金婧 陳家銓 王靖天 謝俊杰 單位:福建省氣象局機關服務中心 福建星網銳捷網絡有限公司

主站蜘蛛池模板: 成年女人免费碰碰视频| 中文字幕无码日韩欧免费软件| 丁香五月缴情综合网| 亚洲精品成人片在线观看精品字幕| 成年女人色毛片| 日韩av无码国产精品| 欧美亚洲色综久久精品国产| 波多野结衣不打码视频| 在线播放无码后入内射少妇| 国产婷婷在线精品综合| 久久av老司机精品网站导航| 亚洲国产一成人久久精品| 9 9久热re在线精品视频| 欧美人做人爱a全程免费| 国产玖玖玖玖精品电影| 中国丰满熟妇xxxx性| 爱久久av一区二区三区| 无码专区久久综合久中文字幕| 国产欧美一区二区三区在线看| 真人性囗交69视频| 精品无人区卡一卡二卡三乱码| 无码中文人妻视频2019| 狠狠综合亚洲综合亚洲色| 超碰97人人做人人爱可以下载| 亚洲精品国产第一区二区尤物| 国产精品久久久久久久久鸭无码| 日日摸日日碰人妻无码| 亚洲熟妇久久精品| 国产亚洲国际精品福利| 精品无码无人网站免费视频| 国产在线精品无码不卡手机免费| 国产美女精品视频线播放| 亚洲日韩欧美内射姐弟| 久久亚洲欧美国产精品| 国产精品免费看久久久| 国产麻豆精品一区二区三区v视界| 欧美日韓性视頻在線| 久久久免费无码成人影片| 亚洲色精品vr一区二区三区| 国产成人片无码视频在线观看| 中文字幕人妻被公上司喝醉506|