高速公路收費(fèi)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第1頁
高速公路收費(fèi)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第2頁
高速公路收費(fèi)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第3頁
高速公路收費(fèi)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第4頁
高速公路收費(fèi)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、畢業(yè)設(shè)計(jì)(論文)設(shè)計(jì)(論文)題目:高速公路收費(fèi)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 高速公路收費(fèi)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)摘要高速公路收費(fèi)系統(tǒng)是高速公路管理的重要組成部分。建立智能化的收費(fèi)系統(tǒng)是加強(qiáng)高速公路管理的一個(gè)重要環(huán)節(jié)。這個(gè)系統(tǒng)的建立將會(huì)較好地解決交通收費(fèi)業(yè)務(wù)中手工撕票收費(fèi)這一傳統(tǒng)方式所出現(xiàn)的各種問題,提高收費(fèi)效率,杜絕跑、冒和漏收,能提高高速公路的整體功能。根據(jù)國內(nèi)外高速公路收費(fèi)系統(tǒng)的發(fā)展經(jīng)驗(yàn),結(jié)合當(dāng)今的技術(shù)發(fā)展趨勢(shì),本文詳盡地闡述了高速公路聯(lián)網(wǎng)收費(fèi)系統(tǒng)的設(shè)計(jì)、關(guān)鍵技術(shù)和部分技術(shù)實(shí)現(xiàn)。本文首先介紹了當(dāng)前國內(nèi)外高速公路收費(fèi)系統(tǒng)的發(fā)展?fàn)顩r,并討論了其優(yōu)缺點(diǎn),從中選出適用于我國現(xiàn)狀的設(shè)計(jì)方案。然后對(duì)本收費(fèi)系統(tǒng)進(jìn)行系統(tǒng)總體分析

2、,對(duì)本系統(tǒng)的需求進(jìn)行了分析。然后,對(duì)系統(tǒng)總體設(shè)計(jì)進(jìn)行了闡述,先確定了系統(tǒng)結(jié)構(gòu),并對(duì)系統(tǒng)中用到的數(shù)據(jù)庫進(jìn)行了分析和選擇,對(duì)系統(tǒng)進(jìn)行了總體設(shè)計(jì)。在后面的系統(tǒng)程序設(shè)計(jì)中對(duì)車道收費(fèi)系統(tǒng)和收費(fèi)站收費(fèi)系統(tǒng)的設(shè)計(jì)進(jìn)行了詳細(xì)的論述,并對(duì)系統(tǒng)的安全性進(jìn)行了設(shè)計(jì)。最后,本文簡述了主要研究結(jié)果和存在的不足,并對(duì)不足給出了進(jìn)一步改進(jìn)的建議,展望了我國高速公路收費(fèi)系統(tǒng)發(fā)展的方向。關(guān)鍵詞:智能交通,車道收費(fèi)系統(tǒng),高速公路,費(fèi)用計(jì)算Design and Implementation of Expressway Fees Collection SystemAbstractThe expressway fees collect

3、ion system is the main part of the expressway management. The establishment of an intelligent fees collection system is an important segment during strengthening the expressway management. All kinds of short advantages led by hand working in the former practice of transportation fees collection can

4、be avoided by using the system. And also the function of the expressway can be promoted as a whole.According to the development of the expressway fees collection system and the trend of todays technology, an elaborate introduction is given in this thesis, which is about the design, key technology an

5、d some technical realization of the expressway fees collection.First, the current domestic and international developing condition of the expressway fees collection system is introduced. After discussing its advantage and disadvantage, a design project is chosen, which is profitable for the present c

6、ondition to our country. Then the analysis to the fees collection system is carried on, including the total analysis of the system, the analysis to the need of this system.Next, the total design of system is described, the structure of this system is selected, the analysis and choice of database is

7、done too, and total design of the system is carried on. And then, the entrance driveway system is described in detail. And the toll station system is introduced. The design for the safety of system is done.In the end, the results and the shortages are given. Further more, the suggestion for the furt

8、her improvement of the expressway fees collection system is given.Key words: Expressway, Fees collection Driveway, Toll station, Safety目錄 1 緒論11.1 課題背景及來源11.2 課題研究的意義21.3 論文結(jié)構(gòu)22 系統(tǒng)分析與設(shè)計(jì)42.1 系統(tǒng)分析42.1.1 車道收費(fèi)系統(tǒng)功能規(guī)定42.1.2 車道收費(fèi)處理主要流程分析52.2 解決方案設(shè)計(jì)92.2.1 總體設(shè)計(jì)92.2.2 車道系統(tǒng)程序設(shè)計(jì)132.2.3 數(shù)據(jù)上傳通信162.2.4 通信系統(tǒng)設(shè)計(jì)162.2

9、.5 數(shù)據(jù)庫設(shè)計(jì)213 基本理論知識(shí)及應(yīng)用243.1 MFC下的用戶界面編程243.2 MFC下的多線程263.3 MFC下的網(wǎng)絡(luò)編程273.4 MFC下基于ADO的數(shù)據(jù)庫操作294 系統(tǒng)開發(fā)與實(shí)現(xiàn)334.1 開發(fā)環(huán)境及工具334.2 系統(tǒng)實(shí)現(xiàn)334.2.1 用戶界面實(shí)現(xiàn)334.2.2 通信系統(tǒng)實(shí)現(xiàn)404.2.3 高速公路出口費(fèi)率計(jì)算實(shí)現(xiàn)424.2.4 車輛照片查詢實(shí)現(xiàn)424.2.5 導(dǎo)出EXCEL報(bào)表實(shí)現(xiàn)424.2.6 報(bào)表統(tǒng)計(jì)實(shí)現(xiàn)464.2.7 車輛圖象抓拍實(shí)現(xiàn)464.2.8 時(shí)鐘同步實(shí)現(xiàn)464.3 結(jié)果分析474.3.1 開發(fā)難點(diǎn)及相關(guān)策略474.3.2 課題不足之處474.3.3 工作

10、展望及見解485 總結(jié)50致謝51參考文獻(xiàn)521 緒論隨著我國經(jīng)濟(jì)的迅猛發(fā)展,高速公路交通作為經(jīng)濟(jì)發(fā)展的主要基礎(chǔ)設(shè)施之一,越來越受到重視。在高速公路的建設(shè)上,我國普遍采用了“貸款建設(shè),收費(fèi)償付”的金融和投資體系,即通過貸款來建設(shè)高速公路,在高速公路建成投入使用后通過對(duì)通行于高速公路上的車輛收取通行費(fèi)用的方式來償還貸款。高速公路收費(fèi)制度的建立不僅可以為高速公路建設(shè)開辟資金來源,而且可以吸引私人企業(yè)和個(gè)人參與高速公路建設(shè)投資,解決高速公路建設(shè)長期依靠政府財(cái)政,發(fā)展緩慢的弊端。另外,高速公路的養(yǎng)護(hù)與管理資金可以直接從征收的車輛通行費(fèi)中提取,減少了許多中間環(huán)節(jié),克服了多年來道路養(yǎng)護(hù)管理中的不記成本、不

