版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 西南交通大学硕士学位论文中国铁路客票发售和预订系统中间件CTMS的研究与优化姓名:李涛申请学位级别:硕士专业:交通信息工程及控制指导教师:诸昌龄西南交通大学研究生学位论文岳口摘 要目铁路客票发傅和预汀系统以卜简称客票系统足一项圈家级的重人科研课题,水文所沦述的内容足其卜的。个重要组成】分。本文同顾了国内外铁路客票系统的发展现状,分析了建设客票系统的必要性,说明了客票系统的总体规划。文中介绍了中问仲和三层客户机/服务器结构,分析了在客票系统中开发中间件的必要性。在通常的两层客户机/服务器结构中,客户机直接与服务器连接,在安全性、完整性、交易的管理,以及维护等方面存在着不可避免的缺陷三层客户机/
2、服务器结构通过引入中间件扩展了两层客户机/服务器模型,简化了客户机/服务器应用的开发,提高了应用对平台的独立性以。本文从几个主要方面阐明了客票系统中间件?连接交易管理服务器从设计到实施以及优化的全过程。/首先,提出了的设计目标和设计思想,确定技术思路为:以客票系统集中与分布相结合的数据库组织方案为前提,在操作系统上,利用语言,结合公司提应供的应用程序接。开发信关型和钵析了研制用程序,并进一步确定了程序框架。其掣在安全管理、交易管理、监控功能、错误处理等方面所进行的优化。最后,凄转发、连介绍了的研制与誊施情况。实践证啄撼实现接缓冲、交易管理和日志管理等主要功能,确保了异地联网售票等业务的实现,提
3、高了系统的灵活性和可扩展能力,保证了事务完整性和数据一致性。关键词:客票系统/ 客户机,服务暑矽 连接交是管瑾服务罨中间件/ 第页西南交通大学研究生学位论文 ,.? , .,/ ,.,./, ,.?/ . /,.,., , ., .,.涯瘩交通大学硬究生学短途文 第页, ,?,.: ,/,第页西南交通大学研究生学位论文第一章 绪论.建设客票系统的必要性处计算机技术和网络通信技术相互结合并迅猛发展的时代,世界上许多发达国家和一些发展中国家大量采用先进的计算机联网客票预订系统、自动售检票系统和客运信息共用系统,并实现了跨地区或国家、跨行业的旅行服务,为旅客提供了方便、舒适、快捷的旅行条件。铁路客票
4、发售和预订系统在国外已有多年的历史。欧洲铁路客票预售系统的发展大体可以分为三个阶段;年代为各国独立预售系统阶段,年代为欧洲各国联网阶段发售跨国列车客票,年代为更新换代延伸服务阶段。当前,这些系统有着共同的特点和发展趋势,在功能上,由封闭型转向社会开放型,从独家的行业性向多家的社会性转换,由一国预约中心向跨国预约中心发展,由单一的客票预约向综合服务发展,由单纯的客票预约发展到旅客引导、通告等多媒体技术应用和智能化方向发展。在技术上,系统结构由集中型处理向客户机,服务器的分布式处理转化,数据组织由传统的文件系统向数据库发展,组网方式由专用的网络向公用数据网和局域网相结合的方式过渡,开发手段由采用高
5、级语言发展到采用第四代语言等。日本原国铁年月起开始使用的客票预订系统.,使用 台终端,对东海遵列特快列车实现预约,日预约张客票。年采用.开始对全田预订,在其后的年间系统功能逐渐增加,并不断进行系统替换。目前的.采用了台日立/超大型机作为中央处理机,同时运转互为备份。主机通过.专用网联接终端台,日发售客票多万张。该系统不仅进行铁路客票预订,而且能通过计算第页西南交通大学研究生学位论文机联嘲提供其它交通或旅馆蠹勺顾订服务。在我国台湾省也已建成铁路计算机售票系统,不但减轻了:提高作人员的劳动强度,捉。钉了:作教;簪和管理水,忻了服务质量,从而使铁路系统在社会.:的形缘也大为改观。此外,美圉、澳大利、
6、亚、印度等因也都开发使用了客票预售系统。我国铁路开展计算机售票研究工作已有多年的历史,用于常备客票的计算机结帐系统曾在全国多个车站使用,窗口计算机售票系统曾在上海站试验多年,电子售票网络系统也曾在广深线使用。但由于我国铁路客票发售和管理工作的特殊复杂性,大规模的建设在年前一直未能提到日程上来。随着社会主义市场经济的迅速发展,运输市场发生了深刻变化,各种运输方式之间的竞争局面已经形成。这种激烈的市场竞争,已经直接影响到了铁路的生存与发展。面对严峻的挑战,铁路客运的出路在于加快改革。而售票方式的改革则是铁路客运改革的关键环节。与发达国家相比,我国铁路的售票方式十分落后,同国内其它交通方式相比,铁路
7、的售票方式也存在相当大的差距,远远不能满足旅客需要。要想从根本上解决我国铁路客票发售中存在的问题,依靠在现有的客票发售体制上修修补补是解决不了的,仅仅在车站利用计算机发售客票也是不够的,必须建立一个覆盖全国铁路的计算机网络,实现联网售票,以机器代替人工作业,以软票替代常备客票,从而在任一窗口可发售任意方向和任意车次的客票,不但可预订、预售和发售当日客票,而且具有售返程、联程等异地购票功能,为旅客提供最大的方便,使我国铁路客票发售工作达到.优质服务水平。我国铁路现有 个客运站,日开行旅客列车对,日发送旅客约万人,系统建成后将有几万个窗口机需要联网,第页西南交通大学研究生学位论文以说没有任何一个国
8、家的铁路售票系统或其它行业系统处理过如此庞大规模的业务;我国客票发售量人、波动人、旅途长、僻票时问集,高峰时会产尘?个席位申占,我田通信条件义恰恰比较落后,可以说没有任何其它铁路售票系统遇到过这样的难题。田外铁路客运能力富裕,管理简单,尤其在席位的分配、计划调度等方面,除了部分在预约客票中考虑了席位,大量的售票系统只售票并不处理席位。因此,要照搬国外的售票系统是不现实的,必须在借鉴国内外先进经验的基础上,依靠自己的力量,研制开发适应我国铁路路情的总体设计和应用软件。另外,我们要跟踪世界先进技术,采用分布式数据库和客户机/服务器结构,这对大规模信息系统建设来讲也是一个新课题。因此,在我国建成覆盖
9、全路的计算机联网售票系统,将是世界上同类系统中最复杂、最庞大、技术含量最高的系统。为此,年铁道部部长办公会议做出决定,尽快建成中国铁路客票发售和预订系统,以此为突破口,改变铁路客票发售和运营管理的落后面貌,这不仅是我国铁路客运走向现代化的一项重大决策,是二项迎接世纪的工程,也是一场科技攻关的硬仗。.客票系统的总体规划.系统目标根据“中国铁路客票发售和预定系统总体设计”,客票系统的最终目标是建立一个覆盖全国铁路的计算机售票网络,实现全路快车营业站联网售票,实现客票管理和发售工作现代化,从而方便旅客购票和旅行,提高铁路客运经营水平和服务质量。具体实现:全路快车营业站计算机联网售票,以机器代替人工作
10、业,晒南交通大学研究牛学位论文 筇售票窗以软票许代常备客票,: 州发傅仃意方和任意次的锌票。颅订、预伟干发僻当客“,垮仃傅返氍、联程等片地票功能。烘额、席化、汁赞、制禁、结算、统汁博:作的汁拜机管理。,客票信息共享,加强管理与分析,提高席位利用率,为铁路客运组织与管理工作提供辅助决策支持。.系统总体结构图. 客票系统总体结构客票系统的总体结构,取决于业务处理、数据流程、系统功能及网络传输能力等相关因素,关键是席位数据库的规划与配置。根据我国地域辽阔、铁路点多线广的特点,考虑到我国铁路客运管理体制和通信基础设施的实际情况,窖票系统采用集中与分布相结合的客户机,服务器结构,其特点是建立一个中央数据
11、库和若干个地区数据库,席位数据将按列车始发分别存储在各地区中心数据库中。由于目前网络能力及可靠性还不能满足要求,票额预分等客运管理制度短期内仍需保留,因此,总体设计中还提了席位数据存取的过渡方案,车站服务器中仍保留一定量随第页西南交通大学研究生学位论文分布相结合的客户机/服务器结构,其特点是建立一个中央数据库和若干个地区数据库,席位数据将按列车始发分别存储在各地区中心数据库中。由于目前网络能力及可靠性还不能满足要求,票额预分等客运管理制度短期内仍需保留,因此,总体设计中还提出了席位数据存取的过渡方案,即车站服务器中仍保留一定量的席位数据。综合考虑各地区中心数据库所覆盖的客运量、列车数、快车营业
12、站数的均衡性及合理布局,全路共建立个地区中心数据库,如图.所示。.系统功能结构铁道部全路中心管理系统 中央级业务管理系统? 业务管理系统广?一 地区中心地区级管理素境铁路分局?一业务管理系统车站电子售票系统车站级图. 客票系统功能结构根据总体设计,客票系统分为中央、地区和车站三级,铁道部、铁路局、铁路分局、车站四级管理,系统由个子系统组成,即:车站电子售票系统,地区客票中心管理系统,铁道郏客票中心管理系统,铁道部、铁路局、铁路分局业务管理系统,系统功第页西南交通大学研究生学位论文能结构如图一所示。从应用角度来看,车站级主要是面向售票的实时交易商务服务功能,地区级主要是以席位为核心的调度控制功能
13、和管内客运、务为主的指挥管理功能,中央级则主要是全局性宏观指挥管理功能、基础数据保障和整个系统运行的监控和技术支持。在车站系统中,将售票交易管理、客运业务管理、计算机系统管理合为一体,而在中央级和地区级,将客运业务部门的管理功能与相应的系统管理功能分开系统管理主要负责计算机硬件、网络、系统软件、数据库运用及应用系统的后台支持软件的管理等,铁道部业务管理是通过铁道部客票中心主机设备和数据库实现的,路局和分局业务管理都是通过地区客票中心主机设备和数据库实现的。这样安排有利于适应铁路管理体制的变化,随着体制改革的深入,铁路局和铁路分局的业务管理功能有可能合并或调整,将对客票系统的三级层次结构产生较小
14、的影响,从而保证了系统结构的稳定性。.系统网络结构客票系统的通信网络是以铁路数据网为基干网,将车站、地区中心、各级业务部门局域网通过铁路数据网连接组成广域网。对于客运量较大的车站,采用高速专线直接与地区中心连接;对于铁路数据网尚不能覆盖的车站,可利用专线与入网站相连再利用其端口入网。为保证网络可靠性,入网车站应使用两条数据电。路,一条在本地入网,一条在异地入网。另外,客运量较小的车站,可利用专线或 线与较大车站相连,利用大站的服务器实现计算机售票及管理工作大站带小站模式。西南交通大学研究生学位论文 第页图卜 地区中心网络结构图.系统平台硬件平台:口铁道部和地区中心系统采用企业级中小型计算机;口
15、大型客运站系统采用小型计算机;口中小型客运站系统采用微机服务器:口售票窗口机采用微机,配有专用制票机。软件平台:口服务器采用操作系统和数据库;口用户工作站采用;口通信采用/协议;口应用软件采用和编程。.中间件简介中间件这一技术名词在国外出现在年代初。当时用来指一西南交通大学研究生学位论文 第页种软件,它位于系统软件操作系统和网络软件与应用软件之间。有了这层处于中间的软件,就能使远距离相隔的应用软件协同工作。这样在应用层就形成了分布处哩。近几年由于分彳式处理系统的流行,中间件这一名称开始在国际技术界流行。由于大家都使用这个新名词,出现了含意上的混乱。为了避免混淆,国外学术界开始明确给出了它的定义
16、:中间件是一种软件,它能使应用成分之间进行跨网络的协同工作也就是互操作,这时允许各应用成分之下所涉及的“通信协议、系统结构、操作系统、数据库和其它应用服务”各不相同。从体系结构上讲,中间件是驻留在客户端和服务器端之间的软件,是构成三层次客户机,服务器结构不可缺少的一部分。在通常的两层次客户机/服务器结构中,客户端负责人机界面、业务逻辑,以及向服务器传送前端客户的请求;服务器端负责数据的管理、处理客户的请求,并把响应结果回送给客户。在这种结构中,客户直接与服务器连接,在交易的管理、完整性、安全性以及维护等方面存在着不可避免的缺陷。三层次客户机/服务器体系结构通过引入中间层组件扩大了传统的客户机/
17、服务器和两层计算模型。三层次结构的中心特征是将程序的应用逻辑放到中间层上,而不是象传统的客户机/服务器结构那样,放在客户端上。客户端被设计成整个应用的一小部分,它主要负责用户界面的展现和简单的逻辑处理,以及基本的交互式查询和数据报告。这种结构由三个逻辑上分开的系统组成,客户端负责表示逻辑,中间层负责应用逻辑。服务器端负责数据存。取逻辑。因此,这种组织结构被称为三层次结构。由于应用逻辑驻留在中间层,它由该应用程序的所有用户共享,这样就能更好的控制应用,同时当应用产生变化时,能极大的简化变化的实现。客户端由过去的请求数据变成了请求应用,并且大量的数据处理被转移到中间层和数据库服务器之间,从而第页西
18、南交通大学研究生学位论文人大减少了通信线路上的数据传递和竞争。由于客户端不是直接操纵数据,安全性也加强了,在赋权和保护数据:也更加有利。.问题的提出及沦文选题的意义从客票系统的系统目标可以看到,计算机联网售异地票是其中的一项重要内容。所谓的异地票就是在某一联网售票车站,通过计算机网络售出的本属于其它联网售票车站的车票。异地售票业务之所以能够实现,是由于联网售票车站通过计算机网络实现了对席位数据的共享。异地售票业务的实现,不仅为广大旅客购票提供了极大的方便,也大大增强了铁路客运同公路和民航的竞争能力,是推动我国铁路客运业发展的个极为重要的手段。售票窗口所要出售的席位,要么放在车站主机数据库,要么
19、放在地区中心数据库。所以,售票窗口最终是要到数据库把席位信息取出来。售票窗口出售本地票时,就是可以通过直接连接到数据库服务器的方式对数据库进行存取的。即便是出售异地票,售票窗口也可以通过网络直接连接到数据库服务器对数据库进行存取,从而达到售异地票的目的。但是,这种直接连接的方式存在很多缺点,主要表现在以下几个方面。.由于异地票的席位数据都是存放在地区中心,所以,不管哪个窗口出售异地票,它都要到地区中心本地区中心或其它地区中心去取票。这样,在全国联网售票以后,如果采用这种直接连接的方式,每个地区中心所对应的用户将悬全嗣所有售票窗口。如此庞大的用户数量给地区中心的用户管理工作带来极大的困难。一方面
20、,每个售票窗口都要知道到全困每一个地区中心的用户名和口令,这很不利于系统的安全。另一方面,任意一个地区中心,如果它的用户名和口令被更改了,那么它就要通知全国所有的售票窗口,这给工作带来极大的不便。第页西南交通大学研究生学位论文.在网络出现故障的情况下,网络系统和数据库系统无法作:棚应的处理。售票窗口这种通过网络进行的直接的远程登录,充令是由网络系统和数据库系统符理的,它们无法对网络故障作?符合售票、务需求的各种处理。特别是这种远距离的网上数据他输,更容易现各种各样的问题。例如,用户登录到某个地区中心之后,假如嘲络出现了故障,致使用户未能正常退出地区中心,这时,是否让用户退出、按什么方式退出以及
21、退出时应该作什么样的处理,网络系统和数据库系统都是无法作出正确处理的。更为严重的是,如果一个用户的事务处理未结束之前网络出现故障,就会长期锁住其使用的相关文件,影响数据库服务器的正常运转。.地区中心无法记录对用户进行管理的符合业务需要的日志信息。地区中心面对众多的用户,为了加强管理,对每个登录进来的用户进行记录是非常必要的。这些记录包括用户登录时间、发出过哪些请求、存取过什么信息以及用户退出的时间等。为了解决以上问题,以及满足在灵活性和可扩展性方面的需求,客票系统选择了三层次客户机/服务器的体系结构,而非传统的两层次结构。三层次体系结构把作为商业应用核心的业务处理逻辑放在中间件上,解决了传统客
22、户机/服务器的可扩展性问题。减少客户端逻辑也相应降低了两层次客户机/服务器模式中客户机对硬件的要求。另外,由于把许多用户的逻辑集中到单一的中间层组件上,应用的维护也相应集中了。在确定系统实现方案时,向总体组推荐了它们公司的中间件产品,用以实现系统的三层次结构。功能虽然强大,但是价格昂贵,且除了后台编程外,还需要针对客票系统应用对前台的程序进行一定量的修改。因此,经过认真的考虑,决来开定利用公司的开发工具 和第页晒南交通大学研究生学位论文所开发的中间件应该具有较大的发三层次结构中的中问层组件。司时还能够保证交易的完整性和町扩充性和灵活性,易.维护,总之,应保证异地联网售票商效、数据的一致性,并儿
23、安令可靠,安全、稳定的进行。作为三层次客户机/服务器体系结构中的中间层组件,其功能的强弱、性能的优劣对整个系统有着极其重要的影响。因此,有必要对的设计和实现进行系统而深入的研究,并对其中的不足之处进行优化,从而确保客票系统最终目标的实现。从年至今,客票系统经历了三个阶段,三次版本的升级。版本是针对车站系统设计和开发的,在多个车站实现了计算机售票。年月开始开发的.版本,引入了自行研制开发的中间件一一连接交易管理服务器&,确保了各地区中心内部的联网售票的实现。年、月间,为实现全国联网售票,我们着手设计客票系统.版本。对于,一方面要进行全面综合的考虑和设计实现,使其能够适应全国联网售票的需求;另方面
24、,要对原有进行优化,为客票系统整体的可靠运行和业务的合理高效运作提供必要的保障。笔者参与了的优化方案设计,承担了.舨的编程、调试等全都工作。第页函南交通大学研究生学位论文简介、与第二章和是语言结合公司提供的工具编写的。另外, 在本文的以后的论述中将要多次引和用 的概念,所以这里将开发工具放在一起作一简单介绍。、.简介是数据库系统的重要组成部分,它的全称是 。 服内核和务器软件主要由两大部分组成,即内核处理客户与数据库的数据库管理系统。连接及磁盘和网络/等,负责为提供必要的运行环境。完成数据存取、资源管理、安全控制等各项操作。我们知道,数据库是一种分布式数据库,它可供多个用户同时使用。但是,这种
25、多用户的特性是通过什么方式体现出来的呢或者说这多个用户是通过什么方式同时对数据库进行数据存取的呢这个答案就是通过 。作为用户和数据库进行数据交换的中间环节,它有这样一些功能:.对用户的登录进行管理用户要想使用数据库,它必须提供正确的用户名和中去。只有登录正确的合法用户才口令,首先登录到能操作数据库,即设定数据库的各种参数、对数据库的内容进行存取等。能够解释并转发的难一一种.语言是西南交通大学研究生学位论文 第页函言,它向用户提供了能够对数据库进行的全部操作。.参数设定对自身的运,亍参数进行调整,如设定允许允许登录自身的用户数等。具有了上述功能,使得它能够满足由于多用户处理的要求,并且能够满足用
26、户对数据库操作的其它要求。.简介与是与查询语言和数据库系统无和关的应用程序接口。它的实体部分就是提供的和?以及库函数。用户利用这些库函数可以开发出具有客户机,服务器特性的网络应用软件。这些接口对分布式应用程序来说起着通用组件的作用。客户机/服务器产品主要包括三个通用接口:产品中。?,包含在产品中。?,包含在产品中。?, 包含在 和和 为在客户机,服务器体系结构中指定的所有服务分别提供了客户方和服务器方的实现。这些服务包括:?对话初始化?终止对话?状态?取消未完成的操作?数据元素描述?数据库远程过程调用?数据流消息第页西南交通大学研究生学位论文?事件通告?数据库命令?表格数据流处理?和? 共享通
27、用的公共类型定义、数据元素描述结构和结果处理范例。它们被设计成一起协同工作。这使得需要服务器和客户两种功能的应用程序,即信关型应用,易于建立。?定义了实现数据类型转换、设置字符集、语言类?共享的。即在编写应用时可直接调用.中定义的函数和数据结构。应用调用函数从图可见应用和库的情况。应用应用图应用和应用调用函数库是客户方的应用程序接:,使不同厂商的工具软件和客户应用程序可以把命令和远程过程调用通过网络发送第页西南交通大学研究生学位论文给服务器,以获得数据和服务。是客户端应用的底层基础,管理客户端之间的所有通信要求。与 或提供调用级接,用以建立有效的前端应用,各种应用系统和工提供的调用接,通过网络
28、向具均可使用连接的其他数据源和系统发送语句和远程过程或由调用,以获得信息和服务。提供运行服务和编程服务。通过运行服务,应用可在不同平台、不同网络环境问平滑移植:通过编程服务,开发者可遵循不同标准,采用不同的接:和工具实现各种应用程序。是服务器方的应用程序接:,它提供的编程接口使得开发人员可以把不同的数据源构造为统一框架的数据库服务器,从而允许客户以语言或远程过程调用的形式,向数据源发送标准请求。然后将数据源返回的结果以标准格式返回给用户。.提供的函数集合是专门用来编写服务器应用的,它包括:?接收客户命令请求?返回结果给客户?设置应用属性?错误处理?管理与客户端的交互?提供客户连接的各种信息还包
29、括一组头文件。一些常用的结构,数据类型,宏定义都在这些头文件中定义。.的比较与客户机,服务器结构将计算机工作分给“客户”和“服务器”第炎疆枣交逶大学臻究生学位论文来分蹦完成。客户向服势器发淹请求,并处理由涨务器返淄翡请求缭襞。蠢服务器则逮过孵器襄处理窑户谚求、囊测户返鄹数据,戏执行某些操份来响应客户的请求。当用户难使用 时,实际上就是在使用这种/结构的应踊程序。是爨供静个“稼漆”懿黻务器。它楚数据麾系绞戆夔要缎戏部分,实际上是秘巍业化、标准化的软件产晶。用户以客户身份登录到 中去,并通过的局限来对数据库的信息进行存取。性在于它哭是一释瑟商数据瘁懿撮务器,怒数据艨颞特奏黔。离开数据库,它就失去了
30、存在的意义。则不同,它是种甄为爱活,更加开放的服务器。丽管理是一个数据库服务器。存穑在一个葳多个数据瘁审熬信惠。是提供建立一个用户定制的服务器所辩应用。的工具和接口,这热用户定服务器又称为一个应用可戳是任何一种服务嚣,铡螽个瘫臻冒戳鲶理特殊谤雾;霹默避嚣实辩数据存取;霹;震终电子邮牛的服务接聪。应用在菜些方面肖着檩似乏处:与寂用两者都是滕务器,响斑与寒舀骞产蝼熬潺求。产品可与 和?客户端遇过应用通倍。缆是它们也有不阕点:?瘟耀编程人爨盛缀翅 匏稳造模块帮通翅代鹨的陂用。丽是一个已经构米建囊一个造好的,并不需要孵编写代码的服务器。应焉可懿是壬簿类鏊静服务器,它本巍并不第页西南交通大学研究生学位论
31、文理解?.或其它任何语言,但可以通过自己编写语法分析器完成对任何语言的处理而 是数据库的服务器,.只能认可。语言。应用可以与外部的应用承服务器通讯,这些外部应用和服务器并不需要基于的表格式数据流协议的基础之上。 只能直接与应用和服务器通讯。图说明了 与 应用的不同。教握请求.二.嘣. 结果数据数据请求.岬. 叼嘣客户端结果.实时耋利妇请求发送由区件瞄响应.发电冀巾缸妇图 应用与.的事件驱动机制事件是指对特殊请求的响应,这里的请求通常是指客户请求。事件类型有两种,一种是标准事件,在?内部定义;一种是用户自定义事件,由程序开发人员定义。当事件被触发时, 需要执行一段程序来处理这第页西南交通大学研究
32、生学位论文个事件,这段程序称为事件处理函数。为侮一个标准事件和用户自定义事件都定义了缺省事件处理函数。如果应用中不想使用这些缺省事件处理函数,就必须自己定义并安装事件处理函数。这样,当事件被触发时,就会执行所定义的事件处理函数,而不是缺省的事件处理函数。在中,一共有十三种标准事件。其中,连接事件 ,语言事件,断连事件是一个 应用中最关键的几个事件,在我们的中也是如此。下面我们将对在中用到的几个主要事件进行简单的介绍。连接事件?当客户端发出连接请求时,就触发连接事件的产生。服务器端对连接事件的缺省处理方式是接受这个连接,也就是说,并不对用户名和口令进行任何校验。语言事件?当客户端发出语言请求时,
33、譬如语句,就触发语言事件的产生。通常客户端可以通过例如的交互式查询工具或利用 的函数来向服务器端发送语言请求。对语言事件的缺省处理方式是向客户端返回一个“”的信息。断连事件?当客户端欲与服务器断除连接时,或是应用发生严重错误时,就触发断连事件的产生。对断连事件的缺省处理方式是不作任何处理。一个 应用中的大部分工作就是编写这些事件处理函数。应用编程人员必须根据应用的需求来决定如何响瘦一个事件,并编写事件驱动程序。.的三种应用结构根据应用的不同功能。它在客户机/服务器结构第疑污南交遥大学研究生学位论文应用一般分为三种类型中所处的位置鲢有所不同。?独立式?螭助式信关式渔瑶.独立式在独立式 应用中,客
34、户端囊接遗到自己对客户的备种请求崴接作出处理。应用,的处理模式。闰表示了这种类缀的递交下列孽求:鬈户掰潋蠢?远程过稷调用简称中的存储过程这种请求允许客户执行通遥程序名称。存储过程是孛存教骞一个存糖藏可以识捌势撬行瓣程黟饯秘。过程的名称列寝。蒜户可以把存储过程名放在远程过程调用中向通过查表找到申请执行这个存储过程,存储过程名所辩应静撬符程黟彳弼,静直撩执行这袋猩序代褥。存储过程蒺可以是建户定义豹,墩冒三是系绞定义豹。?其留种类的客户命令成用糕序甍提供柱应代礴来娥理客产发出的其它各稀命令。痰尾鬻独立式应用.辅助黧第页西南交通大学研究生学位论文请求。如辅助型【所示:应用图 辅助型上去,并通过 与用户
35、直接连到建立起联系。远程过程调用是客户可以通过的仅有的命令。这种命令请求的发出可发往以在.语言代码中实现。客户应用程序通过远程过程中实现如下功能:调用可以在,系统打印等。?调用操作系统功能。如发送可以将信息送到 ,或者通过返回到客户端。应用.信关型应用既充当客户又充当服务器的角色,如果一个这样的应用我们称之为信关型应用。应用作为一个信关应用的情形:图显示了图 应用信关型信关型的服务器可以使得客户端与服务器交互,而客户端并西南交通大学研究生学位论文 第页不必与服务器端直接相连。除了 ,信关服务器还可以连划其它的服务器,文件系统,或者是可以充当服务器的应用程序。信关型的应月同时包含和.?的例程。在
36、这坦, 充当了双重角色,既是客户,又是服务器。作为服务器,它用?的例程与客户交互;作为客户,它使用的例程发送请求到数据库服务器或其它的,并从它们那里接收返回结果。应用根据实际业务的需要,选用了信关型作为其程序开发模式。第页西南交通大学研究生学位论文第三章 的设计.设计目标根据异地联网售票的业务要求,经过对各种情况的分析,确定了中间件要达到以下目标:能够处理异地联网售票业务中售票、退票、订票、取消票和废票的命令请求的传递和获取数据的返回。能够处理客票系统中其他模块如数据维护、计划管理等对数据库操作的命令请求并返回相应的结果。保障系统的安全可靠。内容包括用户管理、监控等。实现多用户、多线程的服务器
37、处理模式,并保证被多个用户处理的公共变量的数据准确性。在外部文件中记载用户使用本软件的各种重要信息,如用户的登录信息,用户发出的命令信息,用户获取的数据信息以及用户退出使用本软件的信息。.设计思想中连接交易管理服务器是一个服务进程,是前端的客户与后端的数据库之间进行通信的桥梁。当客户向发出对某个数据库的请求时,根据请求类型将请求直接送到相应的数据库服务器,或通过另一个到达相应的数据库服务器。数据库服务器执行语句后,再通过一个或多个将结果返回给客户。第页西南交通大学研究生学位论文地区中心地区中心图 中间件的基本结构根据总体规划,客票系统的席位数据按列车始发存放在车站数据库和地区中心数据库。车站数
38、据库存放部分的本站席位数据,然后将余下的席位数据存放在地区中心数据库中。也就是说,地区中心数据库存放本地区中心所管辖的各车站提供的席位。每个地区中心的席位都是供全国所有联网车站申请的,其中也包括本地区中心所辖各站。铁道部中心数据库中不存放席位数据。的设计目标中所确定的异地售票业务主要包括售票、退票、取消票和废票,因此可以确定所要处理的各种命令请求绝大部分是从售票窗口发出的。为说明方便起见,下面以售票业务为例进行说明,退票、废票和取消票的情况以及客票系统中其他模块情况与售票情况类似。售票窗口所售的车票分成两类,一类是存放在本站数据库中的席位,称为本地票;另一类是并非存放在本站数据库中的席位,称为
39、异地票。异地票又可以按其存放地细分为两种,一类是本地第页西南交通大学研究生学位论文区中心的异地票,另一类是其它地区中心的异地票。这样,售票窗门作为一个用户,它登录的最终日的地一共有三种:。.本站。.奉地区中心。.其它地区中心那么,售票窗口是怎样将取票请求送到目的地并取得它所申请的席位的昵售票窗口首先要登录到本站的,并通过本站的转发其取票请求。通过售票窗口发给它的各种信息来确定其转发方向。如果根据信息判断得到售票窗口要售本地票,;否则,将取票请求便将取票请求转发给本站转发给本地区中心。在本地区中心,转发的取票申请可能产生两个分支,要么去本地区中心数据库取本地区中心异地票,要么转发给其它地区中心,
40、由其它地区中心继续进行转发。对每一个地区中心而言,它所收到的售票请求可能来自本地区中心所辖各车站的售票窗口,也可能来自其它地区中心。对于前一种情况,请求的最终目的地有两种:本地区中心。其它地区中心而对于后一种情况,请求的最终目的地只有一种;本地区中。心从网络结构来看,要涉及三个部分,即车站、地区中心和铁道部中心。仔细分析车站、地区中心和铁道部中心在网络结构中的位置以及所采用的客户机/服务器开发模式,我们就会发现这三级的处理方式有共同之处:它们都同时具有客户身份和服务器身份。西南交通大学研究生学位论文部中心三层次客户机/服务器模式的相同之处。图中,车站、地区中心和铁道部中心的一方面以服务器的身份
41、接受其它客户的登录,另一方面又以客户的身盼向数据库服务器和其它登录。图. 客票系统的三层客户机/服务器结构模型一。从以上分析可见,在车站、地区中心和铁道部中心的处理功能是基本相同的。也就是说我们可以开发一个统一的中间件,而不必分别为车站级、地区中心级和铁道部中心级研制。在实际中也正是按照这种方式做的,程序包括头文件、源程第页西南交通大学研究生学位论文序、口令文件和配置文件,通过在配置文件中对特定参数的没置可以使分别服务二车站、地区中心和铁道部中心。最后还需说的是,与数据库服务器共存于同一物理系统。就是说,车站与车站数据库共存:三站主机二;地区一心与地区心数据库共存于地区中心主机上,铁道部中心与
42、铁道部中心数据库共存于铁道部中心主机上。的运行环境是操作系统和数据库。.程序框架应用程序都包含几个在大多数平台上,编写个特定的模块。也不例外,它包括以下几部分:.分配结构,设置全局属性。.建立错误处理函数,设定的日志文件。.初始化,包括:确定是车站级、地区中心级、还是铁道部中心级;从数据库中读取一些信息,以便连接转发和安全管理使用;最后,建立与数据库服务器的常连接。.建立的事件处理函数,以处理客户触发的各类事件。,客户发语言请例如客户登录触发的连接事件等。应用程序所作求触发的语言事件的大部分工作都是在这部分的处理函数中完成的。这部分内容也是应用程序的核心。.启动运行。一旦启动后是是常驻内存的。
43、而执行到这一步时,才是正常运行的开始。并且,从这一步开始,处于一种等待状态,只需简单的监听客户端的各种请求。对客户端请求的响应都由各事件处理函数处理。除非收到了终止,否则,不再执行启动语句后的运行的事件其它语句,即第步。第页西南交通大学研究生学位论文.清理内存,终止运行。后,将停止响应客户请求,完成后继收到处理,最后退;内存。图 的基本框架由 的事件触发机制可知,是通过事件触发的方式来响应用户的各种请求的。当初始化完毕,就开始等待客户端的各种请求,根据请求类型不同所能响应的事件分类在前进入不同的事件处理函数。面的内容中已经作过介绍。主要对以下三种事件作出处理:,断连连接事件 ,语言事件。图.表
44、示了的基本框架。事件. 第页西南交通大学研究生学位论文第四章的关键技术伍巾采了以下几项关键技术.常连接:.多线程:.用户管理。下面分别对这几项技术作详细论述。.常连接应用,登录并不是用是一种信关型户的最终目的。用户希望通过,要么登录到另一,才是用户。但是,不管怎样,要么登录到的最终目的地。所谓常连接方式,就是事先建立好与位于同一主机上之间的物理连接。这种连接一旦建立起后就不再断的开,除非有其它异常情况,或者被终止。当有客户申请连接时,并不需要真正的建立一个与数据库服务器的物理连接,而只需从己建的物理连接中分配一个就可以了。同样的,客户在退出时,只需将其使用的物理连接由占用状态改为宋占用状态,而
45、客户端到数据库服务器的通道,即物理连接,仍然是存在的。采用常连接方式主要有两方面优点。一是可以提高用户登录的效率。用户登录以后,为了再登录到中去,只需从已经建好的常连接中选择一个使用就行了,的登录。选择一个已建好不必再艋时建立到的连接比新建一个连接簧节省时间,这在实验中已经得到验证。而二是可以加强对用户登录 的管理。对言,供客户端使用的连接数是有限的。当用户数超过这个限制时,第页西南交通大学研究生学位论文。当利用管理常连接的分客户端将无法连接到配和释放时,即使所有的常连接都已经被占用,也不会象数据库服务器那样将用户拒之门外,而是将这些暂时分配不到连接的用户送到休眠队列管理起来,待有其它用户退出
46、,再将休眠队列中的用户唤醒,重新给它分配连接。这样能够使前台的应用更加流畅。应该说,使用常连接也是与三层次结构分不开的。因为必须有一个象这样的中间件,同时充当服务器和客户的角色。对于数据库服务器,它以客户的身份建立与数据库服务器的常连接:对于客户端,它以服务器的身份对客户的连接进行分配和释放。而在两层次结构中,由于没有中间层组件,因此也不可能对常连接进行管理。.数据结构在初始化时,程序从配置文件中读取常连接数并建立的连接。在中,我们采用了双向相应数量的与链表来管理这些常连接。相应地,我们定义了一种结构类型来存放指向常连接的指针以及与常连接相关的其它信息,这个结构被称为常连接结构。双向链表的每一个节点就是一个常连接结构。? ?;? ;?;? ;? ;第疆疆露交通大学研究生学位论文?.;。.;? ?;?;?;下面对常连接结构的各分量作一简单介绍。.一用户占用常连接的超始时闷。.鑫?当蹇蓼建产建务进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年南通科技职业学院单招职业技能考试题库带答案详解(轻巧夺冠)
- 2026年克拉玛依职业技术学院单招职业适应性测试题库附参考答案详解(满分必刷)
- 2026年克孜勒苏职业技术学院单招职业技能测试题库及一套答案详解
- 2026年兰考三农职业学院单招综合素质考试题库带答案详解(培优b卷)
- 2026年兰州石化职业技术学院单招职业适应性测试题库含答案详解(综合题)
- 2026年南京视觉艺术职业学院单招职业倾向性测试题库及答案详解(基础+提升)
- 2026年六盘水职业技术学院单招职业技能测试题库含答案详解(考试直接用)
- 2026年南京机电职业技术学院单招职业适应性测试题库带答案详解(基础题)
- 2026年冀中职业学院单招职业技能测试题库附参考答案详解(综合卷)
- 2026年冀中职业学院单招综合素质考试题库及一套完整答案详解
- 仲裁法课件教学课件
- 2025年及未来5年市场数据中国观光旅游船市场供需现状及投资战略数据分析研究报告
- 博物馆讲解员面试题目集
- 2025乍得矿产勘探行业现状调研与资源资本配置规划
- 旅游景区客流预测模型构建分析方案
- 海上救生艇筏培训课件
- 漂流安全管理制度
- 酒店培训师基本知识培训课件
- 福建省中小学幼儿园教师职务申报表
- 有机电子材料与器件
- 物流行业转型与挑战试题及答案
评论
0/150
提交评论