1、 中职学校骨干教师教学研究论文论文题目多层分布式数据库在车辆通行计算机管理系统的应用姓 名 赵洪涛 专 业 计算机及应用 学 校 保定市财贸学校 年 月 日 保定市财贸学校 计算机论文2多层分布式数据库在车辆通行计算机管理系统的应用保定市财贸学校 赵洪涛摘要以 delphi MIDAS为例对多层分布式数据库系统进行了应用研究。简要分析了多层分布计算应用服务的系统结构;对比了两层 C/S结构与多层分布式数据库结构;并重点研究了多层分布式数据库结构的车辆通行计算机管理系统的特点;最后探讨了 Delphi软件开发工具在开发此结构的车辆通行管理系统中的应用。关键词多层分布式数据库开发 MIDAS DE
2、LPHI BDE 智能交通保定市财贸学校 计算机论文3一、多层分布计算应用服务结构 Borland MIDAS(Multi-tier Distributed Applications Services)多层分布应用服务为开发者开发多层应用提供了一套高级组件、服务器及核心技术。本文以Delphi7为开发环境,自 Delphi 3以后针对多层结构有三种代理(Broker)和新一代的数据库引擎来适应它: * Remote Data Broker * Business Object Broker * Constraint Broker Remote Data Broker结构的精髓是让每个客户端不再需
3、要 BDE,取而代之的是集中化的 BDE,以集中管理的方式降低每个客户在 BDE上所需调整的开销和复杂性。Business Object Broker 的目的是给一些关键性的商业应用程序提供一个快速而且可信赖的使用环境。为了达到这种高层次的要求,Business Object Broker自动地将应用程序加以区分,并把重要的业务规则复制到第一个区间,以满足对速度的要求。Constraint Broker的作用是保证所有客户数据的一致性和完整性。(一)典型的多层结构是三层结构:数据库服务器、应用服务器、瘦客户端。数据库服务器可以是 InterBase、Oracle、Sybase、Ms SQLSe
4、rver等。应用服务器和瘦客户端可以用 Delphi创建。数据访问软件(如 BDE、SQL*Net 等)应该和应用服务器运行于同一台计算机上。分布式计算支持 MIDAS OLEnterprise或微软的 DCOM技术。在 Delphi 3中有四个关键的工具用于创建分布数据集,前面两个位于服务器端。1Remote Data Modules的作用与标准的 Data Modules一样,但它不是在你本机的应用中提供数据,而是在网络中广播数据。特别是,它能把简单的 Data Module转换为一个 COM对象,因此,它能允许远程客户借助于 DCOM(分布式组件对象模型)访问Data Module。 2
5、TProvider 包含在 Remote Data Module中,正象 TTable对象包含在一个标准的 Data Module中一样。所不同的是,Provider 对象通过网络广播一个表。Provider对象是作为 TTable或 TQuery对象的属性包含于其中的。 保定市财贸学校 计算机论文4(二)在客户端有两个组件用于访问服务器端提供的数据:1TRemoteServer 组件提供客户端访问服务器端的 Remote Data Modules的能力。更具体地说,它与 Remote Data Module支持的 COM 接口连接。虽然它的名称意思为“远程服务器” ,但实际上它不是在服务器端
6、的组件,而是在客户端的组件。它的功能是在网络上查找已注册的可用服务器,一但查找到,TRemoteServer 就与它连接。 2TClientDataSet 组件是挂在 TRemoteServer组件上的,并与服务器上的特定Provider联系,当客户端应用程序要与远程数据集相连接时,它为其提供数据源。实际上,TClientDataSet 与传统应用中 TQuery和 TTable的作用相类似。图 1二、多层分布式数据库在车辆通行管理系统中的应用整个管理系统的软件部分涉及到数据库服务器、多台识别服务器(实时识别视频信号中的车辆车牌) 、不定量的客户端反馈终端、管理员终端,建设在标准以太网络环境下
7、。系统中识别服务器得到通过道口的车辆车牌号会不断的读取数据服务器中各类型清单数据进行实时比对,与此同时有效的比对结果会通过网络将文本、图像信息即时推送到监控员终端,监控员终端的处理记录信息也将即时保存到数据服务器,管理员系统也会不定时访问数据库。基于以上原因系统将会用到分布式多层数据库、多通讯协议并用技术。这些技术的应用也是本系统的核心亮点之一。以 Microsft、Borland 所推出的主要开发环境为例简单说明一下多层分布式应用:MIDAS(Multi-Tier distributed Application Services Suite多层分布式应用服务器组) ,是把原来 Two- Ti
8、er数据连接放到了服务器端的 COM组件上,客户端只剩下了执行文件和 MIDAS.DLL,前台和服务器上的 COM组保定市财贸学校 计算机论文5件,通过 DCOM机制互相沟通。这个多的一层,称为应用程序服务器(Application Server) ,或者称为中间件。通过多环境的测试实验可以发现基于 delphi MIDA的多层数据库应用是较为实用的选择。以下为测试表。图 2三、基于 delphi 的多层数据应用在车辆通行管理系统中的实现(1)中间层实现代码:unit cardata;$WARN SYMBOL_PLATFORM OFFinterfaceusesWindows, Messages
9、, SysUtils, Classes, ComServ, ComObj, VCLCom, DataBkr,DBClient, CardataApp_TLB, StdVcl, Provider, ADODB, DB;保定市财贸学校 计算机论文6typeTCarsListSvr = class(TRemoteDataModule, ICarsListSvr)ADOConnection1: TADOConnection;ADOQuery1: TADOQuery;ADOQuery2: TADOQuery;DataSetProvider1: TDataSetProvider;DataSetProvid
10、er2: TDataSetProvider;DataSetProvider3: TDataSetProvider;ADOQuery3: TADOQuery;ADOQuery4: TADOQuery;DataSetProvider4: TDataSetProvider;DataSetProvider5: TDataSetProvider;ADOQuery5: TADOQuery;ADOQuery3carsetid: TAutoIncField;ADOQuery3DSDesigner: TStringField;ADOQuery3DSDesigner2: TStringField;ADOQuery
11、3DSDesigner3: TStringField;ADOQuery3DSDesigner4: TDateTimeField;ADOQuery3DSDesigner5: TStringField;ADOQuery3DSDesigner6: TStringField;ADOQuery3DSDesigner7: TStringField;ADOQuery3DSDesigner8: TStringField;ADOQuery3DSDesigner9: TIntegerField;private Private declarations protectedclass procedure Update
12、Registry(Register: Boolean; const ClassID, ProgID: string); override;public保定市财贸学校 计算机论文7 Public declarations end;implementation$R *.DFMclass procedure TCarsListSvr.UpdateRegistry(Register: Boolean; const ClassID, ProgID: string);beginif Register thenbegininherited UpdateRegistry(Register, ClassID,
13、ProgID);EnableSocketTransport(ClassID);EnableWebTransport(ClassID);end elsebeginDisableSocketTransport(ClassID);DisableWebTransport(ClassID);inherited UpdateRegistry(Register, ClassID, ProgID);end;end;initializationTComponentFactory.Create(ComServer, TCarsListSvr,Class_CarsListSvr, ciMultiInstance, tmApartment);end.(2)连库部分图示:保定市财贸学校 计算机论文8图 3四、系统成果总结通过多层结构的合理应用,是的庞大的数据风暴不在出现,有效地提高了数据库系统的效率、稳定性。特别是在公路车辆管理的实际应用中取得了很好的经济和社会效益,为交通智能化建设的更进一步发展做出了贡献。特别需要指出的是在 LAN、WLAN数据库应用中多层分布式结构已经是大势所趋,更快更稳定的应用系统也不断涌现。参考文献1王俊伟,史创明SQL Server2000 中文版数据库管理与 应用M清华大学出版社, 2006-07-1。