11、講經(jīng)濟(jì)核算的種種弊端。此外,高速公路具有比一般公路高的效益,決定了高速公路可以依據(jù)市場法則,通過收取車輛通行費(fèi)對(duì)其價(jià)值進(jìn)行補(bǔ)償。從另外一個(gè)角度上看,高速公路收費(fèi)不只是從經(jīng)濟(jì)上考慮用于還貸或開辟新的高速公路建設(shè)的資金來源,還可實(shí)現(xiàn)高速公路交通需求控制。從而解決高速公路擁擠、安全和污染等問題。所以,建設(shè)先進(jìn)、完善、有效的高速公路收費(fèi)系統(tǒng)是整個(gè)高速公路系統(tǒng)建設(shè)和管理中不可或缺的一部份。它所要實(shí)現(xiàn)的主要功能有:1. 對(duì)使用高速公路的車輛按車型、行駛里程進(jìn)行合理、正確的收費(fèi);2. 規(guī)范收費(fèi)、現(xiàn)金入賬等財(cái)物統(tǒng)計(jì)工作,防止舞弊、堵塞財(cái)物漏洞;3. 結(jié)合交通管理,限制高峰期交通流量以保障高速公路的安全、暢通;

12、4. 提供交通流量數(shù)據(jù),作為交通監(jiān)控系統(tǒng)和管理部門的決策依據(jù);5. 改善道路通行費(fèi)的支付和結(jié)算方法、從而減少車輛繳費(fèi)滯留時(shí)間,提高收費(fèi)車道的車輛通行速度,提高道路通行能力。1.1 課題背景及來源在長潭西線通車之前,由北到南三市之間只有京珠高速長潭段將其連接。東西向,株潭之間則只有蓮易高速連接。三市之間的內(nèi)部城際高速公路網(wǎng)絡(luò)并未形成。同時(shí),將三市串聯(lián)起來的只有京珠高速公路長潭段。但所謂的“串聯(lián)”,卻并非在一條直線上。 三市中,除長沙外,株洲和湘潭上京珠高速公路都還需要一段連接線要走。長潭西線未通車之前,長沙至湘潭所需時(shí)間至少要40分鐘,“短短的40公里路程,最快都需要40分鐘,這肯定無法適應(yīng)三市

13、一體化發(fā)展的需要,所以要提速三市一體化進(jìn)程,必須得構(gòu)建適應(yīng)一體化發(fā)展的快速交通網(wǎng)絡(luò)?!笔〗煌◤d相關(guān)專家表示,而長潭西線的通車將改寫現(xiàn)狀,使長沙至湘潭的行車距離縮短20公里。此外,長潭西線的建成通車,也將縮短長沙至邵陽的時(shí)間。長湘西線湘潭起點(diǎn)即與潭邵高速公路對(duì)接,出了湘潭收費(fèi)站一公里,即可上潭邵高速公路。在昨日的體驗(yàn)中,本報(bào)車務(wù)部司機(jī)歐陽宏介紹,長潭西線通車后,至少可以使長沙至邵陽的時(shí)間節(jié)約20分鐘以上。1.2 課題研究的意義高速公路收費(fèi)系統(tǒng)是長潭西線高速公路的重要組成部分,是高速公路業(yè)主收回投資的渠道。收費(fèi)系統(tǒng)應(yīng)用軟件根據(jù)功能及分布主要分為以下幾個(gè)既相互獨(dú)立又彼此聯(lián)系的功能單元,由它們一起構(gòu)成

14、了IC卡收費(fèi)管理信息系統(tǒng):1. 車道級(jí)模塊,包括入口車道發(fā)卡軟件和出口車道收費(fèi)軟件;2. 站級(jí)模塊,包括站級(jí)財(cái)務(wù)軟件、站級(jí)監(jiān)控軟件和站級(jí)網(wǎng)絡(luò)管理軟件;3. 中心級(jí)模塊,包括中心財(cái)務(wù)軟件、中心監(jiān)控軟件、中心網(wǎng)絡(luò)管理軟件、中心POS機(jī)管理軟件及中心IC卡管理軟件;4. 通信模塊件,包括車道通信軟件、站級(jí)通信軟件和中心通信軟件;本課題主要對(duì)整個(gè)系統(tǒng)架構(gòu)進(jìn)行設(shè)計(jì),并實(shí)現(xiàn)車道級(jí)模塊功能。1.3 論文結(jié)構(gòu)緒論部分概要介紹了本畢業(yè)設(shè)計(jì)課題的背景來源以及研究的意義。第二部分是論文的重點(diǎn)之一,通過對(duì)系統(tǒng)進(jìn)行詳細(xì)分析,著重介紹了系統(tǒng)的設(shè)計(jì)方案實(shí)現(xiàn)內(nèi)容。第三部分介紹開發(fā)本系統(tǒng)所涉及到的基本理論知識(shí)以及選用方法的依據(jù)

15、。第四部分是論文的另一重點(diǎn)所在,從第二部分的系統(tǒng)分析和解決方案出發(fā),以第三部分涉及到的基本知識(shí)為基礎(chǔ),重點(diǎn)介紹系統(tǒng)的設(shè)計(jì)思路和實(shí)現(xiàn)方法,并闡述課題的難點(diǎn)、問題所在以及創(chuàng)新思想在本設(shè)計(jì)中的體現(xiàn)。第五部分對(duì)研究工作進(jìn)行歸納和總結(jié)。2 系統(tǒng)分析與設(shè)計(jì)3.1 系統(tǒng)分析車道收費(fèi)系統(tǒng)的需求分析主要以新的收費(fèi)模式下高速公路的實(shí)際情況和運(yùn)營管理方面的要求為基礎(chǔ)。3.1.1 車道收費(fèi)系統(tǒng)功能規(guī)定車道收費(fèi)軟件按功能分為入口和出口兩種類型入口車道收費(fèi)系統(tǒng)通過所配車道設(shè)備及收費(fèi)員對(duì)進(jìn)入高速公路的車輛進(jìn)行抓拍圖像、識(shí)別車牌、車型、車情輸入。對(duì)黑名單、白名單車輛進(jìn)行相應(yīng)的處理。將車道信息、收費(fèi)員工號(hào)、車情、車型、車牌號(hào)、

16、卡盒號(hào)、日期時(shí)間、抓拍圖像等其他信息寫入數(shù)據(jù)庫表中,形成一條流水記錄;并將相應(yīng)的入口描述信息寫入通行IC卡,發(fā)給通行車輛司機(jī),抬起電動(dòng)欄桿機(jī)。車輛駛出車道,完成入口操作。出口車道收費(fèi)系統(tǒng)通過所配車道設(shè)備及收費(fèi)員對(duì)駛出高速公路的車輛進(jìn)行抓拍圖像、識(shí)別車牌、讀出通行IC卡中存儲(chǔ)的信息。對(duì)讀出的信息進(jìn)行自動(dòng)及人工核對(duì),計(jì)算出通行費(fèi),并用費(fèi)額顯示器顯示收費(fèi)金額,并用語音設(shè)備發(fā)出禮貌用語;回收通行IC卡、收取通行費(fèi)。當(dāng)出現(xiàn)免費(fèi)、丟卡、壞卡、違章、黑名單、白名單車輛時(shí),按相應(yīng)規(guī)定進(jìn)行處理;將出口的路段、站點(diǎn)、車道標(biāo)識(shí)信息、收費(fèi)標(biāo)識(shí)信息、車型、車種、車牌號(hào)、IC卡及卡盒號(hào)信息、日期時(shí)間等其他信息在車道數(shù)據(jù)庫

