<nav id="w0g0m"><code id="w0g0m"></code></nav>
  • <xmp id="w0g0m">
    <xmp id="w0g0m"><nav id="w0g0m"></nav><menu id="w0g0m"><strong id="w0g0m"></strong></menu>
  • <xmp id="w0g0m">
  • <nav id="w0g0m"></nav>
    <menu id="w0g0m"><menu id="w0g0m"></menu></menu>
    1. 網站地圖
    2. 設為首頁
    3. 關于我們
    ?

    高速公路收費站車流量預測與信息管理系統研究與實現

    發布時間:2023-07-07 16:45
    目錄
    1緒論 1
    1.1課題研究背景和意義 1
    1.2國內外研究現狀 2
    1.3論文主要內容和組織結構 4
    1.3.1論文主要內容 4
    1.3.2論文組織結構 6
    2高速公路收費站車流量預測及信息管理系統需求分析 7
    2.1功能需求 7
    2.1.1信息管理模塊需求分析 7
    2.1.2值班管理模塊需求分析 8
    2.1.3日志管理模塊需求分析 8
    2.1.4輔助功能模塊需求分析 9
    2.2性能需求 9
    2.2.1穩定性 9
    2.2.2安全性 9
    2.2.3可靠性 9
    2.2.4可操作性 10
    2.3主要技術研究分析 10
    2.3.1B/S 工作原理 10
    2.3.2SSH 框架 12
    2.3.3Ajax 技術 13
    2.3.4Tomcat 服務器 13
    2.4小結 13
    3基于LSTM的高速公路車流量預測算法的研究 15
    3.1循環神經網絡 15
    3.1.1循環神經網絡 1 5
    3.1.2長短時記憶網絡 15
    3.2基于LSTM的高速公路車流量預測算法基本原理 16
    3.2.1車流量檢測技術 16
    3.2.2數據來源及數據預處理 17
    3.2.3車流量預測方法比較 19
    324基于LSTM算法的車流量預測模型 20
    3.3基于LSTM的高速公路車流量預測算法實現 21
    3.3.1車流量預測算法實現 21
    3.3.2應急預案決策方法 23
    3.4小結 25
    4基于改進 MD5 算法的系統登錄加密技術研究 27
    4.1單項散列函數 27
    4.1.1單項散列函數基本原理 27
    4.2MD5 介紹與應用 28
    4.2.1MD5 介紹 28
    4.2.2MD5 應用 28
    4.2.3MD5 安全性 28
    4.3MD5 算法基本原理 29
    4.4MD5算法實現及改進 34
    4.4.1MD5 算法改進 34
    4.4.2MD5算法實現 36
    4.5小結 36
    5高速公路收費站車流量預測與信息管理系統設計與實現 37
    5.1系統設計準則 37
    5.2系統功能設計 38
    5.2.1信息管理模塊功能設計 39
    5.2.2值班管理模塊功能設計 41
    5.2.3日志管理模塊功能設計 43
    5.2.4輔助功能模塊功能設計 45
    5.3數據庫設計 47
    5.3.1Oracle 數據庫 48
    5.3.2數據庫訪問 48
    5.3.3數據庫設計 50
    5.4系統軟件運行基礎環境 52
    5.4.1硬件環境 52
    5.4.2軟件環境 52
    5.5系統功能具體實現 53
    5.5.1系統登錄頁面 53
    5.5.2信息管理模塊具體實現 54
    5.5.3值班管理模塊具體實現 55
    5.5.4日志管理模塊具體實現 56
    5.5.5輔助功能模塊具體實現 57
    5.6系統測試 57
    5.6.1功能測試 57
    5.6.2性能測試 58
    5.7小結 58
    6總結與展望 59
    6.1論文總結 59
    6.2工作展望 60
    參考文獻 61
    作者在讀期間研究成果 67
    附錄 1 69
    附錄 2 7 1
    附錄 3 75
    致謝 85
    1緒論
    1.1 課題研究背景和意義
    高速公路行業做為衡量一個國家汽車制造工業現代化和交通運輸水平的標 準,是在國家經濟社會發展過程中所產生的。高速公路建設對于全球性的道路交 通運輸及各個國家的經濟進步都有著不可替代性和促進作用。目前我國的高速公 路工程行業在最近這30 年來一直都是處于一個非常快速的發展階段,每年有著數 量特別巨大的高速公路工程被投資建設并正式運營。至統計公報2017 年7 月份為 止,我國的高速公路實際通車里程已經是世界第一,已經實現了13.1 萬公里[1]。至 2019年末期間,在我國公路總里程計劃為501.25 萬公里的道路中就有14.96 萬公 里是主要用于修建高速公路[2]。2017 年2 月份國務院發布了《“十三五”現代綜 合交通運輸體系發展規劃》文件,該規劃中對2020 年高速公路通車里程進行了估 計,預計高速公路修建完成的里程到那時將達到15 萬公里[3]。
    隨著國內經濟在迅速提升,交通運輸企業信息量的增長,收費站作為一個基礎 信息中轉站,其日常辦公信息也隨之增加。不僅如此,收費站值班室是一個總協調 部門,面對收費、治超、機電系統大大增加了信息處理的復雜度和周期。調度值 班管理過程的地位在提高,對于調度值班管理的職能也發生了改變。通過值班日 志來記錄部門日常工作中的工作內容和重要事件,高速公路收費站日常工作中的 核心就是調度值班工作。交通信息量在高速發展,需要建立更加全面、完善的調 度值班管理體系,調度值班管理更加信息化,調度值班數據也更加多樣化,因此, 一旦需要應急指揮決策時,調度值班數據會更具參考性。
    收費站值班室在目前的主要工作包括準時接收電函文件并對其進行落實;安 排好值班工作的同時將值班情況進行擬制、匯總并能及時有效的送達上級值班領 導處;對于一些重大事項或重要活動,要進行值班日志填寫,對于特殊情況做好 相應記錄的同時做好內部和外部的聯絡溝通。在處理各種緊急突發事件時,要注 意相互協調,積極應對。監督做好有關公務事項以及對員工請假制度的管理;對 于集團領導重要會議以及公務活動,組織人員積極學習,也可以以電視會議的形 式參加。由于值班業務工作較為繁瑣,因而,在日常工作中要對系統值班體系加 強建設,構建一個辦公自動化的平臺刻不容緩。要想建立全新的信息化管理體系 就需要利用自身優勢,整合各方面資源,對設備的運行和完善對人員的精細化管 理,對于故障的高效處理,出現問題迅速解決。但目前的信息化管理體系僅停留 手工操作層面,具體通過以下幾點來進行說明:
    1、 收費站在日常調度值班管理工作中,通過手工排班的方式進行工作,包括 交接班工作也通過紙質版文檔進行記錄。在記錄的時候這種紙質版文檔不僅容易 出錯而且不方便閱讀,在保存的時候也會容易丟失,不利于保存,這種手工的工 作模式會直接影響收費站的日常工作效率,準確率也難以保證;
    2、 收費站現有調度值班管理時,容易出現查詢不方便,記錄不規范等問題。
    隨著計算機技術的發展以及收費站工作信息量的加大,手工方式的工作模式 已經難以滿足收費站的日常工作,手工方式被計算機代替迫在眉睫。如果想要節 約工作成本,提高現有工作的效率,就必須對原有的調度值班管理的方式、日志 記錄的模式、收費站傳統的人工排班等都徹底改變。如果提高調度值班管理的有 效性,那么為收費站將帶來更多的益處,首先我們可以利用技術手段來管理收費 站數據來提高工作效率,而且對于一些有利于決策的核心數據也可以通過技術匯 總應用。其次,每年收費站都會有一些指標,例如,與收益掛鉤的經濟指標和安 全相關的安全指標,我們可以通過技術對這些指標進行具體量化,以便更好的完 成指標。最后,我們可以智能化模擬工作人員來完成一些日常工作,提高收費站 日常工作效率,而且將信息進行可視化,直觀的利用這些數據做一些預測和判斷, 對未知情況,通過參考這些數據來提前做好準備。
    隨著高速公路的迅速建設以及人們生活水平提高,在每天高峰時間段,高速 公路收費站車流量會迅速增加,由于每個收費站的大小和車輛通行能力不同,有 一些匝道小型收費站在節假日或上班高峰期會發生嚴重擁堵,因為車流量超過了 收費站最大承受通行能力,發生這種情況不但會給收費站造成經濟壓力和損失, 還會直接影響到收費站正常通行工作,因此,提前預測未來時段高峰車流量很有 必要。研究高速公路收費站車流量預測與信息管理系統對收費站日常管理工作有 著重要意義。
    1.2 國內外研究現狀
    在上世紀國內大部分企業中的值班工作主要通過人工記錄的方式。隨著信息 化的到來,現在的值班管理方式以自動化為主,在自動化辦公模式下,如果要進 行信息查閱,就不再需要進行人工翻閱,只需要輸入查詢信息,即可在數據庫中 進行信息查詢,查詢結果會自動展示。隨著企業和部門數據信息量的大量增加, 工作任務也急劇上升,要想提高企業工作效率,就必須進行自動化辦公。因為自 動化辦公系統會依照企業管理模式并運用計算機快速數據處理能力,管理起來更 加高效科學[4]。
    早在上個世紀70 年代,美國的部分公司已經開始使用計算機來完成日常一些 簡單的工作,所以歐美發達國家辦公自動化已經初步形成。在計算機網絡技術高 速發展的今天,全世界對本國的辦公信息化、自動化的發展更加關注,并在這方 面投入了巨資。而辦公自動化在美國的企業和公司要比政府單位發展得更快,技 術水平也逐年提高[5]。
    國外政府對調度值班管理比較重視,許多國家的調度值班管理系統,在采用
    B/S架構的基礎上,許多系統框架的開發都是通過asp.net技術或者SSH框架,國 外政府為了讓自己調度值班管理工作流程更加規范、可視化效果更好,他們對調 度值班管理系統進行了部署和應用,這樣做帶來了許多好處。不僅提高了電網動 態閉環控制的效率,而且讓調度值班管理更加細致,減少了許多人工的工作量, 智能化管理程度更高,同時也增強了對管理風險的管控,益處多多[6]。
    國外計算機技術發展較早,因此在軟件研發上也遠超過國內,國外軟件的成 熟度相比較國內也高出許多,早期美國的國家科學基金網就已經完成了互聯網申 請和報告課題。由于開發比較成熟完善,該網站開發的辦公管理平臺能實現一臺 機器就能完成所有業務。現在大部分國際公司都擁有自己的信息化管理系統,提 高工作效率節約工作成本。
    調度值班管理系統的應用在國內許多地方已經開始了應用,許多系統的應用 也比較穩定,例如,值班員調度管理系統、調度中心值班人員管理系統、神州泰 岳值班管理系統、應急值守管理系統、醫院信息中心值班管理系統等[7]。
    國內在對調度值班管理系統的應用過程中,為其帶來了諸多優點。一方面, 讓值班的管理程度直觀性更強,專業管理程度更高;另一方面,在進行值班調度 管理時,不但能提升工作質量而且讓整個管理等級更高,信息化程度更強[8]。隨 著技術的不斷發展,雖然目前有的調度值班管理系統已經存在許多優點,但對于 電網一體化調度值班管理系統而言,仍然有許多需要改進的地方[9-10]。
    高速公路短期車流量預測需要考慮到高速公路交通系統相關特性:非線性, 周期性。因為短期車流量的這些特性,造成預測準確性難以滿足支撐實際工作的 需求。在對車流量數據進行預測時,按照預測時間間隔對其進行劃分,(1)中長 期預測:預測時間為未來3?10個時間間隔;(2)近期預測:預測時間為未來1? 3個時間間隔;(3)短期預測:預測時間為未來1個時間間隔。經過對國內外發 展現狀的研究,查閱相關文獻,目前數據流量預測方法主要有3種類型。
    1.基于數學分析的預測模型
    基于數學分析的預測模型,主要是在概率論的基礎上,結合數學統計方法對 多元數據之間的關系進行預測的模型。時間序列模型就是其中一個主要模型,它 是在現有時間序列特性的多元數據基礎上預測未來狀態數據的模型。周宏[11]等人 結合ARIMA和SARIMA模型,以高速公路短時交通數據為基礎,利用最小二乘 原理對組合模型進行權系數分配,實驗結果顯示,組合模型預測精度高于單一預 測模型。
    2.基于神經網絡的預測模型
    隨著人工智能研究熱度的不斷上升,基于神經網絡進行車流量短時預測的算 法越來越多,例如Peng[12]等提出了一種基于頻率感知的時空網絡(FASTNet)來進 行交通流預測,該方法可以用于動態篩選所輸入的數據并將離散傅里葉變換進行 加入,利用一個三維卷積網絡來自動提取時空特征,并在預測層總結了時空卷積 網絡提取的時空特征,結果表明,預測結果良好。
    3.基于數學模型和神經網絡混合的預測模型
    混合預測模型即將數學模型和神經網絡模型結合起來對車輛流量數據進行預 測。例如,Cheng購等提出了一種新的混合矢量誤差修正和非線性自回歸神經網 絡(VEC-NAR)模型來預測短時流量方法。首先通過VEC模型來優化短時流量 數據,同時將優化后的最優結果與 NAR 模型結合起來對車流量數據進行預測。
    針對國內外目前研究現狀,本文研究了基于LSTM的車流量預測方法,為高 速公路收費站更加合理、有效的進行人員配置決策提供依據。考慮系統安全性, 介紹辦公自動化系統中加密算法的應用。最終設計實現了高速公路收費站車流量 預測及信息管理系統。
    1.3論文主要內容和組織結構
    1.3.1論文主要內容
    本文主要研究內容如下:
    (1) 本文研究了基于改進MD5算法的系統登錄加密技術,從系統安全性出 發,首先,本文研究了加密技術的基礎,研究了單項散列函數的基本原理。其次, 在此基礎上引入了 MD5 算法,介紹了 MD5 應用性和安全性,為下一步在系統中 應用的 MD5 算法做好知識儲備。最后,研究了 MD5 加密算法的基本原理,并通 過JAVA語言實現了算法,考慮到實際應用中常用密碼的弊端問題,本文對MD5 算法進行了改進,通過實驗結果對比分析,驗證了算法的有效性,并應用在系統 中。
    (2) 本文研究了基于LSTM的高速公路車流量預測算法,首先研究了循環 神經網絡的基本原理,其次在比較了常用的車流量預測方法的基礎上,提出了基 于LSTM的高速公路車流量預測方法,并對算法進行了實現,通過實驗進行驗證 分析,驗證了算法的有效性,最后提出了應急預案決策方法,為管理者進行決策 做好準備。
    (3) 研究了 SSH框架技術,SSH集成框架不但可以幫助開發人員快速搭建 Web應用程序,還能更好地快速開發Web應用數據源。由于需求,研究了 Ajax 技術,該技術對客戶端來說,具有很強的交互性和迅速的響應性,可以大量節省 用戶時間和流量,使客戶端、服務器之間的交互變得更加精細與準確。使用 Tomcat 服務器和Oracle數據庫,Tomcat是一個JSP服務器,該服務器可以進行免費使用 并且是開源的,針對并發網絡訪問的問題,Tomcat不但能進行高速網絡傳輸,而 且能增加大量數據時的并發處理能力。Oracle是一種關系型數據庫管理系統,具 有全面性、完整性、穩定性以及高效性的特點,不但能防止沒有進行認證的數據 泄露、檢測和數據庫活動的檢驗,而且具有憑借數據驅動的安全性在數據庫中進 行數據訪問控制的能力,所以本文選擇Tomcat服務器和Oracle數據庫。
    (4) 設計并實現了基于B/S架構的高速公路收費站車流量預測與信息管理 系統。該系統架構采用B/S體系,軟件編程框架選擇搭建SSH框架,系統選擇JAVA 語言、JSP、JAVAScript、HTML、CSS等技術來進行前后臺開發,Web服務器選 擇 Tomcat 服務器,選擇 Oracle 數據庫來進行系統數據維護,搭建一個實用性強 的高速公路車流量預測與信息管理系統。從功能和性能兩個方面出發考慮去設計 系統,將系統分為信息管理、值班管理、日志管理、輔助功能四個模塊。并根據 實際情況設計了收費站數據庫信息,方便收費站日常數據維護。考慮到實際應用, 研究了車輛預測算法,考慮到數據安全性,研究了 MD5算法,并應用在登錄系 統中。考慮到收費站人員資料使用的便利性,設計了文檔上傳和下載功能,考慮 到用戶體驗,設計了簡潔大方、可操作性強的界面。
    1.3.2論文組織結構
    本文詳細介紹了系統結構設計、功能框架和具體模塊功能設計實現,主要分 為六個章節進行具體闡述,論文具體組織結構如下:
    第一章:緒論。詳細闡述了高速公路收費站車流量預測與信息管理系統的研 究背景與意義、國內外研究現狀以及論文的主要內容和組織結構。
    第二章:高速公路收費站車流量預測與信息管理系統需求分析。針對高速公 路收費站工作實際需求,從功能和性能兩個方面對需求進行了詳細分析,對后面 要用到的主要技術進行了研究分析,主要介紹了 B/S工作原理,SSH框架、Ajax 技術、 Oracle 數據庫技術,為系統開發的可行性進行必要的技術分析,也為后面 系統設計與實現打好基礎。
    第三章:基于LSTM的高速公路車流量預測算法的研究。本章首先介紹了循 環神經網絡的基礎知識,其次介紹了現有的車流量檢測技術,以及高速收費站數 據來源流程和數據預處理方法,對現有的車流量預測方法進行了比較,提出了基 于LSTM算法的車流量預測方法并進行了算法實現,最后提出了應急預案決策方 法為決策提供依據。
    第四章:基于改進MD5算法的系統登錄加密技術的研究。本章首先介紹了 加密技術的基礎單向散列函數,其次引入MD5算法介紹該算法的安全性并對算 法應用進行了研究,最后研究了 MD5算法基本原理并進行了改進與算法實現, 為保障系統密碼登錄安全做好準備。
    第五章:高速公路收費站車流量預測與信息管理系統設計與實現。本章主要 根據需求分析對系統的具體功能和數據庫進行了詳細設計與實現,最后對該系統 進行了功能和性能測試,驗證了系統的可用性。
    第六章:總結與展望。對本文具體工作進行總結,對下一階段想要做的工作 做出展望。
    2高速公路收費站車流量預測及信息管理系統需求分析
    為了保證系統功能的完善,必須詳盡考慮到高速公路收費站車流量預測與信 息管理工作中的具體需求,從實際出發,本文主要是從功能和性能兩個方面來考 慮,實現分析具體的系統需求。
    2.1功能需求
    高速公路收費站車流量預測與信息管理工作,首先包括一些人員信息的管 理、部門信息的管理、資料文件的管理和重要通知或者獎懲信息的管理。其次, 也包括值班計劃的管理,例如,每年值班的工作計劃、每周計劃以及具體工作 計劃。最后就是列完計劃的執行情況,即每天的具體值班情況的記錄管理。考 慮到收費站工作中的考核和規章制度學習情況,也可考慮加入輔助功能來完善 系統功能。根據上述需求可將收費站具體工作分為信息管理、值班管理、日志 管理、輔助功能四個功能模塊,收費站日常值班管理系統基本流程如圖 2.1 所 示,收費站日常值班管理每個模塊里具體功能將在下一步進行分析描述。
     
    圖 2.1 高速公路收費站車流量預測及信息管理系統基本流程
     
    2.1.1信息管理模塊需求分析
    信息管理模塊中按照功能需求可劃分為人員管理、綜合管理、電話管理、文 件管理、通報管理和設備管理六個子模塊,可用于收費站日常信息管理和維護, 信息管理目標將收費站所有紙質化辦公資料進行信息化管理。
    人員管理:用于維護收費站人員基本信息,對收費員服務等級進行劃分,例 如人員姓名、性別、照片信息、收費員服務等級等基本信息。
    綜合管理:用于展示收費站通知活動,包括活動標題、內容以及照片等基本 信息。
    部門管理:用于管理各部門電話信息,包括部門名稱、部門電話等信息。 資料管理:用于管理收費站資料信息,例如:收費政策文件、安全管理等信 息。
    通報管理:用于管理收費站通報信息,例如:班組獎懲和整改情況。 設備管理:用于管理站內所有設備信息,包括使用人、使用時間、軟件安全 殺毒、設備故障匯總、設備硬件保養等信息。
    2.1.2值班管理模塊需求分析
    值班管理模塊中按照功能需求可劃分為本年度值班計劃、本季度值班計劃、 本周值班計劃、車流量預測模塊以及應急預案管理模塊五個子模塊,可用于記錄 收費站日常值班計劃。
    本年度值班計劃:以 Word 文檔的形式,上傳年度值班計劃文件,并對其進 行管理。
    本季度值班表:以 Word 文檔的形式,上季度值班計劃文件,并對其進行管 理。
    本周值班計劃:展示領班員和值班員本周具體工作內容計劃信息。
    車流量預測管理:收費站實際工作中需要車流量預測數據,通過車流量預測 數據,一方面,可以在高峰時間段來進行合理高效的人員安排;另一方面,也可 以提前進行預判,采取相應的應急預案措施。因此需要對預測的車流量數據進行 展示。
    應急預案管理:根據高峰期預測數據,采取應急預案合理安排值班人員工作。
    2.1.3日志管理模塊需求分析
    值班日志按照功能需求可劃分為值班員日志、領班員日志、個人工作日志三 個子模塊,可用于記錄當日值班情況。
    值班員日志:記錄值班日期、天氣、班次、值班人員、值班內容等信息。 領班員日志:記錄值班日期、值班人員、交班人員、交班時間以及上級通知 等信息。
    個人工作日志:用于記錄個人工作日志,填報人姓名、填報日期、工作內容。
    2.1.4輔助功能模塊需求分析
    輔助功能模塊中按照功能需求可劃分為收費知識題庫、收費工作規范兩個子 模塊,針對收費員業務知識水平和職業道德規范考核,可在收費知識題庫中進行 練習。在收費工作規范模塊中可學習熟悉收費工作規范,提高自身業務水平。
    收費知識題庫:通過上傳收費業務、機電維護、職業道德等知識題庫,收費 站人員可通過學習題庫知識,完成月季度知識考核,提高業務水平。
    收費工作規范:通過上傳收費站具體工作文件,收費站人員即能進行工作規 范學習,也能在遇到特殊情況,進行工作規范查閱。
    2.2性能需求
    2.2.1穩定性
    系統穩定性本論文主要要求如下:
    (1) 系統頁面響應時間小于 5 秒;
    (2) 系統數據庫查詢時間小于10秒;
    (3) 系統獨立運行24小時不會出現系統崩潰(但考慮到安全性,如果一段 時間不進行操作需要重新登錄系統)。
    2.2.2安全性
    系統數據庫中存儲了大量的數據,系統設計時應該考慮到具有保護業務、數 據的機密性和完整性。
    系統安全性本論文要求如下:
    (1) 設計用戶登錄功能,只有檢驗身份合格后才能進入系統;
    (2) 本系統登錄用戶密碼時選擇MD5加密技術,該加密方法具有不可逆性, 能進行用戶密碼安全保證;
    (3) 數據庫中數據應進行定期備份。
    2.2.3可靠性
    系統可靠性是指系統按照規定時間內完成規定功能的能力。
    本文系統可靠性要求如下:
    (1) 合理輸入,結果進行正確顯示;
    (2) 不合理輸入,進行信息提示(例如,電話號碼格式不對,可進行提醒);
    (3) 系統全功能運行可用度不低于99%。
    2.2.4可操作性
    系統可操作性,為了保證良好的用戶體驗,主要從界面設計簡潔大體和系統 操作流程方便易上手兩個方面來考慮。良好的頁面設計效果既能把控住用戶快速 上手進行系統操作,又能方便用戶的業務處理,有利于系統功能的進一步擴展完 善。系統可操作性的強化僅僅依靠先進的技術應用是遠遠不夠的,還需借助一系 列專業的手段來對其所實現的功能加以測試,找出其中所存在的漏洞,從而根據 用戶需求來加以改進和優化[14]。
    本系統可操作性要求如下:
    (1) 采用模塊式接口,設計遵循相關通用標準和規范,各模塊運行可靠,模 塊應可擴充、可移植;
    (2) 界面設計簡潔大方、操作簡單、便于維護;
    (3) 界面、窗口、按鈕風格保持一致,窗體布局和間距保持一致;
    (4) 適用于 Win7 以上操作系統。
    2.3主要技術研究分析
    2.3.1 B/S工作原理
    B/S (Browser/Server,瀏覽器/服務器)結構的工作模式為:經過瀏覽器來發 出請求,服務器來進行響應,客戶端選擇Web瀏覽器通過Web Server和數據庫來 完成數據交互,系統核心功能選擇在服務器來完成。工作原理圖如圖 2.2 所示。
     
     
    圖 2.2 B/S 架構工作原理圖
    具體工作流程如下:
    (1)客戶端發送請求:用戶通過瀏覽器向服務器發送請求提交所要做的操作, 等待服務器進行響應;
    (2)服務器端處理請求:服務器端接收到瀏覽器發送的請求并進行處理,等 待處理完數據后進行響應;
    (3)服務器端發送響應:服務器端把處理后的用戶請求結果返回給瀏覽器;
    (4)瀏覽器進行解析后展示用戶界面。
    B/S 的優點如下:
    (1)B/S最大的優點即客戶端不用進行安裝維護且系統擴展容易;
    (2)Ajax 技術的發展不但可以增強交互性完成部分實時刷新,而且可以減少 服務器負擔;
    (3)B/S 結構主要應用的 Web 瀏覽器技術可以節約成本實現強大功能。 系統架構圖如圖 2.3 所示。
    表示層 , 應用層 , 數據層
    I I
     
    WEB瀏覽器
    圖 2.3 B/S 系統架構圖
     
    2. 3. 2 SSH框架
    SSH[15-16]是一個集成框架,分別由Struts、Spring、Hibernate組成。SSH可以 分為表示層、業務邏輯層、數據持久層和域模塊層。其中Struts做為基礎架構, 可以控制業務跳轉, Hibernate 框架向持久層提供支持,而 Spring 主要是對 Struts 和 Hibernate 來進行管理。
    (1)Struts:Struts 框架被大多數開發人員當做系統開發的標準。主要是由于 其開發時間短和開發成本可控這兩個優點oMode 1作為SSH架構中的重要組成部 分,Struts技術是依靠Servlet以及JSP來實現維護存儲數據器。View用于展示 Model中的信息,它與Model之間屬于映射關系。Controller用于處理用戶命令, 按照用戶需求明確業務邏輯關聯視圖和模型。EJB和JAVABean組件被用來實現 Struts框架業務功能;Action、Action Servlet組件是完成框架控制力能的關鍵;視 圖則是由若干JSP文件形成,來實現具體的功能[17-18]。
    (2)Spring:Spring 可以實現與代碼的相互獨立。不依賴 API 僅通過 Setter 和Getter方法來注入對象的屬性。AOP實現數據內聚性開發,應用的對象負責完 成對業務邏輯的處理[19-20]。
    (3)Hibernate:Hibernate 訪問數據庫,是對數據對象進行持久化處理來完 成對象關系映射,對JDBC進行封裝,來完成數據庫操控。通過Hibernate.cfg.xml 文件來代替JDBC連接數據庫,通過hbm.xml文件來與數據庫的具體表進行映射。 通過Action中的返回值來調用DAO層進行業務處理。模型通常對存儲數據加以 維護,也能反映用戶的所有操作流程以及系統中所存儲的信息數據,一旦數據發 生變更,模型及時反饋給視圖,完成視圖更新。基于SSH架構而實現的系統不但 能夠控制系統完善過程中所耗費的成本支出,同時也能最大程度上規避擴充操作 所引發的各種風險[21-23]。
    2. 3. 3 Ajax技術
    Ajax (Asynchronous JAVAScript and XML)異步 JAVAScript 和 XML,做為網 頁開發技術不但可以進行交互而且能夠實現網頁動態開發和快速應用,Ajax應用 異步交互的處理方式使得Web頁面向服務端發送請求,實現只刷新部分頁面功能 而不加載整個頁面,這種做法提高了瀏覽器的速度以及用戶體驗,即通過異步操 作在服務器得到數據并在后端進行數據處理和代碼執行,完成網頁異步更新,因 而減少了服務器和瀏覽器之間的交換數據,那么服務器端軟硬件工作壓力也減少 了許多,使服務器業務響應更快更及時,從而減輕網絡負載、減少帶寬的使用, 并且只請求需要的數據,響應時間縮短,提升了訪問速度,創建和實現了更多樣 化的應用程序界面。同時Ajax類庫提供了很多面向對象模式的輔助函數,幫助開 發人員提高工作效率。常用的服務端編程語言都可以實現Ajax服務端,比如PHP、 JAVA、ASP.NET、Node.js等等,并且Ajax支持幾乎所有的瀏覽器。支持使用XML Http Request 異步獲取數據[24-26]。
    2. 3. 4 Tomcat服務器
    Tomcat^]是一個JSP服務器,該服務器是免費且開源的,針對并發網絡訪問 的問題,Tomcat不但能進行高速網絡傳輸,而且能提升大量數據時的并發處理能 力,改善用戶體驗。所以目前Tomcat是跨平臺開發和調試的首選。本文選用了 64位操作系統的Tomcat版本。
    2.4 小結
    本章主要是從收費站實際需求出發,從功能和性能分別進行了詳細分析。按 功能將系統分為信息管理、值班管理、日志管理、輔助功能四個模塊,按性能需 求主要從穩定性、安全性、可靠性、可操作性四個方面來進行分析,最后對要用 到的主要技術進行詳細分析,為下一步系統設計與實現做好準備。
    3基于 LSTM 的高速公路車流量預測算法的研究
    3.1 循環神經網絡
    3.1.1循環神經網絡
    循環神經網絡(recurrent neural network,RNN)[28-29]主要作用是對序列數據進 行操作處理與預測的模型。循環神經網絡表示一個序列現在與以前信息值的關系, 因此循環神經網絡最適合處理時間序列問題。對于一組有順序的序列數據,可以 按照時間先后順序依次傳輸到神經網絡,輸出對當前時刻的下一序列的預測,也 可以輸出對當前信息處理的結果。如圖 3.1 所示是一個典型循環神經網絡的展開 圖。
     
    圖 3.1 循環神經網絡按時間展開后的結構
     
    在圖 3.1 的左圖中,描述了從一個時刻的隱含狀態到當前隱含層狀態之間的 連接。每經過一段時間t,根據每次輸入的信息和當前模型狀態循環神經網絡會 給計算出結果ht,然后對模型狀態進行更新。右圖展示的是RNN的展幵結構, 清楚地看到該網絡在每一個時刻會有一個輸入兀,循環神經網絡會根據前一時刻 狀態ht_1來計算出新的狀態ht,并對結果ot進行輸出。通過上個時刻的狀態ht_1和 當前的輸入xt來決定循環神經網絡當前的狀態ht。在t時刻,狀態ht_1包含了前面 序列x0,x1...g的信息,供輸出ot來進行參考。
    3.1.2長短時記憶網絡
    由于傳統神經網絡的缺點是不能夠進行建模,而RNN的出現卻能很好地解 決這個問題,它還能夠通過之前的信息來推算出當前信息,提供一個很好的決策 參考,但同時, RNN 也有它的缺點,即存在長期依賴的問題。而 LSTM(long short-term memory, LSTM)長短時記憶網絡[30-32]的出現通過一個可以進行控制的循 環,建立一個長時間可以不間斷傳遞的梯度路徑,很好地解決了這個一直存在的 長期依賴的問題。LSTM循環神經網絡在很多時候在處理一些問題的能力都超過 了標準的RNNo LSTM是一種比較特殊的神經網絡,分別擁有“遺忘門”,“輸 入門”“輸出門”三個“門”,具體結構如圖3.2所示。
     
     
    ht-i
     
    圖 3.2 LSTM 結構圖
    其中,c能夠作為記憶塊主要進行記憶信息的傳輸,它可以從序列的開始傳 輸到結尾,相當于在傳統神經網絡中的隱含層中存在的神經元節點。x是輸入向 量;h是輸出向量;t表示時刻。在LSTM結構中的t時刻,存在三輸入兩輸出, 即現在這一時刻的輸入值為,此前時刻的輸出值以及其存在的記憶單元的狀態 C-,這三個均作為LSTM結構中t時刻的一個輸入。與此同時,現在這一時刻 的輸出值巾與其記憶單元狀態c均作為LSTM結構中t時刻的一個輸出。
    3.2基于 LSTM 的高速公路車流量預測算法基本原理
    3.2.1車流量檢測技術
    車流量檢測系統是車流量預測的一個重點,一方面,主要是采集與監控行人 信息同時也包含交通道路中車輛信息;另一方面,通過對目前道路中車流量檢測 算法進行研究,來幫助解決道路擁擠問題,進一步幫助緩解交通壓力。現有的車 流量檢測技術[33-34]主要包括三種:
    (1)感應線圈檢測
    感應線圈檢測是應用環形線圈在磁場中的電磁感應原理來計算道路車流量 的。該方法優點是:精度高、穩定性好且受環境和天氣影響不大。缺點是:安裝 維護不便。
    (2)波頻檢測
    波頻檢測基于電磁波的反射特性,檢測器對經過的車輛進行電磁波發射,對 返回的結果進行檢測,來計算出車流量。該方法優點:容易安裝和維護且費用便 宜。缺點:分辨率和精度不高,反饋時間開銷大。
    (3)視頻檢測
    視頻檢測集合了多種計算機技術,通過監控攝像頭拍攝道路上通過車輛的視 頻信息,經過圖像處理分析算法處理,對所拍攝的車輛進行目標提取、跟蹤與檢 測。視頻檢測目前發展最為迅速。該方法優點:安裝維護容易,可以實時傳遞交 通圖像信息,檢測范圍比較大。缺點:檢測精度容易受周圍環境影響。
    本文中采用的是視頻檢測方法。
    3.2.2數據來源及數據預處理
    3.2.2.1數據來源
    本文研究的數據由公路管理研究所研發的平臺統計數據提供,主要研究對象 是陜西省某高速公路路段收費站歷史車流量,車流量數據統計具體流程圖如下:
     
     
    圖 3.3 車流量數據統計圖
     
    如圖 3.3所示,收費站車流量數據統計主要分為兩部分數據,一部分從 MTC 車道進行采集,通過車道攝像機圖像抓拍,根據圖像比對對客車和貨車分別進行 識別,識別后可分類型對車流量統計;另一部分從ETC車道直接對車輛車載標簽 卡識別,車載標簽卡包含車輛具體信息,通過后臺匯總,將兩種車道車流量進行 統計。
    3.2.2.2數據預處理
    為了保證車流量數據預測的準確性,需要對采集到的車流量數據進行一定的 處理,保證車流量數據的質量,使得處理后的數據更適合模型,處理方法主要包 括異常值處理和缺失值填補。
    (1)處理異常值 在小規模數據樣本的情況下,一些異常值過于大或者過于小,都會影響到整 體的預測效果。通過對車流量數據的分析,一旦發現不符合車流量變化規律且車 流量數據波動異常,即將此數據視為異常值,為了保證數據質量,有效降低模型 訓練中異常值的影響,將這些異常值進行剔除。
    (2)填補缺失值
    由于車流量統計數據來源包括MTC和ETC兩種,所以有時會發生數據缺失 問題,對于缺失值問題的解決辦法,可以進行刪除或者填補又或是不進行處理。 如果缺失值數據量較小,可統計這段時間的車流量數據的平均值進行填補;如果 相鄰數據缺失較多,不會影響大的數據結構,可以刪除這些缺失數據來完成數據 處理。
    3.2.3車流量預測方法比較
    高速公路車流量預測方法[35-36]主要包括兩種方法。分別是參數法和非參數法。 第一種是參數法,時間序列預測方法是參數法的主要應用方法,因為該方法具有 需要參數少且預測適用范圍廣的優點。 目前時間序列方法中主要包括有 arima[37-39]方法、sarima[40-42]方法、var[43-44]方法這三種,在研究高速公路車流 量預測方面,這三種方法已經進行了一段時間的研究且具有一定成績。高速公路 車流量數據比較特殊,存在一定的非線性性,這種非線性性應用時間序列模型時, 會表現出不穩定性。影響其預測結果精度。
    三種模型對比結果如下:
    表 3.1 時間序列模型比較結果
    模型 ARIMA(差分自回歸移動平均模SARIMA (季節時間序列 VAR(向量自回歸模 名稱 型) 模型) 型)
    模型
    公式 (1 —總 a L )(1 — L)dx = (1 + 總 b L)£ + u i = 1 i j = 1 j V(PMPS )(1-0)D (1- )Dyt p
    X = C + 工 AiX,—i +8,
    i=1
    優點 適用范圍廣,數據處理簡單 考慮數據周期性 考慮多變量
    1. 沒有考慮多變量情況 1. 沒有考慮多變量情況 1.由于參數的有限,
    缺點 2. 沒有考慮車流量數據周期性 2. 由 于 數 據 參 數選擇 較 在處理大量的復雜
    多,所以存在最優解不確 數據時,處理效果不
    定的情況
    對于高速公路車流量預測而言,要根據之前的數據來推斷以后的數據,應用 傳統神經網絡去實現存在一些難度,而應用RNN可以進行數據結果預測。LSTM 算法作為RNN中的一員,一方面,能應用以前或者更久遠的數據來進行后面數 據預測;另一方面,能更好的進行時間序列的處理。因此本文考慮應用長短期記 憶網絡(LSTM)算法來進行高速公路車流量數據預測。
    3.2. 4基于LSTM算法的車流量預測模型
    由于傳統神經網絡的缺點是不能夠進行建模,而RNN的出現卻能很好地解 決這個問題,它還能夠通過之前的信息來推算出當前信息,提供一個很好的決策 參考,但同時,也有它的缺點,即存在長期依賴的問題。LSTM作為RNN中的 一種非參數方法,LSTM能夠處理RNN的缺點,在處理時間序列數據方面可以 解決通過很久以前的數據預測后來數據問題。
    選擇長短期記憶網絡(LSTM)來當做某個高速公路的車流量預測模型,遺 忘門層(Forget Gate“F”),候選層(Candidate layer“C”),輸入門層(INPUT GateT”), 輸出門層(Output Gate" 0 ”),隱藏狀態(Hidden State" H”),存儲狀態(Memory State“C”)這六塊存在于這個車流量預測模型最底層神經元的每個單元中。
    在t時刻,車流量數值Xt_1和H一以及Ct_1作為一個輸入存在于車流量預測 模型中。現階段存儲狀態C以及車流量隱藏狀態H作為輸出。要想計算出車流量 現階段的預測值Y,需要通過下面具體函數來計算。
    ft =^(Xi *Uf + Ht_i W (3-1)
    C't = tanh(Xt *Uc + Ht_1 *WC) (3-2)
    It =^(+ Ht_i *Wi) (3-3)
    Ot "(Xt *Uo + H—i *Wo) (3-4)
    Ct = f * Ct—1 + It * Ct (3-5)
    Ht = Ot * tanh(Ct) (3-6)
    上述公式中的參數分別為包括權重參數U、W,t時刻,輸入參數Xt,輸出參 數Ht,存儲狀態C,上一時刻,存儲狀態參數C-,輸出參數Ht1等。
    算法過程如下。
    Steptl,將t時刻的Xt和上一時刻的輸入H一通過Sigmoid和tanh激活函數 來進行計算,得到取F,C,I, 0的值,即四個門的值。
    St ep t2,計算t時刻的Ct,等于F乘以Ct _1加上I, 0的乘積,其中F表示遺 忘門它分為兩個狀態1表示不遺忘,0表示完全遺忘。
    St ep t3,計算t時刻輸出值Ht和狀態值Ct的tanh結果值,同時計算出該結 果值和Ot的乘積。
    St ep t4,現有車流量預測模型在計算Ot時簡化了傳統的計算公式,這種計算 方法不但提高了代碼計算效率而且對于模型的計算精度也并沒有太大影響。
    3.3 基于 LSTM 的高速公路車流量預測算法實現
    3.3.1車流量預測算法實現
    本文選擇基于 Kereas 的算法基礎上進行 LSTM 的模型建立,考慮到車流量預 測實際問題,本文模型是在3層LSTM的基礎上,對U,W權重進行不斷更新, 通過迭代優化 Mes 函數計算每一個神經元內各個門層的梯度來完成。其中把 Sigmoid激活函數代替為Relu函數,Adam作為優化器,輸出最后結果Ht縮放后, 就可以得到所要計算的車流量預測值。
    MSE =空=-£ w,(y, — yf )2 (3-7)
    n n i =1
    LSTM模型可以分為有狀態和無狀態兩種。他們的區別在于前者的第一個輸 出單元狀態可為下一個的輸入初始狀態,這樣可以進行完成樣本時序關系的學習, 對長序列預測比較適用。而后者不進行記憶單元狀態傳遞,輸入樣本后,重新排 列的樣本之間相互獨立。
    下面分別對有狀態和無狀態的LSTM模型進行測試,具體步驟如下:
    St ep tl,設定模型每次學習案例數即批次大小為50,訓練次數為60,時間步 長設為1。
    Stept2,對訓練集和測試集分別進行區分,為后續工作做好準備。
    St ep t3,對要用到的數據進行數據縮放和維度變換處理。
    St ep t4,建立LSTM模型并進行調整參數,通過計算均方根誤差RMSE來作 為優劣判斷標準。
    RMSE = 4msE =庚=Jn 工;w,(y, — yf )2 (3-8)
    計算結果為:有狀態的LSTM預測模型RMSE為24.9。無狀態的LSTM預 測模型RMSE為20.7。通過計算結果對比分析,建立無狀態的LSTM預測模型 效果較好。
    綜上所述,本文使用建立的無狀態的LSTM模型進行預測。需要說明的是, 考慮實際車流量數據的保密性,本文中用于實驗的數據是根據真實數據進行模擬 得來,具有一定參考價值,在實際應用中,該模擬數據預測出來的數據具有參考 意義。根據大數據平臺直接獲取高速公路上某匝道收費站的交通流量值進行預測。 選擇該收費站的通行明細作為模型的訓練數據集,考慮到數據的有效性,訓練數 據的時間段選擇是2019年1月1日至2019年3月31日,測試數據的時間段選擇 2019年4月1日至2019年4月30日,時間間隔是2小時,對數據進行預處理之 后使用。通過算法進行特征訓練后的新模型去預測未來一天內 00:00-02:00、 02:00-04:00 、 04:00-06:00 、 06:00-08:00 、 08:00-10:00 、 10:00-12:00 、 12:00-14:00 、 14:00-16:00 、 16:00-18:00 、 18:00-20:00 、 20:00-22:00 、 20:00-22:00 共 12 個時間段的車流量,結果如圖 3.4所示,預測一周的車流量, 結果如圖3.5所示,預測一個月的車流量,結果如圖3.6所示,該圖是由LSTM 預測出來的數據和實際結果數據由E-chart繪制出來的結果對比圖,其中藍色表示 實際結果,紫色表示LSTM預測結果。
     
     
     
    圖 3.5 一周 LSTM 預測結果與實際結果對比圖
     
     
    從圖3.4、圖3.5、圖3.6中可以看出,預測結果和實際結果周期性和趨勢性 基本保持一致, 計算其均方根誤差分別為一天 RMSE=3.2094、 一周 RMSE=8. 7121、一個月RMSE=18. 8225,即計算預測值和實際值的偏差,數值較 小,表示其效果越好,隨著數據量增大,均方根誤差也在增大。
    3.3.2應急預案決策方法
    分析大量的高速公路運營數據,我們可以發現,每天的固定時間,會出現高 峰車流量時間段(考慮到每年的國家法定節假日免費通行且車流量數據變化較大, 只預測日常時間)。車流量數據高峰時間段有著一定的周期性。
    需要說明的是,考慮實際數據的保密性,本文中進行實驗的數據均為模擬數 據。例如,XX省高速公路XX段XX收費站,假設該收費站的車道是由二個入口和 三個出口組成,收費站平均每天出去車輛大約有 900 輛。如果每輛車平均通行時 間大約為25秒,那么計算下來每一個小時該收費站通過的車輛大概為145輛,為 了計算出最多能通行多少輛車,我們假設讓所有出口的車道都可通行,那么對于 該收費站而言,在一個小時所能通過的最多車輛數目為435,如果每天高峰期或 者小長假時間段車輛通行數量多于該收費站最大能通行的車輛,我們就應該考慮 一些應急預案方法。
    研究收費站車流量服務等級水平,總共可以分為六級,發現其劃分標準如表
    3.2所示:
    西安建筑科技大學碩士學位論文 表3. 2服務水平等級劃分標準
    級別 劃分標準
    一級 車輛即到即走,無需等待
    二級 進入收費站后,少部分車輛需等待,大部分即到即走
    三級 每個收費車道大約有一輛車在排隊等候,且慢慢形成車隊,司機感到行駛緩慢 四級 每個收費車道大約有三輛車在排隊等候,所有到達的車輛都需要進行排隊,司機 明顯感到行駛緩慢
    五級 每個收費車道大約有十輛車在排隊等候,超過了司機所能忍受的時間
    六級 車輛持續到達,己經排成長隊,而且服務能力有限,排隊不斷延長
    根據預測出的每小時車流量最大通過車輛數與道口每小時最大通過車輛數的 比例,將擁堵等級分為四級(同時考慮擁堵性質以及擁堵嚴重程度是否可以進行 控制和所造成的影響范圍等因素):假設預測出的每小時車流量最大通過車輛數 為m,道口每小時最大通過車輛數為n,擁堵長度為L。
    如果m21.5n,發生或預測即將發生擁堵情況,影響對車輛的收費服務,則 擁堵等級為IV級(一般)。采取IV級應急措施,應該立刻開始啟用備用車道,分 配增加指揮疏導人員,進行車輛現場指揮分流調度。
    如果m23n,已經發生了擁堵情況或者能預測即將發生擁堵情況,且L〉100m, 雖然擁堵導致了收費站服務水平降低,但干線目前還保持通暢,但目前未影響干 線,則擁堵等級為III級(較大)。采取III級應急措施,立即向上級部門報告,應 該立刻開始啟用備用車道,分配增加指揮疏導人員,進行車輛現場指揮分流調度, 采用串行復式收費方式,其中包括手持移動支付終端以及便攜機啟用。
    如果擁堵長度整個超出了出口匝道,且L>200m,如果干線目前還保持通暢, 擁堵等級為II級(重大);如果干線行車道也已經擁堵,則擁堵等級為I級(特 別重大)。
    一旦發生II級以上的擁堵時,首先應該按級別及時向省交通廳進行報告,一 旦遇到特殊情況,也可以通過越級進行上報,需要幫助時,也可以向政府部門或 當地交警尋求幫助。
    通過計算數據來分析擁堵等級,并對每天高速公路收費站進行高效排班,調 整班組收費員人數和彈性安排工作時間,科學化增設收費車道,提高車輛通行效 率,緩解擁堵。
    3.4 小結
    本章首先對循環神經網絡進行了介紹,其次研究了現有的車流量檢測技術, 明確了現有收費站的檢測技術。對收費站數據來源與處理方法進行了詳細說明, 研究對比了現有的車流量預測方法,研究了適用于本文的基于LSTM算法的車流 量預測方法,最終對該算法進行了實現并提出了應急預案方法,為管理者決策提 供依據。
    4基于改進 MD5 算法的系統登錄加密技術研究
    4.1 單項散列函數
    4.1.1單項散列函數基本原理
    在研究MD5算法前應該先進行單向散列函數(Hash函數)[45-46]的研究,單 向散列函數的原理,對于變化長度的字符串而言,不論該字符串長度如何,最終 通過函數變化后,都能輸出長度一樣內容不同的字符串。它的優點是可以很輕松 的把預映值變為散列值,而逆向變化很困難并且兩個預映射值不可能產生同樣的 的散列值。因此,輸出不取決于輸入,保障了單向散列函數的安全性。
    假設要計算一個消息M的散列值h,通過(4-1)來進行計算,其中h為固定 長度:
    h=H(M) (4-1)
    由(4-1)可以看出,單向散列函數特性如下:
    (1)通過一個給定值M,即可很快計算出h值。
    (2)通過一個給定值h,根據H(M) =h很難計算出M的值。
    (3)通過一個給定值M,尋找M'讓H(M)=H(M')不容易找到。
    實際上,單向散列函數的思想是基于壓縮函數來創建的。消息 M 對應唯一散 列值h,所以一旦有人想要獲取某一消息,則必須先毀壞單向函數的安全性,在 此基礎上,才有可能獲得該消息。
    現假設存在一個長度非常長的消息作為一個輸入,想要通過單向散列函數來 計算其輸出值,那么需要將長度很長的消息進行分段輸入,從第一段開始輸入第 一個消息片段,第二個輸入為消息和前一個消息的輸入作為一個輸入,按照這種 方法,最后輸出其散列值。則消息片段叫的散列值計算方法為:
    hi=f(Mi,hi-1) (4-2)
    過程圖如圖 4.1 所示:
    Mj q
    —匚“?單向散列函數 一-―
    圖 4.1 單向散列函數輸入輸出值表示值
    該散列值又被當做下一階段的輸入來參與計算,按照這種方法重復去做,最 終計算得到整個消息的散列值n。
    散列值的安全性是由散列值的長度來決定的,即如果一個消息的散列值長度 越長,則表示該消息安全性越高。例如,如果計算機安全中產生一個128位的散 列值,那么它的攻擊難度會增加許多,如果要考慮MD5算法來提高計算安全性, 可以從增加散列值長度來出發考慮。具體步驟如下:
    (1) 首先通過單向散列函數來生成一則消息的散列值。
    (2) 將該散列值附于消息之后。
    (3) 生成一個散列值,該散列值包含其散列值和消息在內的所有數值。
    (4) 組合(1)中結果和(3)中結果來生成一個長度更加大的散列值。
    (5) 重復(1)至(3)步若干次。
    這樣就可以生成一個長散列值。
    4.2 MD5 介紹與應用
    4.2. 1 MD5介紹
    MD5 (Message-Digest algorithm 5) [47]信息-摘要算法,由經 MD2、MD3 和 MD4 發展而來。 MD2、 MD4、 MD5 都有一個相同特點,都要生成信息摘要, 該摘要為128位,且通過隨機長度的信息生成。而且再加上MD5算法可以進行 免費使用,所以作為一種優秀的中間技術被大家所青睞。
    4. 2. 2 MD5應用
    MD5 經常被用在注冊信息和數據庫應用中,例如,當用戶創建一個用戶名和 密碼時,如果密碼在存入數據庫時進行 MD5 加密保存,那么只需輸入明文密碼 就可完成登錄,不需要知道加密后存入數據庫的數據。因為MD5進行一次加密 算法不可解密,一旦密碼丟失,很難找回原密碼,需要修改以前的用戶資料,要 求用戶重新進行注冊。
    4. 2. 3 MD5安全性
    MD5 的安全性可以得到保障的主要原因有兩個。第一,想要使得兩個消息經 過 MD5 算法處理產生同一消息摘要結果的概率為 264分之一;第二,如果知道一 個消息摘要,想要去求得原消息的概率為 2128分之一,是很困難的。
    4.3 MD5 算法基本原理
    MD5算法[48]在處理一個輸入的文本時,先將該文本進行劃分,劃分成512位, 后面用它來進行分組,分組后的每一個小組又包括 16個子分組,且每個子分組都 是32位。把這最后4個32位分組進行級聯組成一個散列值進行輸出,該散列值 是 128 位。
    MD5 算法具體操作步驟如下:
    St epl:填充加密信息
    假設原消息的長度為L,倍數為m,則為了使L=m*512-64,將傳輸信息進行分 組,每512比特為一組,用1位和0位來進行填充,其中1位只可用一個,而0 位可以用多個。填充總是相加上去的,最終使得消息長度=512的倍數-64 位。
    下面進行舉例說明,因為總長度=512的倍數-64 位,所以一個原始消息的長 度既可以是448位=512-64或是960位=512*2-64又或者1472=512*3-64。
    Step2:添加長度 想要計算原始消息長度,首先對原始消息進行填充,完成后需要把它加入到 已經進行填充后的消息最后。例如,假設一個消息的長度是 1000 位,進行了 572 位填充,則消息長度就不是1572 而是1000。
    假設消息長度為L,如果L<264位,則用L來表示64位值并加入消息最后。 如果L>264位,則用低64位來表示。那么要求散列的消息長度要等于512的倍數。
    Step3:將輸入分成512位的塊
    Step4:初始化鏈接變量
    對4個變量進行初始化,分別標記為A, B, C, D,每一個初始化后的變量都 用 32 位數字來表示,初始十六進制值如表 4.1 所示。
    表 4.1 鏈接變量
    A 十六進制 01 23 45 67
    B 十六進制 89 AB CD EF
    C 十六進制 FE DC BA 98
    D 十六進制 76 54 32 10
    則:A=0X01234567;
     
    B=0X89abcdef;
    C=0Xfedcba98;
    D=0X76543210;
    Step5:處理塊
    初始化完成之后,要開始實際算法步驟。對消息中的多個 512 位塊循環運行。
    (1)分別復制 4 個鏈接變量給 a,b,c,d 中,通過讓 a=A , b=B , c=C , d=D , 輸出的結果在abed中進行存儲,包括中間結果的存儲和最終結果的存儲,而且是 一個128位寄存器;將512位塊又可以分為16個子塊,其中的每一個子塊對應的 位數又為 32 位;
    (2)主循環進行四輪,在每一輪中可以對一個塊中的包含的16個子塊進行 處理。
    (a)16 個子塊。其中每一輪都會包括16個子塊的輸入,每個子塊中又包含 32位可用M[i]進行表示,其中i是從0到15。
    (b)變量 a, b, e, d;
    (e)常量t。t作為一個包含64個元素的常量數組,而在每個元素中,又 包括32位元素,在進行四輪循環分配時,每一輪又可以用到t值中的16個元素, 數組t可用t [i]進行表示,其中i是從1到64。
    四輪迭代操作具體詳細步驟如下:
    根據F、G、H、I函數分別對a,b,c,d進行線性函數運算。
    四次線性操作中用到的線性函數運算(布爾運算)具體操作為:
    第一次操作用到的線性函數F: F(x,y,z) =(x&y)|((~x) &z); 第二次操作用到的線性函數G: G(x, y, z) =(x&z)|(y &(~z)); 第三次操作用到的線性函數H: H(x, y, z) =x'y'z; 第四次操作用到的線性函數I: I (x, y, z)=y" (x| (~z)); 其中:&代表與操作,|代表或操作,~代表非操作,’代表異或操作。 函數設計思想為:如果 x、y 和 z 的對應位是獨立和均勻的,那么結果的每 一位也是獨立和均勻的,函數F是按逐位方式操作;如果X,那么Y,否則Z, 函數 H 是逐位奇偶操作。
    a)在a)的輸出結果中加入變量a。
    b)在b)的輸出結果中加入消息子塊M[i]。
    e)在c)的輸出結果中加入常量t [i]。
    d)將d)的輸出結果循環左移s位
    e) 在e)的輸出結果中加入變量b。
    f) f)的輸出結果成為下一步新的abed。
     
    圖 4.2 MD5 一個執行過程
     
    圖4.2表示MD5 一個執行過程,其中Mi表示16個分組,i從0到15。其 中〈〈〈S代表需要往左循環移動s位,則四種操作為:
    FF(a,b, e, d,Mi, s, ti)表示 a二b+((a+(F(b, e, d)+Mi+ti)〈〈〈s)
    GG(a, b, e, d, Mi, s, ti)表示 a=b+((a+(G(b, e, d) +Mi+ti) <<<s)
    HH (a, b, e, d, Mi, s, ti)表示 a=b+ ((a+ (H (b, e, d) +Mi+ti) <<<s)
    II (a, b, e, d, Mi, s, ti)表示 a=b+ ((a+ (I (b, e, d) +Mi+ti) <<<s)
    在算法操作中過程中,每一輪一共包括16個寄存器,主要通過寄存器abed 來進行結果存儲,主要用于存儲每一輪輸出的中間結果和算法完執行完輸出的最 終結果。
    總共進行 4 輪操作,每輪可進行 16 次操作: 第一輪具體操作如下:
    FF(a,b,e,d,M0,7,0xd76aa478) FF(d,a,b,e,M1,12,0xe8e7b756)
    FF(e,d,a,b,M2,17,0x242070db) FF(b,e,d,a,M3,22,0xe1bdeeee)
    FF(a,b,e,d,M4,7,0xf57e0faf) FF(d,a,b,e,M5,12,0x4787e62a)
    FF(e,d,a,b,M6,17,0xa8304613) FF(b,e,d,a,M7,22,0xfd469501)
    FF(a,b,e,d,M8,7,0x698098d8)
    FF(d,a,b,e,M9,12,0x8b44f7af)
    FF(e,d,a,b,M10,17,0xffff5bb1)
    FF(b,e,d,a,M11,22,0x895ed7be)
    FF(a,b,e,d,M12,7,0x6b901122)
    FF(d,a,b,e,M13,12,0xfd987193)
    FF(e,d,a,b,M14,17,0xa679438e)
    FF(b,e,d,a,M15,22,0x49b40821)
    第二輪具體操作如下:
    GG(a,b,e,d,M1,5,0xf61e2562)
    GG(d,a,b,e,M6,9,0xe040b340)
    GG(e,d,a,b,M11,14,0x265e5a51)
    GG(b,e,d,a,M0,20,0xe9b6e7aa)
    GG(a,b,e,d,M5,5,0xd62f105d)
    GG(d,a,b,e,M10,9,0x02441453)
    GG(e,d,a,b,M15,14,0xd8a1e681)
    GG(b,e,d,a,M4,20,0xe7d3fbe8)
    GG(a,b,e,d,M9,5,0x21e1ede6)
    GG(d,a,b,e,M14,9,0xe33707d6)
    GG(e,d,a,b,M3,14,0xf4d50d87)
    GG(b,e,d,a,M8,20,0x455a14ed)
    GG(a,b,e,d,M13,5,0xa9e3e905)
    GG(d,a,b,e,M2,9,0xfeefa3f8)
    GG(e,d,a,b,M7,14,0x676f02d9)
    GG(b,e,d,a,M12,20,0x8d2a4e8a)
    第三輪具體操作如下:
    HH(a,b,e,d,M5,4,0xfffa3942)
    HH(d,a,b,e,M8,11,0x8771f681)
    HH(e,d,a,b,M11,16,0x6d9d6122)
    HH(b,e,d,a,M14,23,0xfde5380e)
    HH(a,b,e,d,M1,4,0xa4beea44)
    HH(d,a,b,e,M4,11,0x4bdeefa9)
    HH(e,d,a,b,M7,16,0xf6bb4b60)
    HH(b,e,d,a,M10,23,0xbebfbe70)
    HH(a,b,e,d,M13,4,0x289b7ee6)
    HH(d,a,b,e,M0,11,0xeaa127fa)
    HH(e,d,a,b,M3,16,0xd4ef3085)
    HH(b,e,d,a,M6,23,0x04881d05)
    HH(a,b,e,d,M9,4,0xd9d4d039)
    HH(d,a,b,e,M12,11,0xe6db99e5)
    HH(e,d,a,b,M15,16,0x1fa27ef8)
    HH(b,e,d,a,M2,23,0xe4ae5665)
    第四輪具體操作如下:
    II(a,b,e,d,M0,6,0xf4292244)
    II(d,a,b,e,M7,10,0x432aff97)
    II(e,d,a,b,M14,15,0xab9423a7)
    II(b,e,d,a,M5,21,0xfe93a039)
    II(a,b,e,d,M12,6,0x655b59e3)
    II(d,a,b,e,M3,10,0x8f0eee92)
    II(e,d,a,b,M10,15,0xffeff47d)
    II(b,e,d,a,M1,21,0x85845dd1)
    II(a,b,e,d,M8,6,0x6fa87e4f)
    II(d,a,b,e,M15,10,0xfe2ee6e0)
    II(e,d,a,b,M6,15,0xa3014314)
    II(b,e,d,a,M13,21,0x4e0811a1)
    II(a,b,e,d,M4,6,0xf7537e82)
    II(d,a,b,e,M11,10,0xbd3af235)
    II(e,d,a,b,M2,15,0x2ad7d2bb)
    II(b,e,d,a,M9,21,0xeb86d391)
    按照上述步驟做完后,將a, b, e, d分別加入A, B, C, D上,在下一次繼續計 算分組數據時對其進行應用。
    Step6:輸出
    最終,MD5算法的輸出結果是一個包括128位的A、B、C、D從低字節到高 字節進行的級聯。算法結束。
    4.4 MD5 算法實現及改進
    4. 4. 1 MD5算法改進
    本文系統中人員管理模塊中在保存密碼時加入了 MD5 算法,針對實際實現 的基礎上,本文也做了一些具體改進。
    在輸入密碼時,通過后臺操作進行 MD5 轉換存入數據庫中,具體操作代碼 如下:
    UserInfo.setPASSWord(new MD5().getMD5ofStr(UserInfo.getPASSWord()));
    其中 UserInfo.setPASSWord()是輸入 的明文密碼,new MD5().getMD5ofStr() 為調用 MD5 算法操作,通過該操作后已經完成了名稱密碼轉換成 MD5 密碼,再 通過Userlnfo.setPASSWord()存到數據庫中。
    實驗結果如圖4.3所示
    - INPUT PASSWORD
    hhcc5678 a0fc906b913el73ffb24e435144513ba
    ygfdflj 01ffacca9e82c02e20bl93092f9e080e
    156890 6f5ad392332680526760279730ff98d9
    Password234 b81e70651fbl3d7d7051ccl684c0f91e
    pass wordl d45161bl368fbc49d86a377445667141
    testv/ord 97d7f037cc3360e21991849c0dff4985
    adminl e00cf25ad42683b3df678c61f42c6bda
    000000 670bl4728ad9902aecba32e22fa4f6bd
    abcdef e80b5017098950fc58aad83c8cl4978e
    123456 el0adc3949ba59abbe56e057f20f883e
    圖 4.3 MD5 轉換結果
     
    其中INPUT時我們輸入的明文密碼,PASSWORD是經過MD5算法轉換后 的加密密碼,且不可逆,分別對數字、大小寫字母、下劃線均進行了測試。
    例如實際操作過程中我們會經常輸入一些常用密碼,例如123456,而123456
    的MD5密碼為“el0adc3949ba59abbe56e057f20f883e”,一旦得到具體數據庫數據, 那么這些常用密碼可以進行查找出來。針對上述問題,為了提高密碼儲存安全性,
    本文在 MD5 算法的基礎上做了改進,從增加變換次數和密鑰空間的角度考慮, 來提高加密強度。
    具體步驟如下:
    Step1:在系統中輸入明文密碼,經過MD5算法轉換儲存到數據庫中,輸入 需要進行加密的信息,使用 MD5 進行加密,得到 MD5 算法產生的信息摘要;
    Step2:截取存入數據庫中字符串的4至18位;
    Step3:隨機生成一個15位的字符串(包括:字母、下劃線、特殊字符);
    Step4:填充數據庫中截取的部分,并存入數據庫中。 部分代碼實現結果為:
    Str1=md5 (“123456”); 〃對“ 123456”進行 MD5 加密 Admin_Pass=Mid(md5(Admin_Pass,32),4,18); //截取數據庫中存入字符串的 4 到 18 位; Str2=”sfdUYY8_JKFD829”; //隨機生成15位字符串
    Password=str_replace( Admin_Pass,Str2, Str1 ); //替換
    改進后實驗結果如圖4.4所示:
    INPUT PASSWORD
    hhcc5678 a0fWEF89-@797-0ra$24e435144513ba
    156890 6f5bqikkas@ijls65drw60279730ff98d9
    Password234 b81WWSNGDK163 lqik51ccl684c0f91e
    pass wordl d45emaomaofflll#o6a377445667141
    testword 97d89klcvbf=$ooqql91849c0dff4985
    admi ni e00ol314*yuendokw678c61f42c6bda
    000000 670cllwssfgyyj%swgba32e22fa4f6bd
    abcdef e80aiqwrjqfqkp #$goaad83c8cl4978e
    A 123456 el0bhuioASW%gfwo56456e057f20f883e
    ygfdfjj 01f$Jiiisj7*nvdklbl93092f9e080e
    圖 4.4 改進 MD5 轉換結果
    對比實驗結果進行分析發現,改進前數據庫中存入的加密字符串是32位的 16進制數,則其密鑰空間為16的32次方,即2的128次方。改進后的MD5加 密算法存入數據庫中的結果經過一次變化,其密鑰空間第4-18個字符為64的15 次方,剩余的為16的17次方最終總的秘鑰空間為2的158次方,從密鑰空間的 角度提高了系統登錄密碼的安全性,這樣即使得到了數據庫存儲的字符串數據, 也不能找到對應的常用密碼,本算法是在MD5加密算法的基礎上進行改進的, 是單向加密算法,不需要進行解密。
    登錄收費站人員值班管理系統后,注冊完人員信息。進行登錄時,前臺輸入 用戶名密碼,后臺拿到用戶名密碼,檢查核對存入后臺數據庫中的加密密碼,核 對成功即可完成登錄過程,進入主頁面進行下一步操作。
    4. 4. 2 MD5算法實現
    根據算法基本原理和具體步驟,本文通過JAVA語言來進行實現。例如:人 員管理中保存密碼功能實現在UserController中的Save()函數中,部分實現代碼 如下:
    UserInfo.setPASSWord(new MD5().getMD5ofStr(UserInfo.getPASSWord()));
    4.5 小結
    從保障系統登錄的安全性出發,本章主要研究了基于MD5的加密算法,首 先研究了加密算法的基礎即單項散列函數,其次引出MD5算法,對該算法的安 全性和其所應用的領域進行了介紹,最后,研究了 MD5算法基本原理進行了實 現并針對算法實際應用中存在的問題對算法進行了改進,為后面系統實現安全登 錄打好基礎。
    5高速公路收費站車流量預測與信息管理系統設計與實現
    本系統的系統架構采用B/S架構。根據業務層的不同需求,數據層在Hibernate 關系映射框架下通過持久層的接口來對數據庫程序包進行操作。在B/S架構下, 利用CSS、HTML、JAVAScript等相關技術來控制Web頁面相關顯示。
    (1)表現層
    表現層即在瀏覽器上通過基于Web方式進行顯示。通過JAVAScript和Ajax 等技術調用后臺數據展示在前臺頁面中。
    (2)業務邏輯層
    業務邏輯層通過對業務Action的重用,利用JAVA語言實現對持久層調用功 能,完成業務工作。
    (3)持久層
    持久層主要通過Hibernate將業務數據庫連接對象對應到相應的P0中,提供 連接數據庫作用,通過調用DAO方法中數據庫操作方法來實現對Oracle中的數 據庫數據進行操作。
    (4)數據庫層
    本系統的數據庫層選擇Oracle數據庫,根據數據的不同類型來進行數據庫中 數據的存儲。
    5.1 系統設計準則
    系統設計需要結合企業實際情況,需要考慮以下幾個方面:
    (1)考慮開發技術的先進性和現有產品的成熟性
    在信息技術快速發展的今天,設計系統時應該對技術先進性和產品成熟性之 間的關系進行一個平衡,真正理解用戶業務需求的同時把握技術發展方向。所以 設計項目時應考慮比較成熟的體系結構,應該搭建一個可以進行伸縮的框架,進 一步強化本系統的拓展能力[49]。
    (2)考慮標準化開發
    在進行項目開發時,只有進行標準化信息系統開發才能做好系統穩定性的保 障。這種標準化開發可以體現在很多地方,例如,系統搭建的軟件架構、所需的 硬件平臺、或者要用到的數據庫系統都得符合國家標準[50]。
    (3)考慮系統易用性和安全性
    設計實現系統,應考慮到系統的可靠運行,因為對于企業來說,管理系統是 其中的一個重要工具,它的易操作性和數據安全性是首先要考慮到的。因此需要 采取適當的安全保障方案,例如,對登錄密碼進行加密,各服務器客戶端進行分 離等操作,來保障企業數據安全[51]。
    (4)考慮系統實用性和適用性
    系統設計應該從企業實際需求出發,著力解決企業目前存在的問題,根據具 體問題去設計,提出比較實用的方案,充分考慮是否適用于企業發展,權衡實用 性和經濟性的最佳性價比搭配,設計出兼具實用性和適用性的一款信息系統。[52]。
    (5)考慮可擴展性和開放能力 設計之初就要考慮進行標準技術開發,從系統的復用性和擴展性兩個方面出
    發,在開發時應做好接口預留工作,方便以后和其他系統進行集成,提高系統復 用及擴展性,讓其應用更廣,為企業節約成本,提高價值。
    基于上述設計準則,該系統在充分理解用戶需求的基礎上,進行了詳細設計。 考慮技術先進性和產品成熟性,該系統體系架構選用 B/S 架構,編程框架選擇 SSH,服務器選用Tomcat服務器,數據庫選擇Oracle數據庫,均為比較成熟的技 術,為系統開發做好基礎技術保障。考慮標準化開發,該系統采用JAVA語言做 為主要開發語言,使用JSP技術、JAVAScript腳本語言等前端開發技術,建立一 個開放的、標準化的管理系統。考慮到易用性和安全性,該系統在頁面設計上保 持風格統一,界面美觀,易上手,可操作性強。安全性上將業務服務器、數據服 務器、客戶端分離,設計登錄密碼,數據庫備份,來保障數據安全。考慮系統實 用性上,該系統是針對收費站實際工作中業務需求來進行設計的,具備實用性。 考慮可擴展性和開放能力,該系統目前只是一個收費站子系統,未來計劃預留接 口和管理所級以上及分公司系統進行擴展應用。
    5.2 系統功能設計
    高速公路收費站車流量預測及信息管理系統是為收費站人員提供快速日 常信息管理、日常值班計劃日志管理而擬研制的系統,主要包括信息管理、值 班管理、日志管理、輔助功能四個主要模塊如圖 5.1 所示,每個模塊里根據收 費站日常具體事務分別進行了詳細管理內容設計,有效滿足收費站人員日常值 班管理需求。
     
     
    圖 5.1 收費站值班管理系統詳細設計
    5.2.1信息管理模塊功能設計
    信息管理主要用于收費站日常信息管理和維護。主要包括人員管理、綜合管 理、電話管理、資料管理、通報管理和設備管理 6 個子模塊,信息管理中所有子 模塊和具體功能設計如圖5. 2所示。
     
    (1)人員管理功能具體類設計 人員管理功能是用于管理和維護高速公路收費站所有工作人員的個人信息, 包括收費站內工作人員的照片信息、工作年限、收費員服務等級等基本信息。根 據人員管理具體功能設計設計人員管理具體類,具體類設計如下表 5.1:
     
    表5.1人員管理具體類設計
    類名稱 類標識 功能 類實現名稱
    添加 SaveUser() 添加用戶信息 UserController
    修改 SaveUser()、load() 修改用戶信息 UserController
    刪除 deleteUser() 刪除用戶信息 UserController
    查詢 getUserData() 設定條件查詢用戶信息 UserController
    2)綜合管理功能具體類設計
    綜合管理主要用于展示收費站一些主要通知活動,包括活動標題、活動內容 以及活動的一些照片等基本信息,根據綜合管理具體功能設計,進一步具體設計 綜合管理具體類,具體類設計如下表 5.2:
    表 5.2 綜合管理具體類設計
    類名稱 類標識 功能 類實現名稱
    添加 SaveManageInfo() 添加綜合管理信息 ManagementController
    修改 SaveManageInfo()、load() 修改綜合管理信息 ManagementController
    刪除 deleteManageInfo() 刪除綜合管理信息 ManagementController
    查看 load() 查看綜合管理信息 ManagementController
    (3) 電話管理功能具體類設計
    電話管理功能用于管理各部門電話信息,包括部門名稱、部門電話等基本信 息,根據電話管理具體功能設計,進一步具體設計電話管理具體類,具體類設計 如下表 5.3:
    表 5.3 電話管理具體類設計
    類名稱 類標識 功能 類實現名稱
    添加 SavePhoneInfo() 添加電話信息 PhoneController
    修改 SavePhoneInfo()、load() 修改電話信息 PhoneController
    刪除 deletePhoneInfo() 刪除電話信息 PhoneController
    查詢 getPhoneData() 設定條件查詢電話信息 PhoneController
    4)資料管理功能具體類設計
     
    資料管理用于管理收費站資料信息,例如:收費政策文件、安全管理等信息,
    包括資料類型和資料名稱信息,根據資料管理具體功能設計,進一步具體設計資
    料管理具體類,具體類設計如下表 5.4:
    西安建筑科技大學碩士學位論文
    表5. 4資料管理具體類設計
    類名稱 類標識 功能 類實現名稱
    添加 SaveDataInfo() 添加資料信息 DataController
    編輯 SaveDataInfo()、load() 修改資料信息 DataController
    刪除 deleteDataInfo() 刪除資料信息 DataController
    查詢 getDataInfo() 設定條件查詢資料信息 DataController
    下載 Download() 下載資料信息 FileController
    5)通報管理功能具體類設計
     
    通報管理用于管理收費站通報信息,例如:班組獎懲和整改情況,根據通報 管理具體功能設計,進一步具體設計通報管理具體類,具體類設計如下表5.5:
    表5.5 通報管理具體類設計
    類名稱 類標識 功能 類實現名稱
    添加 SaveNoticeInfo() 添加通報信息 NoticeController
    編輯 SaveNoticeInfo()、load() 修改通報信息 NoticeController
    刪除 deleteNoticeInfo() 刪除通報信息 NoticeController
    6)設備管理功能具體類設計
     
    設備管理主要是將高速公路收費站內現有的設備進行統一管理,包含現有設
    備的名稱、配發時間、軟件安全殺毒、設備硬件保養、當前狀態、設備故障匯總、 設備硬件保養等設備信息,根據設備管理具體功能設計,進一步具體設計設備管 理具體類,具體類設計如下表5.6:
    表5.6 設備管理具體類設計
    類名稱 類標識 功能 類實現名稱
    添加 SaveEquipInfo() 添加設備信息 EquipController
    編輯 SaveEquipInfo()、load() 修改設備信息 EquipController
    刪除 deleteEquipInfo() 刪除設備信息 EquipController
    查詢 getEquipInfo() 設定條件查詢設備信息 EquipController
    查看 load() 查看設備信息 EquipController
    5.2.2 值班管理模塊功能設計
     
    值班管理主要用于記錄收費站日常值班計劃。包括本年度值班計劃、本季度
    值班計劃、本周值班計劃、車流量預測管理、應急預案管理5個子模塊,值班管
     
    理模塊設計圖如圖 5.3 所示。
     
    圖 5.3 值班管理模塊設計圖
    (1)本年度值班計劃具體類設計
    本年值班計劃以Word文檔的形式,上傳年度值班計劃文件,并對其進行管
    理。根據本年度值班計劃具體功能設計,進一步具體設計本年度值班計劃具體類, 具體類設計如下表 5.7:
    表 5.7 本年度值班計劃具體類設計
    類名稱 類標識 功能 類實現名稱
    添加 SaveYearPlanInfo() 添加年度值班信息 YearPlanController
    修改 SaveYearPlanInfo()、load() 修改年度值班信息 YearPlanController
    刪除 deleteYearPlanInfo() 刪除年度值班信息 YearPlanController
    查詢 getYearPlanInfo() 設定條件查詢年度值班信息 YearPlanController
    下載 Download() 下載年度值班信息 FileController
    2)本季度值班計劃具體類設計
    本季度值班計劃以 Word 文檔的形式,上傳季度值班計劃文件,并對其進行
    管理。根據本季度值班計劃具體功能設計,進一步具體設計本季度值班計劃具體 類,具體類設計如下表 5.8:
     
    表5.8 本季度值班計劃具體類設計
    類名稱 類標識 功能 類實現名稱
    添加 SaveSeasonPlanInfo() 添加季度值班信息 SeasonPlanController
    修改 SaveSeasonPlanInfo()、load() 修改季度值班信息 SeasonPlanController
    刪除 deleteSeasonPlanInfo() 刪除季度值班信息 SeasonPlanController
    查詢 getSeasonPlanInfo() 設定條件查詢值班信息 SeasonPlanController
    下載 Download() 下載季度值班信息 FileController
     
    (3)本周值班計劃具體類設計
    本周值班計劃展示領班員和值班員本周具體工作內容計劃,根據本周值班計 劃具體功能設計,進一步具體設計本周值班計劃具體類,具體類設計如下表5.9:
    表5.9 本周值班計劃具體類設計
    類名稱 類標識 功能 類實現名稱
    添加 SaveWeekPlanInfo() 添加本周值班信息 WeekPlanController
    編輯 SaveWeekPlanInfo()、load() 修改本周值班信息 WeekPlanController
    刪除 deleteWeekPlanInfo() 刪除本周值班信息 WeekPlanController
    查詢 getWeekPlanInfo() 設定條件查詢值班信息 WeekPlanController
    查看 load() 查看本周值班信息 WeekPlanController
    4)車流量預測管理具體類設計
    車流量預測管理功能可以選擇預測未來某一時間段車流量,并繪制曲線圖。 根據車流量預測管理具體功能設計,進一步具體設計車流量預測管理具體類,具 體類設計如下表 5.10:
    表5.10 車流量預測管理具體類設計
    類名稱 類標識 功能 類實現名稱
    查詢 getForecastInfo() 設定條件查詢要預測的車流量信息 ForecastController
     
    (5)應急預案管理功能具體類設計
    根據高峰期預測數據采取相應預案合理安排值班人員工作,根據應急預案管 理具體功能設計,進一步具體設計應急預案具體類,具體類設計如下表5.11:
    表5.11 應急預案具體類設計
    類名稱 類標識 功能 類實現名稱
    查詢 getEmergencyPlanInfo() 設定條件查詢具體措施 EmergencyPlanController
    5.2.3 日志管理模塊功能設計
     
    日志管理主要用于記錄當日值班情況。包括值班員日志、領班員日志、個人
    工作日志3個子模塊。日志管理模塊設計圖如圖5.4所示。
    日志管理
     
    圖 5.4 日志管理模塊設計圖
    (1)領班員日志具體類設計 領班員日志記錄值班日期、值班人員、交班人員、交班時間以及上級通知等 信息,根據領班員日志具體功能設計,進一步具體設計領班員日志具體類,具體 類設計如下表 5.12:
    表 5.12 領班員日志具體類設計
    類名稱 類標識 功能 類實現名稱
    添加 SaveForemanInfo() 添加領班員日志信息 ForemanController
    編輯 SaveForemanInfo()、load() 修改領班員日志信息 ForemanController
    刪除 deleteForemanInfo() 刪除領班員日志信息 ForemanController
    查詢 getForemanInfo() 設定條件查詢領班員日志信息 ForemanController
    2)值班員日志具體類設計
    值班員日志主要功能是用來記錄值班時間、天氣、班次、值班員、當日值班 工作內容等信息,根據值班員日志具體功能設計,進一步具體設計值班員日志具 體類,具體類設計如下表 5.13:
    西安建筑科技大學碩士學位論文
    表5. 13值班員日志具體類設計
    類名稱 類標識 功能 類實現名稱
    添加 SaveDutyInfo() 添加值班員日志信息 DutyController
    編輯 SaveDutyInfo()、load() 修改值班員日志信息 DutyController
    刪除 deleteDutyInfo() 刪除值班員日志信息 DutyController
    查詢 getDutyInfo() 設定條件查詢值班員日志信息 DutyController
    3)個人工作日志具體類設計
    個人工作日志用于記錄個人工作日志,填報人姓名、填報日期、工作內容, 根據個人工作日志具體功能設計,進一步具體設計個人工作日志具體類,具體類 設計如下表 5.14:
    表5.14 個人工作日志具體類設計
    類名稱 類標識 功能 類實現名稱
    添加 SavePersonalInfo() 添加個人工作日志信息 PersonalController
    編輯 SavePersonalInfo()、load() 修改個人工作日志信息 PersonalController
    刪除 deletePersonalInfo() 刪除個人工作日志信息 PersonalController
    查詢 getPersonalInfo() 設定條件查詢工作日志信息 PersonalController
    查看 load() 查看個人工作日志信息 PersonalController
    5.2.4 輔助功能模塊功能設計
     
    輔助功能主要針對收費員業務知識水平和職業道德規范考核,可在收費知識 題庫中進行練習。在收費工作規范模塊中可學習熟悉收費工作規范,提高自己業 務水平。包括收費知識題庫、收費工作規范兩個部分,輔助功能模塊設計圖如圖 5.5 所示。
    輔助功能
     
     
     
    圖 5.5 輔助功能模塊設計圖
    (1)收費知識題庫具體類設計 通過上傳收費業務、機電維護、職業道德知識題庫,收費站人員可通過學習 題庫知識,完成月知識考核,提高業務水平,根據收費知識題庫具體功能設計, 進一步具體設計收費知識題庫具體類,具體類設計如下表 5.15:
    表 5.15 收費知識題庫具體類設計
    類名稱 類標識 功能 類實現名稱
    添加 SaveChargeInfo() 添加收費知識題庫信息 ChargeDateController
    刪除 deleteChargeInfo() 刪除收費知識題庫信息 ChargeDateController
    查詢 getChargeInfo() 設定條件查詢收費知識題庫信息 ChargeDateController
    下載 load() 下載收費知識題庫信息 ChargeDateController
    2)收費工作規范具體類設計
    通過上傳收費站具體工作文件,收費站人員即能進行工作規范學習,也能在 遇到特殊情況,進行工作規范查閱。根據收費工作規范具體功能設計,進一步具 體設計收費工作規范具體類,具體類設計如下表 5.16:
    表5. 16收費工作規范具體類設計
    類名稱 類標識 功能 類實現名稱
    添加 SaveChargeWork() 添加收費工作規范信息 ChargeWorkController
    刪除 deleteChargeWork() 刪除收費工作規范信息 ChargeWorkController
    查詢 getChargeWork() 設定條件查詢收費工作規范信息 ChargeWorkController
    下載 load() 下載收費工作規范信息 ChargeWorkController
     
     
    5.3 數據庫設計
    收費站人員值班管理系統的數據庫模塊包括數據庫邏輯表和數據庫操作,其 結構如圖5.6所示。
    數據庫操作函數
     
     
    數據庫驅動接口
     
    (1)數據庫表 數據庫表定義了數據庫的表結構,數據庫表采用關系型數據的定義模式,明 確定義了相關表的關聯關系,保障數據庫數據的一致性。
    (2)數據庫操作
    數據庫驅動ADO接口,主要提供數據庫訪問控制和高效率的數據庫操作函 數。網絡管理系統軟件的其它模塊必須通過數據庫接口才能對邏輯表中的數據進 行操作。
    本系統數據庫設計兼容相關數據設計標準和規范,涉及的數據需求主要包括
    收費站資料文件數據庫、工作日志信息庫和人員信息庫,詳細設計如圖 5.7 所示。
     
    圖 5.7 數據庫詳細設計
     
    (1) 資料數據庫:主要存儲收費站一些資料文件信息,例如:收費知識題庫、 收費工作規范、收費政策文件等。
    (2) 人員信息庫:用于存儲高速公路收費站站內工作人員的個人資料信息, 例如:人員的照片信息、收費員服務級別、聯系方式等基本信息。
    (3) 日志信息庫:主要存儲收費站日常工作信息,例如,超限車輛登記、特 種車輛登記、特殊情況處理、收繳矛盾糾紛處理、投訴情況處理、請示匯報情況。
    5.3. 1 Oracle數據庫
    Oracle 數據庫系統是被甲骨文公司開發的一種關系型數據庫管理系統,該數 據庫支持多個平臺和多種數據庫類型,能進行機構化查詢并且清楚的表明數據關 系,同時可以對分布式進行處理。Oracle數據庫有以下幾方面的特點:①支持存 儲大量數據;②存入數據庫中的數據能夠進行持久存儲;③數據可供多用戶使用, 共享性較好;④存儲在數據庫中的數據相對而言較為可靠[53-55]。
    Oracle 具有全面性、完整性、穩定性以及高效率[56],其性能優勢體現在他的 多用戶上,保持開放平臺下的 TPC-D 和 TPC-C 的世界紀錄[57]。 Oracle 同樣也是 提供了一套全面且集成的應用開發工具。 Oracle 能夠提供多重安全性功能,包括 分享類評估、檢測和數據庫活動的檢驗,防止沒有進行驗證的數據被泄露,還有 包括通過數據驅動去數據庫中進行數據安全訪問控制的功能。
    5.3.2數據庫訪問
    JDBC[58-60](JAVA DataBase Connectivity)是一種應用程序接口,JSP 中通過
    JDBC 來進行數據庫訪問。
    JDBC 的主要技術的優點如下:
    (1) JDBC 的 API 便于用戶理解;
    (2) JDBC 幫助編程人員把重心放在程序關鍵部分,不用花費時間在驅動器
    調用命令和函數上;
    (a)JDBC 能讓程序移植更方便同時能支持不一樣的關系數據庫;
    (b)通過JDBC-ODBC橋驅動器可進行JDBC和ODBC之間的轉換;
    (c)JDBC API 中幫助用戶將常用方法進行類封裝,方便后續應用。
    經過對 JDBC 技術的深入分析,我們認為使用 JDBC 技術作為程序連接數據 庫的手段是可行且可優化的。JAVA程序通過它可以進行各種數據庫接口的操作, 只需進行數據驅動安裝,便可通過 JDBC 應用程序來訪問和它有關聯的數據庫, 這種處理方法可以幫助系統進行后續擴展和移植。
    本系統使用DAO與JDBC技術實現對關系數據庫Oracle的操作,正確選擇 數據庫技術有利于提高系統訪問數據的效率和系統的可維護性。
    在 SSH 框架中對 Oracle 進行配置,連接 Oracle 數據庫實現過程為: Mybatis-config.xml 配置文件中部分基礎配置代碼
    <propertyname="dialectClass"value="com.github.miemiedev.mybatis.paginator.dialect.OracleDial ect"/> <!--Oracle11g 的 dialect 方言選擇,使用 oJDBC-6.jar 的 jar 包-->
    在工程的JDBC.properties文件中進行數據庫配置,部分數據庫配置代碼如下。 <!—數據庫配置-->
    url=JDBC\:Oracle\:thin\:@localhost\:1521\:orcl #數據庫地址 driver=Oracle.JDBC.driver.OracleDriver #數據庫驅動配置
    username=duty #數據庫用戶名
    PASSWord=duty #數據庫密碼
    service=orcl #數據庫地址
    完成數據庫連接后,通過JAVA應用程序來調用DAO (Data Access Object)類 接口中封裝的數據庫方法對數據庫進行操作,這樣不但將數據庫操作與開發分離 出來,便于開發維護,而且節省了開發成本。
    具體操作過程如圖5.8所示:
     
    圖 5.8 數據庫訪問過程圖
    本系統設計過程中關系數據庫訪問采用DAO和JDBC相結合的方法來實現,本 系統中對數據庫所有操作都封裝在BaseMAPPer. JAVA接口中,該接口類包含所有 數據庫操作的方法定義,BaseMAPPer. JAVA接口具體代碼如下:
     
    /* * BaseMAPPer中包含一些基本的增刪改查方法可以對數據庫進行操作.
    */
    public interface BaseMAPPer<T, E,ID>{ int countByExample(E example); //統計數據
    int deleteByExample(E example); //刪除
    int deleteByPrimaryKey(ID id);
    int insert(T record);
    int insertSelective(T record); //按主鍵刪除
    //插入數據
    List<T> selectByExample(E example, PageBounds pageBounds); //查詢數據
    int updateByPrimaryKey(T record); //按主鍵更新數據
     
    }
    5.3.3數據庫設計
    該系統主要可以分為信息管理、值班管理、日志管理以及輔助功能四個主要 功能模塊,模塊中所有信息數據都要存入 Oracle 關系數據庫表中。下面通過具體 實例來說明數據庫表具體設計。該系統子模塊較多,所以這里主要列舉主要的一
    些數據庫表,例如人員信息表(person」nfo)、 信息表(log」nfo)等。
    (1) 人員信息表 (person_info) 計劃信息表( plan_info) 、日志
    person_info 中主要字段包括姓名、學歷、工作時間、收費員服務等級。主要 功能維護收費站人員基本信息。權限信息0,1來表示,其中0表示管理員權限用 于維護基本信息,1 表示用戶權限,可進行一些日志信息填寫及部分功能查看。
    人員信息表(person_info)主要包含12個字段,具體數據庫表屬性設計如 表 5.17 所示。
    西安建筑科技大學碩士學位論文
    表 5. 17 人員信息表 (person_info)
    名稱 字段 類型 長度 非空屬性 主鍵
    序號 XH VARCHAR2 32 BYTE
    名字 Name VARCHAR2 100 BYTE
    用戶名 Username VARCHAR2 100 BYTE
    密碼 PASSWord VARCHAR2 32 BYTE
    年齡 Age NUMBER 6
    性別 Grade NUMBER 6
    學歷 Education VARCHAR2 100 BYTE
    工作時間 Worktime NUMBER 10
    收費員服務等級 Level VARCHAR2 100 BYTE
    家庭住址 Address VARCHAR2 100 BYTE
    照片 Photo VARCHAR2 100 BYTE
    權限 Authority NUMBER 10
     
    (2)計劃信息表( plan_info)
    plan_info 中主要字段包括年、周號、日期、備注。計劃信息表主要用于管理 收費站內周計劃信息。
    計劃信息表(plan_info)主要包含5個字段,具體數據庫表屬性設計如表5. 18 所示。
    表5. 18計劃信息表(plan_info)
    名稱 字段 類型 長度 非空屬性 主鍵
    序號 XH VARCHAR2 32 BYTE
    Year NUMBER 6
    周號 WeekNum NUMBER 6
    日期 date DATE 3
    備注 Bz VARCHAR2 100 BYTE
     
    (3)日志信息表( log_info)
    log_info 表中主要字段包括姓名、工號、填寫日期、填寫內容。日志信息表 主要用于管理日志詳細信息。
    日志信息表(log_info)主要包含5個字段,具體數據庫表屬性設計如表5. 19 所示。
     
    西安建筑科技大學碩士學位論文
    表5. 19日志信息表(log_info)
    名稱 字段 類型 長度 非空屬性 主鍵
    序號 XH VARCHAR2 32 BYTE
    姓名 Name VARCHAR2 100 BYTE
    工號 JobNum NUMBER 6
    填寫日期 FillDate DATE 3
    填寫內容 FillCon VARCHAR2 100 BYTE
     
    其他數據庫表結構設計類似。
    5.4系統軟件運行基礎環境
    高速公路收費站車流量預測及信息管理系統運行需要滿足一定的軟件環境和 硬件環境。
    5.4.1硬件環境
    系統對計算機最低配置要求如表5.20 所示
    表 5.20 硬件環境
    硬件設備名稱 配置要求
    計算機 CPU: 2.5GHz 及以上;
    內存:16.0GB及以上; 硬盤:2TGB及以上 顯示卡:顯存 2GMB 及以上; 顯示器:21 寸及以上; 分辨率:1920X1080。
     
    5.4.2軟件環境
    系統運行所需的軟件環境如下表 5.21。
     
    表5.21軟件環境
    序號 軟件名稱 版本號 備注
    1 Windows7 專業版( 64 位) SP1 操作系統
    2 Myeclipse 10 10.6 開發工具
    3 Oracle 11g 64 位 數據庫
    4 Google Chrome v45 以上 谷歌瀏覽器
    5 JDK(64 位) 7u60 x64 JAVA 運行環境
    6 Apache-Tomcat 7.0.61 Web 服務容器
    7 Office 2010 SP1 文字處理
    5.5 系統功能具體實現
     
    在前面系統完成需求分析以及系統設計的基礎上,接下來進行系統功能具體 實現主要使用計算機技術來進行代碼實現,完成前面所有功能。在安裝完 JDK、 Tomcat、 Oracle、 MyEclipse 等軟件開發工具后,在 MyEclipse 中正式建立項目進 行開發, src 主要是后臺開發層,包括 controller、 DAO、 service、 mAPPing、 po、 vo等。WebRoot中主要存放一些js和JSP文件,用于前臺開發,在resources中 加入 Config.properties 、 JDBC.properties 、 log4j.properties 、 mybatis-config.xml、 spring-mvc.xml、 spring-mybatis.xml 等 xml 文件,工程開發中用到的庫有 JAVA EE 6 Libraries、Web APP Libraries > JRE System Library、Referenced Libraries, 部署 工程到 Tomcat 上后,系統的具體實現過程為, menu.json 中根據路徑找到相應的 JSP頁面在前臺進行展示,在JSP文件中引入相應的js文件,在js中主要實現頁 面布局和展示,通過Ajax調用后臺數據操作,在controller中根據業務需求調用 service, service 根據需要對 DAO 層的具體數據庫操作方法進行調用, 最終 controller 把結果返回到 js 中,進一步返回到 JSP 中在頁面中展示出來,需要說明 的是,考慮實際數據的保密性,本文中進行實驗的數據均為模擬數據。具體功能 如下:
    5.5.1系統登錄頁面
    收費站人員值班管理系統用戶通過注冊用戶名密碼從系統登錄頁面進入主 頁面。登錄界面如圖5.9所示。
     
     
    圖 5.9 登錄界面
    頁面左邊顯示導航菜單包括信息管理、值班管理、日志管理、輔助功能,點 擊其中某一菜單的子菜單即可進入對應子模塊功能頁面,在對應頁面上即可進行 相關操作。
    5.5.2信息管理模塊具體實現
    信息管理實現界面如圖 5.10 所示,分別點擊左側樹中信息管理包含的人員 管理、綜合管理、電話管理、資料管理、通報管理和設備管理 6 個子模塊中任意 一個,就可以顯示該子模塊對應的操作界面,根據界面上顯示的功能按鈕,來進 行功能操作。
     
    圖 5.10 信息管理模塊實現界面
     
    (1)通報管理具體實現
    例如,通報管理界面如圖 5.10 所示,點擊添加按鈕,錄入管理收費站通報信 息,例如:班組獎懲和整改情況,點擊保存按鈕后會在通報管理界面進行該條信 息顯示,也可選中該條通報情況信息進行編輯或者刪除。
    5.5.3值班管理模塊具體實現
    值班管理實現界面如圖 5.11所示,分別點擊左側樹中值班管理包含的本年 度值班計劃、本季度值班計劃、本周值班計劃、車流量預測管理和應急預案管理 5 個子模塊中任意一個,就可以顯示該子模塊對應的操作界面,根據界面上顯示 的功能按鈕,來進行功能操作。
     
    圖 5.11 值班管理模塊實現界面
    (2)本年值班計劃具體實現
    例如,本年度值班計劃界面如圖 5.11 所示,點擊添加按鈕,以 Word 文檔的 形式,上傳年度值班計劃文件,點擊保存按鈕后會在本年度值班計劃管理界面進 行該條信息顯示。也可選中該條年度值班計劃信息進行編輯、刪除和下載,也可 根據設定條件進行本年度值班計劃信息篩選。
    (3)車流量預測管理具體實現
    車流量預測管理實現界面如圖 5.12所示,選擇需要查詢的預測數據日期,點 擊預測數據查詢按鈕進行查詢,在頁面下半部分以折線圖的形式來進行頁面展示, 鼠標放在上面會顯示預測時間段及預測數據結果,通過預測數據可以分析車流量 情況,為后面采取措施做好準備。
     
     
    圖 5.12 車流量預測管理實現界面
    5.5.4日志管理模塊具體實現
    日志管理實現界面如圖 5.13 所示,分別點擊左側樹中日志管理包含的領班 員日志、值班員日志和個人工作日志中 3個子模塊中任意一個,就可以顯示該子 模塊對應的操作界面,根據界面上顯示的功能按鈕,來進行功能操作。
     
    圖 5.13 日志管理模塊實現界面
    (1)個人工作日志具體實現 例如,個人工作日志界面如圖5.13 所示,點擊添加按鈕,輸入姓名、工號、 填寫日期、工作內容等信息,點擊保存按鈕后會在個人工作日志界面進行該條信 息顯示。也可選中該條個人工作日志信息進行編輯、查看、刪除,也可根據設定 條件進行個人工作日志信息篩選。
    5.5.5輔助功能模塊具體實現
    輔助功能實現界面如圖 5.14 所示,分別點擊左側樹中輔助功能包含的收費 工作規范和收費知識題庫中 2個子模塊中任意一個,就可以顯示該子模塊對應的 操作界面,根據界面上顯示的功能按鈕,來進行功能操作。
    )202W4冃 11 日 Sffl 日 0退出
    O |收費工作規范
    -
    ?目信息
    試卷名:
    ?
    ?目日
    □序號 試齡 操作
    ▼目輔助功能 1 機電維護考試題庫 4
    其題庫
    為收費工蝕范 3 :
    知醺褰題
     
    4 治超管理業務知識題庫 1
    5 律考試確1 4
    」 6 治超考試題庫14 4
    7 能考試確2
    _> 8 艙考試®J?3 4
    第1 頁,共1頁 1 > » 1 顯示第1條8條記錄,一共8條
    圖 5.14 輔助功能模塊實現界面
     
    (1)收費知識題庫具體實現
    例如,收費知識題庫界面如圖 5.14所示,通過上傳收費業務、機電維護、 職業道德知識題庫,收費站人員可通過學習題庫知識,完成月知識考核,提高業 務水平。上傳成功后在收費知識題庫主界面顯示,也可選中該條收費知識題庫信 息進行下載和刪除,也可根據設定條件進行收費知識題庫信息篩選。
    5.6 系統測試
    本系統測試主要是對已經實現的系統,按照需求分析中提出的測試要求對軟 件進行測試,看該系統是否滿足需求分析中的功能和性能要求。本系統主要從功 能和性能兩個方面去測試。
    5.6.1功能測試
    軟件功能測試,主要看系統功能是否滿足需求分析中的軟件功能要求,功能 是否完善,結果是否正確,業務流程是否恰當。
    功能測試主要內容包括下面幾個方面:
    (1) 界面菜單功能、業務流程功能是否正確;
    (2) 包括增、刪、改、查、刷新功能的系統,增、刪、改、查、刷新功能的 操作結果是否正確;
    (3)查詢時,看查詢結果是否正確,對于一些操作,應該有相應的提示;
    (4)按照軟件功能需求分析,測試系統所有功能是否正確。
    本系統分別進行了兩次的功能測試和一次回歸測試,第一輪測試發現5 個問 題,第二輪發現2 個問題,解決完所有問題后,在進行一輪回歸測試,最終把所 有問題進行解決歸零。具體功能測試用例詳見附錄 1。
    5.6.2性能測試
    軟件性能測試,主要是檢查軟件性能是否實現了軟件需求上的性能要求。本 系統對在需求分析中提出的性能進行測試,具體性能測試用例詳見附錄 2。 5.7 小結
    本章主要是根據高速公路收費站車流量預測及信息管理系統需求分析,詳細 設計了系統的具體功能以及數據庫并最后進行了實現。按功能需求對信息管理、 值班管理、日志管理、輔助功能四個主要模塊及其所屬子模塊進行功能詳細設計 和實現,同時對數據庫信息也進行具體分析設計實現。最后按照需求分析中提出 的功能和性能要求進行系統測試,測試結果表明,與軟件設計過程中預期結果基 本一致。功能基本上能滿足收費站的管理需求。
    6總結與展望
    6.1 論文總結
    本文主要根據高速公路收費站實際工作需求,本文做了以下具體的研究工作。 首先,研究了基于LSTM的車流量預測算法,考慮數據的保密性,本文模擬了高 速公路收費站的車流量數據來作為歷史數據,通過算法來對未來經過收費站的車 流量數據進行預測,并進行了驗證,最后給出了應急預案決策方法;其次,在考 慮系統安全性方面,研究了 MD5算法,用于系統安全登錄;最后設計實現了高 速公路收費站車流量預測及信息管理系統,提升高速公路收費站日常管理工作效 率。
    現將本論文具體工作總結如下:
    (1) 考慮到收費站人員配置的高效及合理性問題,本文研究了基于LSTM 的高速公路車流量預測算法。首先,在研究了循環神經網絡的基本原理的基礎上, 對車流量檢測技術進行了進一步研究,并根據研究結果說明了本文檢測車流量時 所選用的技術;其次,對高速公路收費站車流量數據具體來源用流程圖進行了說 明同時研究了數據預處理方法,為后面數據應用做好準備;最后,研究了常用的 車流量預測方法并對其優劣性進行了比較,提出了基于LSTM的高速公路車流量 預測方法,并對該算法進行實現,通過對實驗結果進行比對分析,檢驗證明了算 法的有效性,最后提出了應急預案決策方法,為高速公路收費站更好的進行人員 決策配置提供依據。
    (2) 從系統安全性角度出發,本文研究了基于改進MD5算法的系統登錄加 密技術。首先,本文研究了加密技術的基礎單項散列函數的基本原理并進行了研 究;其次,在前面研究的基礎上引入了 MD5算法,對MD5應用性和安全性進行 了介紹,為下一步在系統中應用 MD5 算法做好知識儲備;最后,研究了 MD5 加 密算法的基本原理,并通過JAVA語言進行了算法實現,考慮到實際應用常用密 碼的弊端問題,本文對MD5算法進行了改進,通過實驗結果對比分析,驗證了 算法的有效性,并應用在系統中。
    (3) 研究了 SSH框架技術,SSH集成框架不但可以幫助開發人員快速搭建 Web 應用程序,能更好地幫助開發人員快速開發 Web 應用數據源。由于需求研 究了 Ajax 技術,該技術不但能幫助客戶端提高響應和交互能力,而且幫助客戶節 約時間和流量。研究了 Tomcat 技術,該技術 Tomcat 不但數據并發處理能力強而 且免費使用方便。研究了 Oracle數據庫,Oracle是一種關系型數據庫管理系統, 不但具有全面性、完整性、穩定性以及高效率的特點,而且可以在保障數據驅動 的安全性的情況下進行數據訪問控制,所以本文選擇以上技術來進行系統開發。
    (4)設計并實現了高速公路收費站車流量預測及信息管理系統。該系統架構 選用B/S體系架構,軟件編程框架選擇搭建SSH框架,系統選擇JAVA語言、JSP、 JAVAScript、HTML、CSS等技術來進行前后臺開發,Web服務器選擇Tomcat服 務器,選擇 Oracle 數據庫來進行系統數據維護,搭建一個實用性強的高速公路車 流量預測及信息管理系統。從功能和性能兩個方面出發考慮去設計系統,將系統 分為信息管理、值班管理、日志管理、輔助功能四個模塊。并根據實際情況設計 了收費站數據庫信息,方便收費站日常數據維護。考慮實際應用,研究了車輛預 測算法,考慮數據安全性問題,研究了 MD5 加密算法并應用在系統登錄中。考 慮收費站人員資料使用的便利性,設計了文檔上傳和下載功能,考慮到用戶體驗, 設計了大方簡單、操作便利的界面。最后根據系統具體需求實現了信息管理、值 班計劃、值班日志、輔助功能的系統功能,經過系統功能和性能測試,收費站人 工值班管理系統各項基本功能均實現,性能滿足需求分析中的要求。基本滿足系 統的功能性能要求。該系統的實現不僅能夠解決工作排班效率低、數據易丟失、 查詢不便等一系列問題,也能幫助管理者進行人員配置。
    6.2工作展望
    本文的研究工作雖然能夠幫助解決高速公路收費站日常工作中的一部分問 題,但想要完全投入使用還需要對系統進行進一步改進,接下來的主要工作考慮 從下面三個方面進行研究:
    (1) 考慮在收費站內經過多方測試能上線實施使用,并且計劃下一步預留出 接口可與所級、集團級系統能相互交互,實現一個完整的網絡體系。
    (2) 雖然本系統實現了網頁瀏覽功能,但隨著技術不斷發展,目前移動端應 用軟件應用比較廣泛,下一步也會考慮系統APP開發。
    (3) 在安全性和穩定性方面還需要更深入的研究,雖然本文考慮了安全性, 應用用戶名密碼登錄,可是層出不窮的信息手段使得信息面臨被泄露的危險,無 法保證信息環境的安全,需要更加全面的考慮軟件信息安全。雖然本文進行了實 際數據測試,可是,在大數據時代系統應用更廣泛就需要進一步研究其穩定性。
    參考文獻
    [1]中國公路網.中國高速公路通車里程達13.1萬公里[EB/OL],http://www.chinahi ghway.com/news/2017/1122556.php,2017-07-22.
    [2]前瞻物流產業研究院,https://bg.qianzhan.com/wuliu,2020-12-10.
    [3]中華人民共和國中央人民政府網站.國務院關于印發“十三五”現代綜合交通運 輸體系發展規劃的通知[EB/OL],http://www.gov.cn/zhengce/content/2017-02/28 /content_5171345.htm,2017-02-28.
    [4]Chen Wang,Shuangchang Feng,Pengbo Liu,Xiaochang Liu. Design and Devel
    opment of Collaborative Office Automation System Based on Hierarchical S tructure[J]. E3S Web of Conferences,2021,235.
    [5]Yuniarto Dwi,Subiyakto A'ang,Abd. Rahman Aedah. Technology readiness a nd usability of office automation system in suburban areas[J]. TELKOMNI KA (Telecommunication Computing Electronics and Control),2020,18(2).
    ⑹蔡桂華,胡文麗,楊紹坤.建立調度管理信息系統平臺[A].國網信息通信有限 公司期刊會展中心、中國電機工程學會電力信息化專委會.2008年電力信息化 高級論壇論文集[C].國網信息通信有限公司期刊會展中心、中國電機工程學 會電力信息化專委會:中國電機工程學會電力信息化專業委員會,2008:5.
    [7]王超,渠濤,鄧永彬.關于電力配網調度管理實踐及其技術探討[J].科技與創新,20
    16(20):161.
    [8]徐煥,彭祥禮,查志勇,劉芬.企業管理中多工作任務下合理調度模型仿真[J].計算 機仿真,2014,31(10):450-454.
    [9]江麗.威海電網一體化調度值班管理系統的設計與實現[D].山東大學,2017.
    [10]朱偉,程飛,王新.基于云計算的存儲資源管理調度技術研究[J].中國電子科學 研究院學報,2020,15(06):513-517.
    [11]周宏,劉釗.基于時間序列的高速公路短時交通流最優組合預測[J].工程與建設, 2018,32(06):22-24.
    [12]PengS,ShenY,ZhuY,etal.AFrequency-AwareSpatio-TemporalNetworkforTrafficF lowPrediction[M]//Database Systems for Advanced Applications.2019.
    [13]ChengF,LiT,WeiYM,etal.TheVEC-NARmodelforshort-termforecastingofoilprice
    s[J].Energy Economics,2019,78.
    [14]賈利民,林帥.系統可靠性方法研究現狀與展望[J].系統工程與電子技術,201 5,(12):2887-2893.
    [15]李剛.瘋狂 SSH講義[M].電子工業出版社,2015.5-8,30-31,390-393,402-410,412- 421.
    [16]張建軍,劉虎,倪芳英,吉勇祥.基于SSH整合架構的研究與應用[J].湖南師范大 學自然科學學報,2012,35(06):39-43.
    [17]Yuanyi Chen,Chen Yuan yi. Application of Web Program Development Ba sed on Struts Framework[J]. Journal of Physics: Conference Series,2020,164 8(3).
    [18]楊力,陳利學,趙永清,廖浩德.基于移動代理的Struts 2框架[J].計算機工程,201 3,39(01):260-263+269.
    [19]王晨璐,秦帥剛.基于B/S架構的圖書輔助管理系統的設計與實現[J].信息技術 與信息化,2021(01):48-51.
    [20]張建軍,劉虎.基于ExtJS的J2EE輕量級框架的研究與應用[J].計算機應用與軟 件,2014,31(04):73-76.
    [21]陳亞輝.Struts2+Spring+Hibernate框架技術與項目實戰[M].清華大學出版社,2 012.
    [22]崔健.基于Struts和Hibernate技術的OA系統設計與實現[J].電子技術,2013,4 2(03):41-44.
    [23]陳正舉.基于Hibernate的數據庫訪問優化[J].計算機應用與軟件,2012,29(07):1 44-149.
    [24]賀濤,繆淮扣,錢忠勝.基于Ajax技術的Web應用的建模與測試用例生成[J].計 算機科學,2014,41(08):219-223+244.
    [25]唐永瑞,張達敏.基于Ajax與MVC模式的信息系統的研究與設計[J].電子技術 應用,2014,40(02):128-131.
    [26]王菲露,李軍,宋楊,胡勇,陳玉峰.基于Ajax技術的E-Charts實時圖形報表實現 [J].黑龍江工業學院學報(綜合版),2019,19(12):79-83.
    [27]林志文,馬力.基于多信號流模型和Tomcat服務器的遠程綜合診斷技術[J].計 算機測量與控制,2013,21(09):2359-2361.
    [28]李俊,夏松竹,蘭海燕,李守政,孫建國.基于GRU-RNN的網絡入侵檢測方法[J/
    OL].哈爾濱工程大學學報,2021(06):l-6[2021-04-08].http://kns.cnki.net/kcms/de tail/23.1390.U.20210322.1610.004.HTML.
    [29]Xu Yang,Jinchao Guan,Ling Ding,Zhanping You,Vincent C.S.Lee,Mohd Ros li Mohd Hasan,Xiaoyun Cheng.Research and Applications of Artificial Neur al Network in Pavement Engineering: A State-of-the-art Review[J/OL].Journ al of Traffic and Transportation Engineering(English Edition):1-71[2021-04-0 8].http://kns.cnki.net/kcms/detail/61.1494.U.20210322.1034.006.HTML.
    [30]SutskeverI,VinyalsO,Leqv.Sequence to Sequence Learning with Neural Netw orks[J].2014.
    [31]王耀慶,孫建平,李冰,曹弘.基于小波變換和LSTM的短期風速預測研究[J].計 算機仿真,2021,38(02):438-443.
    [32]徐佩,樊重俊,朱人杰,黃耐.基于 PROPHET-LSTM-PSO 組合模型的醫院住院 量預測研究[J].上海理工大學學報,2021,43(01):68-72.
    [33]許倫輝,卜文萍,陳衍平,黃艷國.基于幀差法和背景差法融合的車流量檢測方 法[J].計算機仿真,2012,29(02):353-357.
    [34]田為廣,徐海黎,殷戎飛,邢強,沈標.基于地磁傳感器的車流量智能檢測系統設 計[J].傳感技術學報,2021,34(01):137-142.
    [35]王鈺,郭蘭英,程鑫.結合深度學習的短時車流量預測優化方法[J].計算機工程 與應用,2020,56(16):211-217.
    [36]嚴鴻,管燕萍.BP神經網絡隱層單元數的確定方法及實例[J].控制工程,2009,16 (S2):100-102.
    [37]高文俊,李志,閔星,章玉龍.基于ARIMA-LSTM組合模型的應用系統響應時間 預測[J].計算機與數字工程,2021,49(05):880-885.
    [38]成云,成孝剛,談苗苗,周凱,李海波.基于ARIMA和小波神經網絡組合模型的交 通流預測[J].計算機技術與發展,2017,27(01):169-172.
    [39]Dong-wei XU,Yong-dong WANG,Li-min JIA,Yong QIN,Hong-hui DONG.基 于 ARIMA 和 Kalman 濾波的道路交通狀態實時預測(英文) [J].Frontiers of Information Technology & Electronic Engineering,2017,18(02):287-303.
    [40]熊亭,戚湧,張偉斌,李千目.基于時空相關性的短時交通流預測模型[J].計算機
    工程與設計,2019,40(02):501-507.
    [41]錢俊,王永波.幾種統計軟件建立ARIMA模型的應用比較[J].統計與決策,2018, 34(16):80-84.
    [42]趙龍文,萇道方,朱宗良,高銀萍.基于SARIMA-BP模型的港口船舶交通流量預 測[J].中國航海,2020,43(01):50-55+94.
    [43]劉歡,邵社剛,王趙明.基于向量自回歸模型的城市快速路交通狀態短時預測研 究[J].公路交通科技(應用技術版),2019,15(02):314-319.
    [44]黃慧瓊.基于模糊理論的城市道路短時交通流量預測研究[J].公路工程,2016,4 1(01):172-175+192.
    [45]李瑞林.基于單向散列函數的可驗證門限秘密共享技術研究[D].中北大學,20 16年.
    [46]寇蘭,劉寧,黃宏程,張艷.基于分布式壓縮感知和散列函數的數據融合隱私保 護算法[J].計算機應用研究,2020,37(01):239-244.
    [47]Arpan,Nova Mayasari,Muhammad Muttaqin. Authenticity Data through Digit al Signature Technique with MD5 Algorithm[J]. International Journal of Inn ovative Technology and Exploring Engineering (IJITEE),2020,9(3).
    [48]AtulKahate.Cryp to graphy and Network Security[M].邱仲潘等譯.北京:清華 大學出版社, 2015.
    [49]李寶安,周維真,何玉潔.基于企業價值鏈分析的面向構件ERP系統設計[J].計 算機工程與設計,2008(15):3927-3928+4050.
    [50]美肯尼斯C.勞頓.管理信息系統[M].北京:機械工業出版社,2015.
    [51]Howard University; Patent Issued for Computer System Security With Redu ndant Diverse Secondary Control System With Incompatible Primary Contro l System (USPTO 10,592,668)[J]. Journal of Mathematics,2020.
    [52]李艷娜.計算機輔助語言學習軟件的實用性探究[J].科技視界,2018(17):192-19
    3.
    [53]劉超,張明安.基于Oracle數據庫系統的備份與恢復技術研究[J].軟件,2014,35 (03):125-128.
    [54]明日科技.Oracle11g從入門到精通[m](第二版).清華大學出版社.2017.
    [55]蘇林忠.基于Oracle的高校數據中心建設方案的研究[J].河南師范大學學報(自
    然科學版),2011,39(04):138-141.
    [56]張雅棋.SQLSever、MySQL、Oracle數據庫在水務系統中的應用比較[J].天津 科技,2019,46(09):52-54.
    [57]RajeevKumarSingh.Evaluatetheperformanceofdatabasemanagementsystemsthrou ghtheanalysisoftimeandcapacity[J].InternationalJournalsofMultidisciplinaryResea rchAcademy,2017,6(7).
    [58]田志軍.嵌入式移動數據庫同步系統的研究與實現[J].軟件,2012,33(05):107-10 8+135.
    [59]劉云玉,段中興,原晉鵬.JDBC數據庫重連機制的研究與實現[J].計算機應用與 軟件,2011,28(07):38-40.
    [60]楊馥顯,劉嘉勇.基于JSP的數據庫開發技術研究[J].通信技術,2011,44(03):51-
    53.
    【本文地址:http://www.bzhlmm.com//guanlilei/gongshangguanli/xixinguanli/8788.html

    上一篇:基于 Java Web 的果蔬供應鏈信息管理 平臺的設計與實現

    下一篇:沒有了

    相關標簽: