隨著信息時(shí)代的高速發(fā)展.人們對(duì)信息的需求越來(lái)越呈現(xiàn)出多樣化、專(zhuān)業(yè)化的趨勢(shì)。對(duì)各種獲取信息的終端設(shè)備也提出了更高的要求,既要快速、準(zhǔn)確、方便地獲取信息,又要便于攜帶。作為既要快速方便地獲取信息。又要便于攜帶的信息終端設(shè)備.PDA具有不可比擬的優(yōu)勢(shì)。隨著PDA容量增大、存取速度變快.網(wǎng)絡(luò)連接越來(lái)越方便。PDA的應(yīng)用前景將越來(lái)越廣泛。本文在PDA環(huán)境下,提出了一種新型的應(yīng)用系統(tǒng)架構(gòu)。并成功將其應(yīng)用在長(zhǎng)江航道局信息化系統(tǒng)之中。 1 嵌入式操作系統(tǒng) WinCE WinCE是一個(gè)搶先式多任務(wù)并具有強(qiáng)大通信能力的嵌入式操作系統(tǒng)。它的多線(xiàn)程性、多任務(wù)、全優(yōu)先的操作系統(tǒng)環(huán)境是專(zhuān)門(mén)針對(duì)資源有限而沒(méi)計(jì)的.這種模塊化設(shè)計(jì)使嵌入式系統(tǒng)開(kāi)發(fā)者和應(yīng)用開(kāi)發(fā)者能夠定做各種產(chǎn)品.此外WinCE還支持各種硬件外圍設(shè)備及網(wǎng)絡(luò)系統(tǒng)。WinCE是一個(gè)全新的、可移植的、實(shí)時(shí)的、模塊化的操作系統(tǒng),具有流行的微軟程序開(kāi)發(fā)界面,提供許多快速開(kāi)發(fā)嵌入式系統(tǒng)的T具.它具備以下幾個(gè)特點(diǎn): 1) 高度模塊化:在移動(dòng)和嵌入式設(shè)備中.內(nèi)存是非常有限的,為了節(jié)省操作系統(tǒng)資源的占有率。WinCE被設(shè)計(jì)成模塊化的操作系統(tǒng)。設(shè)計(jì)者只需要選擇那些需要滿(mǎn)足指定平臺(tái)的存儲(chǔ)器要求的系統(tǒng)模塊.以減少內(nèi)存的使用。 2) 占用資源少:在WinCE的所有設(shè)計(jì)目標(biāo)中,操作系統(tǒng)所需的資源少是其應(yīng)用受到制的主要方面,—個(gè)典型的WindowsCE設(shè)備只需4MB到8MB的ROM。 3) 便于移植:WinCE操作系統(tǒng)幾乎完全是用C語(yǔ)言編寫(xiě)的,支持多種處理器.因此很容易移植到不同的32位微處理器。 winCE操作系統(tǒng)是基于Win32 API的,與其他Windows操作系統(tǒng)一樣,WinCE也是采用事件驅(qū)動(dòng)的編程模型。目前,WinCE的應(yīng)用程序開(kāi)發(fā)平臺(tái)主要有兩種。一種是EVC(Erobedded VC++)集成開(kāi)發(fā)環(huán)境,另一種是Visual Studio集成開(kāi)發(fā)環(huán)境。兩種環(huán)境均為程序員提供了完善的開(kāi)發(fā)平臺(tái),并且還提供了PDA設(shè)備模擬器.方便程序員在沒(méi)有手持設(shè)備的情況下進(jìn)行程序調(diào)試。 2 移動(dòng)數(shù)據(jù)庫(kù) SQL Server CE 移動(dòng)數(shù)據(jù)庫(kù)技術(shù)是在移動(dòng)計(jì)算技術(shù)和無(wú)線(xiàn)通信技術(shù)的基礎(chǔ)上發(fā)展起來(lái)的.是移動(dòng)計(jì)算技術(shù)和分布式數(shù)據(jù)庫(kù)技術(shù)結(jié)合的產(chǎn)物.主要用在PDA、車(chē)載系統(tǒng)等嵌入式設(shè)備中。移動(dòng)數(shù)據(jù)庫(kù)系統(tǒng)可以支持移動(dòng)用戶(hù)在多種網(wǎng)絡(luò)條件下有效地訪(fǎng)問(wèn)所需數(shù)據(jù),完成數(shù)據(jù)查詢(xún)和事務(wù)處理。移動(dòng)數(shù)據(jù)庫(kù)包括以下兩層含義: 1)移動(dòng)用戶(hù)可以在移動(dòng)環(huán)境下存取訪(fǎng)問(wèn)后臺(tái)數(shù)據(jù)庫(kù)。 2)移動(dòng)用戶(hù)可以先帶著后臺(tái)數(shù)據(jù)庫(kù)的副本在移動(dòng)環(huán)境下工作,然后周期性地與后臺(tái)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)同步。 SQL Server CE是一個(gè)小巧但強(qiáng)悍的關(guān)系型數(shù)據(jù)庫(kù)產(chǎn)品.它支持用戶(hù)熟悉的結(jié)構(gòu)化查詢(xún)語(yǔ)言sQL提供了與SQLServer一致的開(kāi)發(fā)模型和API。使得移動(dòng)應(yīng)用的開(kāi)發(fā)過(guò)程更為簡(jiǎn)單。用戶(hù)還可以通過(guò)遠(yuǎn)程數(shù)據(jù)訪(fǎng)問(wèn)執(zhí)行Transact—SQL語(yǔ)句,將離線(xiàn)修改后的數(shù)據(jù)庫(kù)在以后的時(shí)間與服務(wù)器進(jìn)行同步,這使得SQL Server CE成為移動(dòng)設(shè)備的理想選擇。 SQL Server CE的構(gòu)架如圖1所示。 ![]() 圖1 SQL Server CE數(shù)據(jù)庫(kù)構(gòu)架 3 基于SQL SERVER 2000的數(shù)據(jù)庫(kù)同步機(jī)制 同步的過(guò)程,是在本地?cái)?shù)據(jù)庫(kù)上進(jìn)行數(shù)據(jù)更改然后再轉(zhuǎn)發(fā)應(yīng)用到各個(gè)遠(yuǎn)程服務(wù)器的過(guò)程;或者從遠(yuǎn)程服務(wù)器上將數(shù)據(jù)庫(kù)的副本拷貝到移動(dòng)終端上的過(guò)程。 SQLSever能在不同節(jié)點(diǎn)間復(fù)制數(shù)據(jù)并自動(dòng)同步這些節(jié)點(diǎn)的數(shù)據(jù)。用戶(hù)可以在同--Jlit務(wù)的不同數(shù)據(jù)庫(kù)或不同的遠(yuǎn)程連接服務(wù)器之間復(fù)制數(shù)據(jù)。SQLServer數(shù)據(jù)復(fù)制基于“出版一訂閱’.模式,該模式由以下組件構(gòu)成 1)發(fā)布服務(wù)器:(Publisher):發(fā)布服務(wù)器是使數(shù)據(jù)成為其他服務(wù)器復(fù)制時(shí)使用的服務(wù)器。它不僅是用以指定要復(fù)制哪些數(shù)據(jù)的服務(wù)器,同時(shí)還檢測(cè)在事務(wù)復(fù)制過(guò)程中哪些數(shù)據(jù)發(fā)生了變化.并保留關(guān)于該站點(diǎn)上所有發(fā)布的信息 2)分發(fā)服務(wù)器(Distributor):分發(fā)服務(wù)器是用于存儲(chǔ)歷史數(shù)據(jù)和元數(shù)據(jù)的服務(wù)器。 3)訂閱服務(wù)器(Subscriber):訂閱服務(wù)器是接收復(fù)制數(shù)據(jù)的服務(wù)器,并管理數(shù)據(jù)的更新。 4)發(fā)布(Distribution):發(fā)布是一個(gè)數(shù)據(jù)庫(kù)內(nèi)的一個(gè)或多個(gè)項(xiàng)目的集合。這種多個(gè)項(xiàng)目的分組易于管理、因?yàn)橹灰幚硪粋(gè)邏輯組而不是每個(gè)單獨(dú)的項(xiàng)目。 5)訂閱(Subscription):訂閱是對(duì)要復(fù)制的一個(gè)數(shù)據(jù)副本或數(shù)據(jù)庫(kù)對(duì)象的請(qǐng)求,它定義要接收哪些發(fā)布,以及在何時(shí)何處接收。 在分布式數(shù)據(jù)庫(kù)應(yīng)用環(huán)境中,不同的應(yīng)用領(lǐng)域?qū)?shù)據(jù)復(fù)制的要求也不同。為此,SQLServer提供了三種復(fù)制類(lèi)型來(lái)滿(mǎn)足不同環(huán)境中的應(yīng)用需要,分別是:快照復(fù)制,事務(wù)復(fù)制,合并復(fù)制,在本文介紹的信息系統(tǒng)框架中,用的是合并復(fù)制機(jī)制。 4 基于PDA的信息系統(tǒng)框架 在以上的軟硬件環(huán)境下.我們提出一種融合了PC機(jī)和PDA共同作業(yè)的信息系統(tǒng)框架,實(shí)現(xiàn)模型如圖2所示。該框架主要有四部分組成:總服務(wù)器、基于PDA的移動(dòng)系統(tǒng)、基于PC機(jī)的固定系統(tǒng)、數(shù)據(jù)的合并同步機(jī)制。其中同定系統(tǒng)和總服務(wù)器之間采用了傳統(tǒng)的B/S(Browser/Server)模式,移動(dòng)系統(tǒng)部分負(fù)責(zé)數(shù)據(jù)的移動(dòng)采集洽并同步機(jī)制則完成PDA移動(dòng)終端與服務(wù)器端的數(shù)據(jù)同步,保證整個(gè)數(shù)據(jù)庫(kù)的完整性。 ![]() 圖2 信息系統(tǒng)框架模型 總的來(lái)說(shuō)。該系統(tǒng)模型是一個(gè)融合了B/S(BrowSer/Server)模式和C/S(Client/Server)模式的新型信息系統(tǒng)構(gòu)架。它即具備了B/S模式高效、可靠的特點(diǎn),又具備了C/S模式的靈活性,非常適合物流.交通,稅務(wù)等行業(yè)的信息采集。 5 集成框架在水路規(guī)費(fèi)征稽上的應(yīng)用 5.1 水路征稽工作的特點(diǎn) 目前該系統(tǒng)框架已經(jīng)在長(zhǎng)江航道水路規(guī)費(fèi)征稽系統(tǒng)上得以應(yīng)用,并取得良好效果。水路規(guī)費(fèi)征稽有其特殊的環(huán)境,在網(wǎng)絡(luò)條件比較良好的地方,可以采用臺(tái)式PC機(jī)訪(fǎng)問(wèn)服務(wù)器運(yùn)行系統(tǒng),客戶(hù)在固定征稽站點(diǎn)繳費(fèi)并打印票據(jù),但是由于某些沿江以及偏遠(yuǎn)地區(qū)缺少網(wǎng)絡(luò)覆蓋.不能運(yùn)行固定系統(tǒng)進(jìn)行收費(fèi),就可以用PDA移動(dòng)系統(tǒng)進(jìn)行補(bǔ)充。還有一種情況是稽查。執(zhí)法管理人員會(huì)突擊檢查惡意逃費(fèi)。此時(shí)在逃費(fèi)現(xiàn)場(chǎng)不能使用固定系統(tǒng)的情況下.也可以用移動(dòng)系統(tǒng)進(jìn)行征稽。 5.2 應(yīng)用系統(tǒng)簡(jiǎn)介 為了適應(yīng)水路征稽的特點(diǎn).整個(gè)系統(tǒng)由固定和移動(dòng)兩大模塊組成.完全按照上述框架實(shí)現(xiàn)。其中固定系統(tǒng)部分程序用JAVA編寫(xiě).采用B/S模式。工作人員在辦公地點(diǎn)用臺(tái)式Pc機(jī)通過(guò)網(wǎng)絡(luò)訪(fǎng)問(wèn)系統(tǒng)。業(yè)務(wù)信息直接保存到服務(wù)器數(shù)據(jù)庫(kù)。移動(dòng)系統(tǒng)部分基于WinCE操作系統(tǒng)使用EVC編寫(xiě).在HP手持終端上應(yīng)用。主要實(shí)現(xiàn)流動(dòng)作業(yè)的規(guī)費(fèi)征稽,用戶(hù)在離線(xiàn)狀態(tài)下操作移動(dòng)數(shù)據(jù)庫(kù),保存業(yè)務(wù)數(shù)據(jù),并在以后的時(shí)間與服務(wù)器進(jìn)行同步,將業(yè)務(wù)數(shù)據(jù)整合到服務(wù)器。 5.3 移動(dòng)子系統(tǒng)的組成 移動(dòng)子系統(tǒng)主要由五大功能模塊組成:航次開(kāi)票、繳費(fèi)查詢(xún)、票證作廢、船舶信息維護(hù)、數(shù)據(jù)同步等.其功能如圖3所示: ![]() 圖3 移動(dòng)程序功能框架 如果沒(méi)有同定系統(tǒng).移動(dòng)子系統(tǒng)也是一個(gè)具有完整邏輯的應(yīng)用系統(tǒng),用戶(hù)開(kāi)票時(shí)如果船舶信息不存在.用戶(hù)就到船舶維護(hù)模塊添加船舶,票據(jù)開(kāi)出以后如果需要作廢.就去票證作廢模塊進(jìn)行票據(jù)作廢,最后用戶(hù)利用數(shù)據(jù)同步模塊進(jìn)行數(shù)據(jù)的上傳。 5.4 數(shù)據(jù)同步模塊的實(shí)現(xiàn) 數(shù)據(jù)同步是本系統(tǒng)的關(guān)鍵。在此重點(diǎn)介紹一下數(shù)據(jù)同步模塊的實(shí)現(xiàn)。總的來(lái)說(shuō),要實(shí)現(xiàn)數(shù)據(jù)同步,需要在服務(wù)器端和移動(dòng)設(shè)備上分別進(jìn)行設(shè)置。 服務(wù)器端的配置包括: 1)安裝SQL Server CE和SQL Server CE SP4軟件環(huán)境,并安裝Windows的IIS服務(wù)。 2)建一個(gè)NTFS格式的共享文件夾,并利用SQL Server CE的配置工具將其設(shè)置為虛擬目錄。 3)在SQL Server 2000上進(jìn)行快照的發(fā)布、快照包括了客戶(hù)端需要同步的數(shù)據(jù)庫(kù)中數(shù)據(jù)表的數(shù)據(jù)以及篩選信息。 客戶(hù)端的配置主要是以代碼的形式實(shí)現(xiàn),提供一個(gè)簡(jiǎn)單容易操作的接口給用戶(hù),其關(guān)鍵部分的代碼如下所示: m_InternetURL=L"http://59.69.74.243/test/sscesa20.dll"; m_Publisher=L"WH"; m_PublisherDatabase=L"databasename"'; m_Publieation=L"databasepda"; m_PublisherLogin=L"usemame"; m_PublisherPassword=L"password"; m_Distributor=L"WH": 以上列舉的是實(shí)現(xiàn)同步所需要的關(guān)鍵參數(shù).包括WEB服務(wù)器的URL地址,發(fā)布者名稱(chēng),發(fā)布數(shù)據(jù)名稱(chēng),數(shù)據(jù)庫(kù)登錄用戶(hù)和密碼等。 主要的函數(shù)有以下幾個(gè): CEMerge->AddSubscription(DBAddOption); CEMerge一>Synchronization0; CEMerge-->get_ErrorRecords0; CEMerge->ShowMergeErrors0; 第一個(gè)函數(shù)的作用是訂閱,第二個(gè)是同步.第三個(gè)和第四個(gè)是返回錯(cuò)誤信息.方便用戶(hù)分析訂閱或同步的失敗原因。 6 結(jié)束語(yǔ) 本文從基于PDA的信息系統(tǒng)的軟件環(huán)境人手。分析了在PDA上開(kāi)發(fā)信息系統(tǒng)必需的關(guān)鍵技術(shù).從而提出了一種新的信息系統(tǒng)應(yīng)用模型,并在大型水路規(guī)費(fèi)征稽系統(tǒng)上將此模型實(shí)現(xiàn),從而證明了該模型的可行性。目前該系統(tǒng)已經(jīng)正常使用了半年有余.極大地提高了工作人員的工作效率。 本文的創(chuàng)新點(diǎn):使用了用PDA來(lái)進(jìn)行長(zhǎng)江航道的收費(fèi),攜帶方便,成本低,操作容易,國(guó)外正在普及,而國(guó)內(nèi)這方面的研究剛初步發(fā)展。特別是本系統(tǒng)結(jié)合了C/S和B/S模式的優(yōu)點(diǎn)。讓整個(gè)系統(tǒng)更具靈活性和可靠性。 經(jīng)濟(jì)效益:目前,該項(xiàng)目PDA子系統(tǒng)已經(jīng)成功收費(fèi)近三千余萬(wàn)元。 作者:吳輝 來(lái)源:《微計(jì)算機(jī)信息》(嵌入式與SOC)2009年第8-2期 |