17、表中寫入一條流水記錄,并在該卡中寫入使用完畢注銷信息;打開電動(dòng)欄桿機(jī),車輛駛出車道,完成出口操作2。此外,車道收費(fèi)軟件系統(tǒng)還應(yīng)具有下述功能:1. 對(duì)收費(fèi)人員上下班身份驗(yàn)證的功能;2. 自動(dòng)檢測并記錄車道設(shè)備的運(yùn)行狀態(tài)功能;3. 能夠提供一定的安全機(jī)制,防止隨意刪改數(shù)據(jù),同時(shí)提供數(shù)據(jù)備份和在網(wǎng)絡(luò)中斷情況導(dǎo)出數(shù)據(jù)的服務(wù);4. 通過車牌自動(dòng)識(shí)別,系統(tǒng)實(shí)現(xiàn)防換卡功能;5. 在非主要設(shè)各出現(xiàn)故障的情況下,系統(tǒng)亦能夠完成收費(fèi)處理;6. 盡量減少設(shè)備各故障對(duì)車道收費(fèi)的影響。3.1.2 車道收費(fèi)處理主要流程分析車道處理流程分析以車道收費(fèi)業(yè)務(wù)為中心,分為兩部分;入口車道流程分析和出口車道流程分析3,主要以流程圖

18、的形式來體現(xiàn)。因?yàn)樯婕暗姆治隽鞒梯^多,所以以下畫出的是入口、出口主要收費(fèi)業(yè)務(wù)分析流程圖4。1. 車道處理主控流程分析圖2.1 車道處理主控流程分析2. 上班校驗(yàn)流程分析圖2.1 上班校驗(yàn)流程分析3. 入口發(fā)卡處理流程分析圖2.2 入口發(fā)卡處理流程分析4. 入口車情流程分析圖2.3 入口車情流程分析5. 出口車情處理流程圖2.4 出口車情處理流程3.2 解決方案設(shè)計(jì)3.2.1 總體設(shè)計(jì)1. 基本設(shè)計(jì)概念和處理流在收費(fèi)系統(tǒng)中,存在著各種數(shù)據(jù),其中有些是與收費(fèi)相關(guān)的,如收費(fèi)流水?dāng)?shù)據(jù)、運(yùn)營參數(shù)數(shù)據(jù)、各類相關(guān)的查詢數(shù)據(jù)等5。其他是配合收費(fèi)工作的,例如短消息、時(shí)鐘同步等6。根據(jù)有關(guān)標(biāo)準(zhǔn)和需求分析,整個(gè)系統(tǒng)

19、的數(shù)據(jù)流向如下圖所示7:區(qū)域管理點(diǎn)路段中心級(jí)收費(fèi)站級(jí)車道級(jí)運(yùn)營參數(shù)時(shí)鐘同步卡調(diào)撥指令收費(fèi)數(shù)據(jù)卡調(diào)撥數(shù)據(jù)IC卡查詢圖象查詢運(yùn)營參數(shù)時(shí)鐘同步卡調(diào)撥指令收費(fèi)數(shù)據(jù)報(bào)警信息運(yùn)營參數(shù)時(shí)鐘同步短消息收費(fèi)數(shù)據(jù)報(bào)警數(shù)據(jù)IC卡查詢圖象查詢圖2.6 基本設(shè)計(jì)概念和處理流程2. 程序組成與結(jié)構(gòu)根據(jù)數(shù)據(jù)的流向以及需要做的處理工作,系統(tǒng)被設(shè)計(jì)成許多個(gè)子系統(tǒng)和子程序構(gòu)成。根據(jù)數(shù)據(jù)的處理需要和程序的部署位置,整個(gè)系統(tǒng)的程序組成如下表所示:表2.1 程序組成與結(jié)構(gòu)位置程序名稱說明車道車道入口程序車道時(shí)鐘同步客戶端服務(wù)程序車道短消息接受服務(wù)程序站級(jí)站級(jí)報(bào)表管理子系統(tǒng)站級(jí)站級(jí)參數(shù)瀏覽子系統(tǒng)站級(jí)站級(jí)交班管理子系統(tǒng)站級(jí)站級(jí)數(shù)據(jù)備份與恢

20、復(fù)子系統(tǒng)站級(jí)站級(jí)IC卡管理子系統(tǒng)站級(jí)人工錄入流水程序站級(jí)報(bào)警信息轉(zhuǎn)發(fā)服務(wù)程序站級(jí)監(jiān)控圖象查詢代理服務(wù)程序站級(jí)時(shí)鐘同步客戶端服務(wù)程序站級(jí)時(shí)鐘同步服務(wù)端服務(wù)程序站級(jí)車道數(shù)據(jù)長傳服務(wù)程序站級(jí)站級(jí)參數(shù)下發(fā)子系統(tǒng)程序路段中心路段報(bào)表管理子系統(tǒng)程序路段中心路段參數(shù)管理子系統(tǒng)程序路段中心路段票據(jù)管理子系統(tǒng)程序路段中心路段數(shù)據(jù)備份與恢復(fù)系統(tǒng)程序路段中心路段圖象稽查子系統(tǒng)程序路段中心路段IC卡管理子系統(tǒng)程序路段中心路段收費(fèi)監(jiān)控子系統(tǒng)程序路段中心報(bào)警信息轉(zhuǎn)發(fā)服務(wù)程序路段中心收費(fèi)站數(shù)據(jù)上傳服務(wù)程序路段中心路段參數(shù)下發(fā)子系統(tǒng)程序路段中心聯(lián)網(wǎng)通信客戶端程序路段中心時(shí)鐘同步客戶端服務(wù)程序路段中心時(shí)鐘同步服務(wù)端服務(wù)程序區(qū)域

21、中心聯(lián)網(wǎng)通信服務(wù)端程序各個(gè)程序與數(shù)據(jù)之間的關(guān)系見下圖所示:區(qū)域管理點(diǎn)路段中心級(jí)收費(fèi)站級(jí)車道級(jí)聯(lián)網(wǎng)通信服務(wù)端聯(lián)網(wǎng)通信服務(wù)端聯(lián)網(wǎng)通信客戶端聯(lián)網(wǎng)通信客戶端時(shí)鐘同步參數(shù)管理數(shù)據(jù)傳輸監(jiān)控程序報(bào)警轉(zhuǎn)發(fā)時(shí)鐘同步圖象查詢代理站級(jí)數(shù)據(jù)庫報(bào)警轉(zhuǎn)發(fā)數(shù)據(jù)傳輸車道程序短消息接收車道數(shù)據(jù)庫運(yùn)營參數(shù)圖象查詢結(jié)果圖象查詢請(qǐng)求條件時(shí)鐘同步請(qǐng)求圖象查詢請(qǐng)求結(jié)果入口查詢條件收費(fèi)流水?dāng)?shù)據(jù)入口查詢結(jié)果時(shí)鐘同步結(jié)果同步消息運(yùn)營參數(shù)流水?dāng)?shù)據(jù)抓拍圖象報(bào)警消息時(shí)鐘同步時(shí)鐘同步同步消息流水?dāng)?shù)據(jù)運(yùn)營參數(shù)短消息報(bào)警信息圖像信息查詢?nèi)肟谛畔⒉樵冏ヅ膱D象圖2.7 各程與數(shù)據(jù)之間的關(guān)系3. 系統(tǒng)維護(hù)設(shè)計(jì)針對(duì)維護(hù)方面的工作,主要采取日志的方式來記錄系統(tǒng)的運(yùn)

