三峽工程地磅稱重系統的分布式異構數據庫集成方案研究
本文將結合三峽散裝水泥粉煤灰地磅稱重子系統(以下簡稱三峽地地磅稱重系統)中工地地磅檢測系統數 據庫與調度中心數據庫的分布式異 構數據庫集成實施方案,探討一種基 于Powerbuilder的多層分布式應用系 統的實現,并從實踐中總結出分布式 系統開發所要注意的問題。
一、系統設計背景
舉世矚目的三峽工程己經進入 到了三期工程階段,RCC圍堰和右岸 大壩主體的澆筑等高強度的施工作 業都對相關物資準確及時地供應提 出了更高的要求。為了避免三峽工 程物資交接雙方發生計量糾紛,保 證公平的貿易結算及物流暢通,確 保工程建設順利進行,中國長江三 峽工程開發總公司物資部委托宜昌 市質量技術監督局三峽壩區工作站 對地秤稱重站進行計量監理。筆者 作為該站工作人員,主要負責計量 方面的工作,有幸參與了地磅稱重 系統的研究開發。
地磅過秤系統使 用地磅對送至 拌和樓的集裝箱散裝 物料進行現場稱重,將稱量結果存入本地 數據庫,以備調度中 心核查各供應商的計 劃執行情況。同時各 個地磅也需要獲取調度中心制定的日調度計劃,以此來現 場強制和督促各供貨商的日供貨量 和調度執行情況。
以下以地磅稱重系統的設計方 案為例,簡述分布式異構數據庫的集 成方法和實現策略。
二、系統設計方案
綜合考慮地磅系統的物理位置 和連網布線經費,所以采取RAS連接 的方式接入,使用電話撥號撥入Mo-dem 池中 ,通過路由器和防火墻,連 接到調度中心應用服務器。各個采集 點上米用 Windows NT Workstation 下 的SQLAnywhere數據庫,中心米用 Windows NT下的Oracle數據庫系統。
遠程連接采取PSTN接入,系統 結構圖如圖1所示。
采用Powerbuilder的分布式計算 解決方案,利用TCP/IP的WinSock為 客戶提供服務,監聽某端口。當客戶 發出請求,經過身份密碼驗證就可以 建立連接,并根據客戶端的請求類型。
異頻調用服務器端的過程,對上傳的 打包數據進行處理并返回結果。
這個 過程類似一個RPC(遠端過程調用), 完成服務器端的數據庫操作;同時, 服務器端也可以利用服務器推動 (Server Push)機制實現對客戶機端 過程相同的調用模式,客戶機使用 與服務器處理客戶端請求相同的方 法處理服務器端的請求,利用它,就 可以將中心數據庫的數據打包發送 給各個采集點,并存入相應采集點 數據庫中。
系統最終的實現要做到對用戶 來說完全透明。用戶只需要發送數 據,至于中心數據庫的數據如何寫 入,數據類型如何都不需要關心;這 些都由遠程應用服務器處理,寫入中 心數據庫相應的基表中。
三、系統實現
系統實現主要利用其中兩個對 象,艮PTransport和Connection。
首先利用Transport對象來建立 分布式環境的服務器對象,利用Ap- plication屬性指明winsock端口號,系 統中為10038 (并在WindowsNT系統 目錄下的Services文件中注冊)。 Driver屬性指明所用的網絡協議,可 用的選項為 winsock、pipeline 和 open- Clientconnection。這里考慮到網絡環 境和通用性,選用架構于TCP/IP協 議之上的Winsock。這樣調用Listen ()方法就開始了監聽過程,以響應用戶的請求"
客戶端的過程包括發起和創建 一個連接,利用的是Connection對象。 首先設定它的屬性,包括Driver、Ap-plication # Location。其中前兩項與服 務器端要保持一致,而Location用來 指明服務器的IP地址,這樣,就建立 了與服務器的接口。下面利用Con- necttoServer ()連接到指定的應用遠 程服務器,同時傳遞用戶名和密碼信 息以供服務器核實身份。然后,客戶 端根據自己的需要,調用Createln- stance(),在客戶端調用服務器上的 遠程對象。系統利用對表:In- fo_Cllct_st的檢索,查看有沒有需要 傳輸的數據,如果有,則開始相應的 處理,否則繼續循環等待處理任務。
客戶端發現有傳輸任務時,客 戶機系統開始打包數據,利用動態 SQL語句,將需要檢索的數據打包成 字符串,并加上標志客戶端種類和 位置的封套,傳遞給服務器端的處 理過程。
服務器端利用不可視對象的對象函數處理上傳數據請求。首先將作 為參數傳遞的打包數據利用參數的 封套信息解包,然后利用檢索本地數 據表信息來確定要寫入的基表和宇 段,形成相應的S:L語句,寫入數據 庫中。最后按寫入成功與否將信息 “推”給客戶端。
下載數據原理與上傳相仿,只 是此時服務器端檢索數據,利用 Server Push技術調用客戶機上的處 理過程,在客戶機上完成數據下載 寫入過程。
利用這個過程,完成對數據庫服 務器的數據存取。具體流程見圖2。
四、結束語
在系統穩定運行的基礎上,物資 部從安全考慮,在現有的網絡環境之 上又添加了防火墻。此問題與系統本 身的可擴展性和可維護性密切相關, 在設計之初就應當充分考慮。
現在,二峽工程地磅稱重系統在 三峽物資管理中發揮著重大作用,而 其中的遠程傳輸子系統運行穩定,為 數據集成和調度計劃的順利執行以 及最終調度方案的生成創造了條件, 提供了技術保證。