三峡工程地磅称重系统的分布式异构数据库集成方案研究
本文将结合三峡散装水泥粉煤灰地磅称重子系统(以下简称三峡地地磅称重系统)中工地地磅检测系统数 据库与调度中心数据库的分布式异 构数据库集成实施方案,探讨一种基 于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。
四、结束语
在系统稳定运行的基础上,物资 部从安全考虑,在现有的网络环境之 上又添加了防火墙。此问题与系统本 身的可扩展性和可维护性密切相关, 在设计之初就应当充分考虑。
现在,二峡工程地磅称重系统在 三峡物资管理中发挥着重大作用,而 其中的远程传输子系统运行稳定,为 数据集成和调度计划的顺利执行以 及最终调度方案的生成创造了条件, 提供了技术保证。