22、行情況。通常,可采用文本文件、數(shù)據(jù)庫等各種形式。為了便于事后的查看,本系統(tǒng)采用純文本格式的日志方式。日志文件的主要用途包括:(1) 在系統(tǒng)調(diào)試、試運(yùn)行以及正式使用等期間記錄系統(tǒng)的使用情況;(2) 記錄系統(tǒng)運(yùn)行過程中發(fā)生的故障和異常情況;(3) 記錄系統(tǒng)運(yùn)行時(shí)產(chǎn)生的調(diào)試信息。使用日志文件,有利于系統(tǒng)的調(diào)試和維護(hù)工作的開展,便于即使發(fā)現(xiàn)并診斷系統(tǒng)運(yùn)行過程中出現(xiàn)的故障。根據(jù)本系統(tǒng)中各個(gè)組成部分的規(guī)模和特點(diǎn),各程序可以選用以下各種日志處理方式:(1) 單文件集中型日志:程序的所有日志放在一個(gè)文本文件中;(2) 多文件分散型日志:根據(jù)日期,將日志分別放在對(duì)應(yīng)于日期的日志文件中。其中,第二種方式,針對(duì)產(chǎn)生

23、的多個(gè)文件,可以采取集中存放或者按照年月分目錄存放的形式??梢圆扇∑渌胧?,限制日志數(shù)據(jù)的數(shù)量,例如:(1) 限制日志文件的數(shù)量;(2) 限制日志文件的大??;(3) 采用分級(jí)控制措施,定制那些類型的信息需要保存到日志中。3.2.2 車道系統(tǒng)程序設(shè)計(jì)1. 車道系統(tǒng)概述為了實(shí)現(xiàn)區(qū)域聯(lián)網(wǎng)收費(fèi),車道需要進(jìn)行國王車輛情況的原始數(shù)據(jù)采集。根據(jù)湖南省有關(guān)聯(lián)網(wǎng)收費(fèi)標(biāo)準(zhǔn)和接口規(guī)范,通過安裝在車道工控機(jī)上的收費(fèi)系統(tǒng)和相應(yīng)的場外設(shè)備來有效完成數(shù)據(jù)采集工作。入口流程包括入口發(fā)IC卡或粵通卡操作流程、入口倒車操作流程、入口修改操作流程、入口掛車操作流程、入口車隊(duì)操作流程、入口免費(fèi)車操作流程、入口發(fā)紙卷等。出口流程包括出

24、口通行卡收費(fèi)流程、出口公務(wù)車收費(fèi)流程、出口修改收費(fèi)流程、出口壞卡收費(fèi)流程、出口丟卡收費(fèi)流程、出口回頭車收費(fèi)流程、出口車型不符收費(fèi)流程、出口車型不符操作流程、出口車種不符收費(fèi)流程、出口車牌收費(fèi)流程、出口未付車收費(fèi)流程、出口車隊(duì)收費(fèi)流程、出口粵通卡收費(fèi)流程、出口免費(fèi)車收費(fèi)流程、出口掛車收費(fèi)流程、出口手工收費(fèi)流程等。車道收費(fèi)系統(tǒng)可以有效的控制所有場外設(shè)備,以及對(duì)各種特殊情況進(jìn)行處理的功能。同時(shí)車道收費(fèi)系統(tǒng)的工作方式是完全獨(dú)立的,當(dāng)收費(fèi)站計(jì)算機(jī)不工作或者網(wǎng)絡(luò)出現(xiàn)問題時(shí),不影響車道系統(tǒng)的正常工作,系統(tǒng)參數(shù),數(shù)據(jù)記錄均存儲(chǔ)在本地。在通訊中斷的情況下,收費(fèi)車道系統(tǒng)維持正常收費(fèi)作業(yè),通訊恢復(fù)后,積壓數(shù)據(jù)可自動(dòng)

25、上傳。當(dāng)車道長期獨(dú)立工作時(shí),可以通過人工的方式用其他存儲(chǔ)介質(zhì)將數(shù)據(jù)上傳到收費(fèi)站9。車道收費(fèi)系統(tǒng)將實(shí)時(shí)獲取系統(tǒng)運(yùn)營參數(shù),能有效避免各個(gè)路段參數(shù)使用不統(tǒng)一的問題。車道收費(fèi)系統(tǒng)有無人職守功能,當(dāng)車道上無人上班時(shí),以“無名氏”身份監(jiān)視車道運(yùn)行10。出口車道能查詢車輛在區(qū)域內(nèi)的入口信息和入口圖像。車道收費(fèi)系統(tǒng)原始數(shù)據(jù)存儲(chǔ)在本地?cái)?shù)據(jù)庫LaneDB相應(yīng)的數(shù)據(jù)流水表中,原始流水?dāng)?shù)據(jù)在車道保留40天。過期數(shù)據(jù)將不做保留7。2. 車道系統(tǒng)設(shè)計(jì)8主界面(顯示模塊)u_Main單元業(yè)務(wù)邏輯處理模塊u_BizLogic場外設(shè)備接口處理模塊類THardsareManager數(shù)據(jù)庫處理模塊u_DataModule單元圖2.

26、8 車道系統(tǒng)設(shè)計(jì) 在車道收費(fèi)系統(tǒng)中,車道入口和出口的全部流程在業(yè)務(wù)邏輯單元u_BizLogic中處理,u_BizLogic中還包括向場外設(shè)備發(fā)控制命令和獲取部分場外設(shè)備的狀態(tài),通過事件通知機(jī)制出發(fā)界面顯示模塊u_Main單元做相應(yīng)的更新。數(shù)據(jù)處理模塊專門用來處理入口流水表、出口流水表、工班日志表、工班合計(jì)數(shù)表、設(shè)備裝備表等插入、更新操作。場外設(shè)備接口處理模塊類THardwareManager,管理所有場外設(shè)備,所有場外設(shè)備的接口單元單獨(dú)組成一個(gè)類,這些類作為場外設(shè)備管理類THardwareManager的public成員存在。通過生成類THardwareManager的對(duì)象,即可控制所有的場外

27、設(shè)備以及獲得場外設(shè)備的狀態(tài)。除了打印采用并口連接外,其他場外設(shè)備全部采用RS232串口連接。界面顯示處理模塊顯示內(nèi)容有:站、車信息、收費(fèi)員信息、發(fā)卡、發(fā)卡數(shù)量、車流量、收費(fèi)員按鍵、車道視頻字符疊加信息、部分提示信息、當(dāng)前車輛收費(fèi)金額、車型、車種、發(fā)卡編號(hào)、當(dāng)前車輛入口站等。3.2.3 數(shù)據(jù)上傳通信1. 車道數(shù)據(jù)上傳收費(fèi)站程序說明:車道數(shù)據(jù)上傳收費(fèi)站服務(wù)程序負(fù)責(zé)輪詢本站的各車道數(shù)據(jù)庫,將未上傳的車道流水記錄以及抓拍圖像上傳到收費(fèi)站保存。2. 收費(fèi)站數(shù)據(jù)上傳路段中心程序說明:收費(fèi)站數(shù)據(jù)上傳路段中心服務(wù)程序負(fù)責(zé)輪詢本路段的各個(gè)收費(fèi)站數(shù)據(jù)庫,將未上傳的車道流水記錄、抓拍圖像以及有關(guān)匯總數(shù)據(jù)上傳到路段中

28、心。3.2.4 通信系統(tǒng)設(shè)計(jì)1. 通信系統(tǒng)概述通信系統(tǒng)負(fù)責(zé)在車道、收費(fèi)站、路段中心以及區(qū)域管理點(diǎn)之間傳遞數(shù)據(jù)。根據(jù)被傳遞數(shù)據(jù)的類型以及特點(diǎn),通信系統(tǒng)被劃分成多個(gè)子系統(tǒng)(子程序),部署在不同的計(jì)算機(jī)上,整體配合完成整個(gè)收費(fèi)系統(tǒng)的數(shù)據(jù)傳遞任務(wù)11。在各級(jí)系統(tǒng)中,數(shù)據(jù)流向如下入所示:區(qū)域管理點(diǎn)路段中心級(jí)收費(fèi)站級(jí)車道級(jí)運(yùn)營參數(shù)時(shí)鐘同步卡調(diào)撥指令收費(fèi)數(shù)據(jù)卡調(diào)撥數(shù)據(jù)IC卡查詢圖像查詢運(yùn)營參數(shù)時(shí)鐘同步卡調(diào)撥指令收費(fèi)數(shù)據(jù)報(bào)警信息運(yùn)營參數(shù)時(shí)鐘同步短消息收費(fèi)數(shù)據(jù)報(bào)警數(shù)據(jù)IC卡查詢圖像查詢圖2.9 聯(lián)網(wǎng)收費(fèi)路段系統(tǒng)數(shù)據(jù)流向圖關(guān)于數(shù)據(jù)流圖說明:在站級(jí)系統(tǒng)中,有相當(dāng)部分的數(shù)據(jù)實(shí)際上只是轉(zhuǎn)發(fā),例如報(bào)警信息、短消息等。由于

29、整個(gè)路段的網(wǎng)絡(luò)是局域網(wǎng),因此在實(shí)際部署中,也可以采取直接將消息發(fā)送到中心的機(jī)制,以便減少中間環(huán)節(jié),使系統(tǒng)得以簡化。這主要取決于系統(tǒng)部署以及維護(hù)的情況12。對(duì)于IC卡和圖像信息的查詢也可以采用直接從車道發(fā)送到路段中心的方式。上圖就采用了這種方式。通信系統(tǒng)中,需要處理的數(shù)據(jù)類型和實(shí)時(shí)性要求如下表所示:表2.2 需要處理的數(shù)據(jù)類型和時(shí)時(shí)性要求信息類型實(shí)時(shí)要求傳輸方向備注系統(tǒng)運(yùn)營參數(shù)手工/定時(shí)路段中心到車道費(fèi)率表、黑名單等收費(fèi)流水?dāng)?shù)據(jù)實(shí)時(shí)車道到區(qū)域中心出口入流水表、工班表等報(bào)警信息實(shí)時(shí)車道到路段中心IC卡入口查詢實(shí)時(shí)車道到路段中心再回車道圖像信息查詢實(shí)時(shí)車道到路段中心再回車道短消息實(shí)時(shí)路段中心或站到車

30、道時(shí)鐘同步實(shí)時(shí)區(qū)域中心到站和車道2. 通信系統(tǒng)設(shè)計(jì)通信系統(tǒng)實(shí)際上由若干個(gè)運(yùn)行于不同地方的程序組成,包括車道、收費(fèi)站路段中心等,涉及的數(shù)據(jù)種類多,傳輸?shù)囊笠膊灰粯?,并且與各級(jí)系統(tǒng)中的其它程序關(guān)系密切,需要整體考慮。如果設(shè)計(jì)的不合適,對(duì)系統(tǒng)的整體運(yùn)行效果和性能有較大影響13。在設(shè)計(jì)過程中,主要采取適當(dāng)分解通訊系統(tǒng)的思路,將各種功能獨(dú)立到各個(gè)獨(dú)立的程序中。對(duì)通信系統(tǒng)的分解,可以簡化程序的復(fù)雜度,提高可維護(hù)性,避免局部的改動(dòng)對(duì)整體造成較大影響。分解的原則包括:(1) 數(shù)據(jù)類型:例如傳送系統(tǒng)運(yùn)營參數(shù)和收費(fèi)數(shù)據(jù);(2) 傳輸方向:例如對(duì)于收費(fèi)數(shù)據(jù),收費(fèi)站存在著接收和上傳的要求;(3) 時(shí)間要求:例如實(shí)時(shí)

31、數(shù)據(jù)和定時(shí)數(shù)據(jù)的傳輸;(4) 功能要求:例如實(shí)時(shí)數(shù)據(jù)中包括的報(bào)警信息和IC卡查詢等。根據(jù)通信系統(tǒng)的特點(diǎn),絕大多數(shù)通信系統(tǒng)的程序都被編寫為Windows系統(tǒng)的服務(wù)程序沒有圖形界面。這些服務(wù)程序被默認(rèn)配置為在系統(tǒng)啟動(dòng)時(shí)自動(dòng)執(zhí)行,而已通過Windows的服務(wù)管理器來啟動(dòng)或停止這些服務(wù)程序的運(yùn)行。根據(jù)前述分析機(jī)思路。在路段內(nèi)的車道、收費(fèi)站、路段中心分別有以下程序用于處理數(shù)據(jù)通訊和交換功能:3. 車道級(jí):(1) 時(shí)鐘同步客戶端服務(wù)程序14:功能:定期從指定的服務(wù)器(通過IP設(shè)定,收費(fèi)站)獲取時(shí)鐘同步信息并更新本地車道計(jì)算機(jī)的時(shí)鐘。(2) 短消息接受服務(wù)程序:功能:接收上層(收費(fèi)站或路段中心)發(fā)來的短消息

32、,并顯示給收費(fèi)員。4. 收費(fèi)站:(1) 車道收費(fèi)數(shù)據(jù)上傳服務(wù)程序:功能:定時(shí)從本站各個(gè)車道的數(shù)據(jù)庫中獲取需要上傳的數(shù)據(jù),并存儲(chǔ)到站級(jí)的數(shù)據(jù)庫服務(wù)器中。(2) 監(jiān)控圖像代理服務(wù)程序:功能:根據(jù)路段中心收費(fèi)監(jiān)控的圖像查詢要求,獲取并指定車道的圖像數(shù)據(jù),并返回給收費(fèi)監(jiān)控系統(tǒng)。(3) 報(bào)警信息轉(zhuǎn)發(fā)服務(wù)程序:功能:接收車道上傳的報(bào)警信息并實(shí)時(shí)轉(zhuǎn)發(fā)到路段中心。(4) 時(shí)鐘同步服務(wù)端程序:功能:為本站車道計(jì)算機(jī)提出的時(shí)鐘同步請(qǐng)求應(yīng)答時(shí)鐘同步信息。(5) 時(shí)鐘同步客戶端服務(wù)程序:功能:定期從指定的服務(wù)器(通過IP,路段中心)獲取時(shí)鐘同步信息并更新站級(jí)計(jì)算機(jī)系統(tǒng)的時(shí)鐘。5. 路段中心:(1) 站級(jí)收費(fèi)數(shù)據(jù)上傳服

33、務(wù)程序:功能:定時(shí)從本路段各站的數(shù)據(jù)庫中獲取需要上傳的數(shù)據(jù),并且存儲(chǔ)到路段中心的數(shù)據(jù)庫服務(wù)器中。(2) 報(bào)警信息轉(zhuǎn)發(fā)服務(wù)程序:功能:接受下級(jí)上傳的報(bào)警信息并實(shí)時(shí)轉(zhuǎn)發(fā)到收費(fèi)監(jiān)控程序。(3) 時(shí)鐘同步服務(wù)器端服務(wù)程序:功能:為本路段下級(jí)系統(tǒng)計(jì)算機(jī)提出的時(shí)鐘同步請(qǐng)求應(yīng)答時(shí)鐘同步信息。(4) 與聯(lián)網(wǎng)收費(fèi)相關(guān)的通信服務(wù):功能:接收來自車道的入口信息查詢以及圖像查詢等請(qǐng)求,并通過與區(qū)域中心的通信,返回查詢結(jié)果。以上各個(gè)部分歸納入下表所示:表2.3 車道級(jí)模塊歸納部署位置程序名稱備注車道時(shí)鐘同步客戶端車道短消息接收收費(fèi)站時(shí)鐘同步客戶端收費(fèi)站時(shí)鐘同步服務(wù)端收費(fèi)站報(bào)警信息轉(zhuǎn)發(fā)收費(fèi)站車道數(shù)據(jù)上傳收費(fèi)站收費(fèi)站車道圖

34、像查詢代理路段中心時(shí)鐘同步服務(wù)端路段中心報(bào)警信息轉(zhuǎn)發(fā)路段中心聯(lián)網(wǎng)通信客戶端含上傳數(shù)據(jù)、查詢等6. 數(shù)據(jù)上傳通信(1) 車道數(shù)據(jù)上傳收費(fèi)站程序說明:車道數(shù)據(jù)上傳收費(fèi)站服務(wù)程序負(fù)責(zé)輪詢本站的各車道數(shù)據(jù)庫,將未上傳的車道流水記錄以及抓拍圖象上傳到收費(fèi)站保存。(2) 收費(fèi)站數(shù)據(jù)上傳路段中心程序說明:收費(fèi)站數(shù)據(jù)上傳路段中心服務(wù)程序負(fù)責(zé)輪詢本路段的各收費(fèi)站數(shù)據(jù)庫,將未上傳的車道流水記錄、抓拍圖像以及有關(guān)匯總數(shù)據(jù)上傳到路段中心。(3) 時(shí)鐘同步通信程序說明:時(shí)鐘同步客戶端服務(wù)程序定期(時(shí)間周期可以設(shè)置)與時(shí)鐘同步服務(wù)服務(wù) 程序取得聯(lián)系,獲取服務(wù)器一端的時(shí)鐘信息,并根據(jù)該時(shí)鐘信息更新本機(jī)時(shí)鐘,達(dá)到統(tǒng)一時(shí)鐘的目

35、的。7. 部署在路段中心局域網(wǎng)內(nèi)所有工作站上的時(shí)鐘同步客戶端:部署在路段中心的時(shí)鐘同步客戶端與部署在車道及收費(fèi)站的時(shí)鐘同步客戶端是同一個(gè)程序,只是需要設(shè)置不同的參數(shù),即車道時(shí)鐘同步客戶端需要指定的服務(wù)端是收費(fèi)站的時(shí)鐘同步服務(wù)端,而路段中心的時(shí)鐘同步客戶端指定的是路段中心服務(wù)器上的時(shí)鐘同步服務(wù)端。路段中心局域網(wǎng)內(nèi)的所有工作站都需要安裝時(shí)鐘同步客戶端,以保證整個(gè)收費(fèi)站局域網(wǎng)的計(jì)算機(jī)保持時(shí)鐘同步。在這些工作站上安裝時(shí)鐘同步服務(wù)時(shí),對(duì)應(yīng)的服務(wù)端指定為路段中心服務(wù)器上的時(shí)鐘同步服務(wù)端。8. 部署在路段中心服務(wù)器的時(shí)鐘同步服務(wù)端時(shí)鐘同步服務(wù)端服務(wù)程序接收時(shí)鐘同步客戶端服務(wù)程序定期(時(shí)間周期可設(shè)置)發(fā)出的請(qǐng)

36、求,返回本機(jī)的當(dāng)前時(shí)間信息給客戶端,以便客戶端根據(jù)此時(shí)鐘信息更新客戶端計(jì)算機(jī)的時(shí)鐘,達(dá)到統(tǒng)一時(shí)鐘的目的。部署在路段中心服務(wù)器上的時(shí)鐘同步服務(wù)端服務(wù)程序負(fù)責(zé)接收來自本路段各收費(fèi)站發(fā)出的時(shí)鐘同步請(qǐng)求。該程序與部署在收費(fèi)站服務(wù)器上的時(shí)鐘同步服務(wù)端是同一個(gè)程序,設(shè)置的參數(shù)也相同。9. 報(bào)警消息通信報(bào)警消息轉(zhuǎn)發(fā)服務(wù)程序負(fù)責(zé)將出入口車道程序上傳的反應(yīng)車道收費(fèi)情況的信息轉(zhuǎn)發(fā)到指定的目的地。通常,目的地包括路段中心的通信系統(tǒng)以及收費(fèi)站的監(jiān)控程序,以便這些報(bào)警信息得到相應(yīng)的處理。部署在路段中心服務(wù)器上的報(bào)警信息轉(zhuǎn)發(fā)服務(wù)程序與部署收費(fèi)站服務(wù)器上的報(bào)警信息轉(zhuǎn)發(fā)服務(wù)程序是同一個(gè)程序,只是需要設(shè)置不同參數(shù),即收費(fèi)站的報(bào)

37、警信息轉(zhuǎn)發(fā)服務(wù)程序需要指定的參數(shù)是收費(fèi)站的有關(guān)參數(shù),而路段中心服務(wù)器上的報(bào)警信息轉(zhuǎn)發(fā)服務(wù)程序使用的是路段中心的有關(guān)參數(shù)(例如使用路段中心的數(shù)據(jù)庫等)程序說明:報(bào)警信息轉(zhuǎn)發(fā)服務(wù)程序負(fù)責(zé)將出入口車道程序上傳的反應(yīng)車道收費(fèi)情況的信息轉(zhuǎn)發(fā)到指定的目的地。通常,目的地包括路段中心的通信系統(tǒng)以及收費(fèi)站的監(jiān)控程序,以便這些報(bào)警信息得到相應(yīng)的處理15。3.2.5 數(shù)據(jù)庫設(shè)計(jì)采用SQLSERVER數(shù)據(jù)庫。車道級(jí)數(shù)據(jù)庫為LaneDB,主要包括InList等表。表2.4 InList表列名數(shù)據(jù)類型長度說明StationNamevarchar50收費(fèi)站名LaneNoint4車道編碼VehTypevarchar50車型

38、VehClassvarchar50種類VehCountvarchar50車輛數(shù)VehPlate(PK)varchar50車牌OperatorNoint4操作員編碼CardNovarchar50操作員卡號(hào)Directionint4方向InTime(PK)datetime8入站時(shí)間VehStandardvarchar50車輛規(guī)格PicPathvarchar50車輛照片存儲(chǔ)路徑Flagint4數(shù)據(jù)庫上傳標(biāo)識(shí)位【說明】方向:0為入站1為出站。車輛規(guī)格:綠色通道車、客車、貨車。數(shù)據(jù)庫上傳標(biāo)識(shí)位:0為未上傳到站級(jí)數(shù)據(jù)庫,1為上傳到站級(jí)數(shù)據(jù)庫。表2.5 OutList表列名數(shù)據(jù)類型長度說明StationNa

39、mevarchar50收費(fèi)站名LaneNoint4車道編碼VehCountvarchar50車輛數(shù)VehPlate(PK)varchar50車牌Directionint4方向OutTime(PK)datetime8出站時(shí)間VehStandardvarchar50車輛規(guī)格Moneyfloat50收費(fèi)金額【說明】方向:0為入站1為出站。車輛規(guī)格:綠色通道車、客車、貨車。表2.6 Operator表列名數(shù)據(jù)類型長度說明RoadNochar10路段編碼StationNosmallint2站編碼OperatorNoint4操作員編號(hào)OperatorNamevarchar50操作員姓名OpCardIDch

40、ar16操作員編號(hào)OpCardNo(PK)int4操作員卡號(hào)Passwordvarchar6登陸密碼AreaNochar10區(qū)域編碼表2.7 CardBlackList表列名數(shù)據(jù)類型長度說明CardNo(PK)char4卡號(hào)AreaNosallint2區(qū)域編碼OpTimedatetime8失效時(shí)間InValidTypeNotinyint1失效原因表2.8 Price表列名數(shù)據(jù)類型長度說明InterStationvarchar50區(qū)間Milesint4里程Standardvarchar50規(guī)格Ratefloat8費(fèi)率2噸以下(含2噸)的綠色通道車int4車型2噸以下(含2噸)的各類貨車int4車

41、型2噸以上至5噸(含5噸)的各類貨車int4車型5噸以上至10噸(含10噸)的各類貨車int4車型10噸以上至15噸(含15噸)的各類貨車int4車型7座以下(含7座)的客車int4車型8座至9座的客車int4車型20座至39座的客車int4車型40座(含40座)以上的客車int4車型表2.9 PriceRate表列名數(shù)據(jù)類型長度說明Standardvarchar50規(guī)格FeeRatefloat8費(fèi)率3 基本理論知識(shí)及應(yīng)用MFC,是一個(gè)微軟公司提供的類庫(class libraries),以C+類的形式封裝了Windows的API,并且包含一個(gè)應(yīng)用程序框架,以減少應(yīng)用程序開發(fā)人員的工作量。其中

42、包含的類包含大量句柄封裝類和很多Windows的內(nèi)建控件和組件。微軟計(jì)劃在Windows Vista(代號(hào)Longhorn)發(fā)布之后繼續(xù)在MFC中增加對(duì)Windows Vista API,以及Windows Presentation Framework (代號(hào)Avalon)的支持。在可見的未來,微軟對(duì)MFC的支持不會(huì)停止。3.1 MFC下的用戶界面編程MFC提供了強(qiáng)大豐富的控件1,控件關(guān)系如圖:圖3.1 MFC控件關(guān)系圖本設(shè)計(jì)主要采用了基于基本對(duì)話框的MFC模式。對(duì)話框分兩種類型,模式對(duì)話框和無模式對(duì)話框。1. 模式對(duì)話框:一個(gè)模式對(duì)話框是一個(gè)有系統(tǒng)菜單、標(biāo)題欄、邊線等的彈出式窗口。在創(chuàng)建對(duì)話

43、框時(shí)指定WS_POPUP,WS_SYSMENU,WS_CAPTION和DS_MODALFRAM風(fēng)格。即使沒有指定WS_VISIBLE風(fēng)格,模式對(duì)話框也會(huì)被顯示。創(chuàng)建對(duì)話框窗口時(shí),將發(fā)送WM_INITDIALOG消息(如果指定對(duì)話框的DS_SETFONT風(fēng)格,還有WM_SETFONT消息)給對(duì)話框過程。對(duì)話框過程(Dialog box procedure)不是對(duì)話框窗口的窗口過程(Window procedure)。在Win32里,對(duì)話框的窗口過程由Windows系統(tǒng)提供,用戶在創(chuàng)建對(duì)話框窗口時(shí)提供一個(gè)對(duì)話框過程由窗口過程調(diào)用。對(duì)話框窗口被創(chuàng)建之后,Windows使得它成為一個(gè)激活的窗口,它保持

44、激活直到對(duì)話框過程調(diào)用:EndDialog函數(shù)結(jié)束對(duì)話框的運(yùn)行或者Windows激活另一個(gè)應(yīng)用程序?yàn)橹?,在激活時(shí),用戶或者應(yīng)用程序不可以激活它的所屬窗口(Owner window)。Windows創(chuàng)建模式對(duì)話框時(shí),給當(dāng)前捕獲鼠標(biāo)輸入的窗口(如果有的話)發(fā)送消息WM_CANCLEMODE。收到該消息后,應(yīng)用程序應(yīng)該終止鼠標(biāo)捕獲(Release the mouse capture)以便于用戶能把鼠標(biāo)移到模式對(duì)話框;否則由于Owner窗口被禁止,程序?qū)⑹ナ髽?biāo)輸入。為了處理模式對(duì)話框的消息,Windows開始對(duì)話框自身的消息循環(huán),暫時(shí)控制整個(gè)應(yīng)用程序的消息隊(duì)列。如果Windows收到一個(gè)非對(duì)話框消息

45、時(shí),則它把消息派發(fā)給適當(dāng)?shù)拇翱谔幚?;如果收到了WM_QUIT消息,則把該消息放回應(yīng)用程序的消息隊(duì)列里,這樣應(yīng)用程序的主消息循環(huán)最終能處理這個(gè)消息。2. 無模式對(duì)話框:一個(gè)無模式對(duì)話框是一個(gè)有系統(tǒng)菜單、標(biāo)題欄、邊線等的彈出式窗口。在創(chuàng)建對(duì)話框模板時(shí)指定WS_POPUP、WS_CAPTION、WS_BORDER和WS_SYSMENU風(fēng)格。如果沒有指定WS_VISIBLE風(fēng)格,無模式對(duì)話框不會(huì)自動(dòng)地顯示出來。一個(gè)無模式對(duì)話框既不會(huì)禁止所屬窗口,也不會(huì)給它發(fā)送消息。當(dāng)創(chuàng)建一個(gè)模式對(duì)話框時(shí),Windows使它成為活動(dòng)窗口,但用戶或者程序可以隨時(shí)改變和設(shè)置活動(dòng)窗口。如果對(duì)話框失去激活,那么即使所屬窗口是活

46、動(dòng)的,在Z軸順序上,它仍然在所屬窗口之上。應(yīng)用程序負(fù)責(zé)獲取和派發(fā)輸入消息給對(duì)話框。大部分應(yīng)用程序使用主消息循環(huán)來處理,但是為了用戶可以使用鍵盤在控制窗口之間移動(dòng)或者選擇控制窗口,應(yīng)用程序應(yīng)該調(diào)用:IsDialogMessage函數(shù)。當(dāng):IsDialogMessage處理一個(gè)消息時(shí),它檢查鍵盤消息并把它們轉(zhuǎn)換成相應(yīng)對(duì)話框的選擇命令。例如,當(dāng)Tab 鍵被壓下時(shí),下一個(gè)或下一組控制被選中,當(dāng)Down Arrow鍵按下后,一組控制中的下一個(gè)控制被選擇。:IsDialogMessage完成了所有必要的消息轉(zhuǎn)換和消息派發(fā),所以該函數(shù)處理的消息一定不要傳遞給TranslateMessage和Dispatch

47、Message處理。一個(gè)無模式對(duì)話框不能像模式對(duì)話框那樣返回一個(gè)值給應(yīng)用程序。但是對(duì)話框過程可以使用:SendMessage給所屬窗口傳遞信息。在應(yīng)用程序結(jié)束之前,它必須銷毀所有的無模式對(duì)話框。使用:DestroyWindow銷毀一個(gè)無模式對(duì)話框,不是使用:EndDiaLog。一般來說,對(duì)話框過程響應(yīng)用戶輸入,如用戶選擇了“取消”按鈕,則調(diào)用:DestroyWindow;如果用戶沒有有關(guān)動(dòng)作,則應(yīng)用程序必須調(diào)用:DestroyWindow。3.2 MFC下的多線程進(jìn)程是不活潑的。進(jìn)程從來不執(zhí)行任何東西,它只是線程的容器。若要使進(jìn)程完成某項(xiàng)操作,它必須擁有一個(gè)在它的環(huán)境中運(yùn)行的線程,此線程負(fù)責(zé)執(zhí)

48、行包含在進(jìn)程的地址空間中的代碼。單個(gè)進(jìn)程可能包含若干個(gè)線程,這些線程都“同時(shí)”執(zhí)行進(jìn)程地址空間中的代碼。每個(gè)進(jìn)程至少擁有一個(gè)線程,來執(zhí)行進(jìn)程的地址空間中的代碼。當(dāng)創(chuàng)建一個(gè)進(jìn)程時(shí),操作系統(tǒng)會(huì)自動(dòng)創(chuàng)建這個(gè)進(jìn)程的第一個(gè)線程,稱為主線程。此后,該線程可以創(chuàng)建其他的線程。線程由兩個(gè)部分組成:1. 線程的內(nèi)核對(duì)象,操作系統(tǒng)用它來對(duì)線程實(shí)施管理。內(nèi)核對(duì)象也是系統(tǒng)用來存放線程統(tǒng)計(jì)信息的地方;2. 線程堆棧,它用于維護(hù)線程在執(zhí)行代碼時(shí)需要的所有參數(shù)和局部變量。當(dāng)創(chuàng)建線程時(shí),系統(tǒng)創(chuàng)建一個(gè)線程內(nèi)核對(duì)象。該線程內(nèi)核對(duì)象不是線程本身,而是操作系統(tǒng)用來管理線程的較小的數(shù)據(jù)結(jié)構(gòu)??梢詫⒕€程內(nèi)核對(duì)象視為由關(guān)于線程的統(tǒng)計(jì)信息組

49、成的一個(gè)小型數(shù)據(jù)結(jié)構(gòu)。 線程總是在某個(gè)進(jìn)程環(huán)境中創(chuàng)建。系統(tǒng)從進(jìn)程的地址空間中分配內(nèi)存,供線程的堆棧使用。新線程運(yùn)行的進(jìn)程環(huán)境與創(chuàng)建線程的環(huán)境相同。因此,新線程可以訪問進(jìn)程的內(nèi)核對(duì)象的所有句柄、進(jìn)程中的所有內(nèi)存和在這個(gè)相同的進(jìn)程中的所有其他線程的堆棧。這使得單個(gè)進(jìn)程中的多個(gè)線程確實(shí)能夠非常容易地互相通信。線程只有一個(gè)內(nèi)核對(duì)象和一個(gè)堆棧,保留的記錄很少,因此所需要的內(nèi)存也很少。因?yàn)榫€程需要的開銷比進(jìn)程少,因此在編程中經(jīng)常采用多線程來解決編程問題,而盡量避免創(chuàng)建新的進(jìn)程。操作系統(tǒng)為每一個(gè)運(yùn)行線程安排一定的CPU時(shí)間 時(shí)間片。系統(tǒng)通過一種循環(huán)的方式為線程提供時(shí)間片,線程在自己的時(shí)間內(nèi)運(yùn)行,因時(shí)間片相當(dāng)

50、短,因此,給用戶的感覺,就好像線程是同時(shí)運(yùn)行的一樣。MFC中用啟動(dòng)線程的函數(shù)主要有CWinThread * AfxBeginThread (AFX_THREADPROC pfnThreadProc, LPVOID pParam, int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0, DWORD dwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL );3.3 MFC下的網(wǎng)絡(luò)編程Windows Sockets是Microsoft Windows的網(wǎng)絡(luò)程序設(shè)

51、計(jì)接口,它是從Berkeley Sockets擴(kuò)展而來的,以動(dòng)態(tài)鏈接庫的形式提供給我們使用。Windows Sockets在繼承了Berkeley Sockets主要特征的基礎(chǔ)上,又對(duì)它進(jìn)行了重要擴(kuò)充。這些擴(kuò)充主要是提供了一些異步函數(shù),并增加了符合Windows消息驅(qū)動(dòng)特性的網(wǎng)絡(luò)事件異步選擇機(jī)制。套接字分為以下兩種類型:1. 流式套接字(SOCK_STREAM)提供面向連接、可靠的數(shù)據(jù)傳輸服務(wù),數(shù)據(jù)無差錯(cuò)、無重復(fù)的發(fā)送,且按發(fā)送順序接收。2. 數(shù)據(jù)報(bào)式套接字(SOCK_DGRAM)3. 提供無連接服務(wù)數(shù)據(jù)包以獨(dú)立包形式發(fā)送,不提供無錯(cuò)保證,數(shù)據(jù)可能丟失或重復(fù),并且接收順序混亂。4. 原始套接字

52、(SOCK_RAW)。TCP和UDP是TCP/IP協(xié)議中的兩個(gè)傳輸層協(xié)議,它們使用IP路由功能把數(shù)據(jù)包發(fā)送到目的地,從而為應(yīng)用程序及應(yīng)用層協(xié)議(包括:HTTP、SMTP、SNMP、FTP和Telnet)提供網(wǎng)絡(luò)服務(wù)。傳輸控制協(xié)議TCP是TCP/IP協(xié)議棧中的傳輸層協(xié)議,與IP協(xié)議相結(jié)合,TCP組成了因特網(wǎng)協(xié)議的核心。TCP協(xié)議有以下特點(diǎn):1. TCP協(xié)議能為應(yīng)用程序提供可靠的通信連接,使一臺(tái)計(jì)算機(jī)發(fā)出的字節(jié)流無差錯(cuò)地發(fā)往網(wǎng)絡(luò)上的其他計(jì)算機(jī),對(duì)可靠性要求高的數(shù)據(jù)通信系統(tǒng)往往使用TCP協(xié)議傳輸數(shù)據(jù);2. TCP協(xié)議利用重發(fā)技術(shù)和擁塞控制機(jī)制,向應(yīng)用程序提供可靠的通信連接,使它能夠自動(dòng)適應(yīng)網(wǎng)上的各種

53、變化。即使在Internet暫時(shí)出現(xiàn)堵塞的情況下,TCP也能夠保證通信的可靠。眾所周知,Internet是一個(gè)龐大的國際性網(wǎng)絡(luò),網(wǎng)路上的擁擠和空閑時(shí)間總是交替不定的,加上傳送的距離也遠(yuǎn)近不同,所以傳輸數(shù)據(jù)所用時(shí)間也會(huì)變化不定。TCP協(xié)議具有自動(dòng)調(diào)整超時(shí)值的功能,能很好地適應(yīng) Internet 上各種各樣的變化,確保傳輸數(shù)值的正確。與TCP不同,UDP提供的是非面向連接的、不可靠的數(shù)據(jù)流傳輸。如果數(shù)據(jù)在從發(fā)送方到接收方的傳遞過程中出現(xiàn)丟失,協(xié)議并不會(huì)做出任何檢測或者提示。另外,UDP并不能確保數(shù)據(jù)的發(fā)送和接收順序,特別是在網(wǎng)絡(luò)十分擁擠的情況下,數(shù)據(jù)接收可能會(huì)出現(xiàn)亂序現(xiàn)象。因此,從上面我們可以了解到:IP協(xié)議只保證計(jì)算機(jī)能發(fā)送和接收分組數(shù)據(jù),而TCP協(xié)議則可提供一個(gè)可靠的、可流控的、全雙工的信息

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論