已阅读5页,还剩64页未读, 继续免费阅读
(交通信息工程及控制专业论文)中国铁路客票发售和预订系统中间件CTMS的研究与优化.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南交通大学研究生学位论文 第1 页 摘要 y 3 岳3 口 i f t 目铁路客票发傅和预汀系统( 以卜简称客票系统) 足一项圈家级的重 人科研课题,水文所沦述的内容足其l 卜的。个重要组成1 】i | j 分。 本文同顾了国内外铁路客票系统的发展现状,分析了建设客票系统的必 要性,说明了客票系统的总体规划。文中介绍了中问仲和三层客户机服务 器结构,分析了在客票系统中开发中间件的必要性。在通常的两层客户机 服务器结构中,客户机直接与服务器连接,在安全性、完整性、交易的管理, 以及维护等方面存在着不可避免的缺陷三层客户机服务器结构通过引入 中间件扩展了两层客户机服务器模型,简化了客户机服务器应用的开发, 提高了应用对平台的独立性以。 本文从几个主要方面阐明了客票系统中间件连接交易管理服务器 ( c t m s ) 从设计到实施以及优化的全过程。首先,提出了c t m s 的设计目 标和设计思想,确定技术思路为:以客票系统集中与分布相结合的数据库组 织方案为前提,在u n i x 操作系统上,利用c 语言,结合s y b a s e 公司提 供的应用程序接i z lo p e nc l i e n t 和o p e ns e r v e r 。开发信关型o p e ns e r v e r 应 用程序,并进一步确定了c t m s 程序框架。其掣钵析了研制c t m s 过程中所采用的常连接、多线程、用户管理几项关键技术,讨论了3 0 版c t m s 在安全管理、交易管理、监控功能、错误处理等方面所进行的优化。最后, 介绍了c t m s 的研制与誊施情况。1 实践证g 啄撼1 m s 实现 凄转发、连 接缓冲、交易管理和日志管理等主要功能,确保了异地联网售票等业务的实 现,提高了系统的灵活性和可扩展能力,保证了事务完整性和数据一致性。 关键词:客票系统 中间件客户机,服务暑矽连接交是管瑾服务罨 vv vv 西南交通大学研究生学位论文 第l i 页 a b s t r a c t c o n n e c t i o na n dt r a ns a c t i o nm a n a g e m e n ts e r v e r ( c t m s ) i sa n i m p o r t a n tp a r t o fc h i n ar a i l w a yt i c k e td i s t r i b u t i o na n d b o o k i n g s y s t e m ( c a l l e da st i c k e t i n gs y s t e mf o rs h o r th e r e i n a f t e r ) , w h i c hi s ak e yp r o j e c to ft h en i n t hf i v e y e a rp l a no fc h i n a i nt h i st h e s i s ,t h ed e v e l o p m e n t o f r a i l w a yt i c k e t i n gi sr e v i e w e d f i r s t ,a n dt h e nt h e n e c e s s i t y t os e t u pt i c k e t i n gs y s t e m is a n a l y z e d ,t h eo v e r a l lp l a no ft i c k e t i n gs y s t e mi s a l s op r e s e n t e d n e x t ,m i d d l e w a r e a n dt h r e e - t i e rc l i e n t s e r v e ra r c h i t e c t u r ei s i n t r o d u c e d b a s e do nt h a t ,t h en e c e s s i t yt od e v e l o pm i d d l e w a r e i n t i c k e t i n gs y s t e m i s a n a l y z e d i nt h et r a d i t i o n a lt w o - t i e r c l i e n t s e r v e ra r c h i t e c t u r e , c l i e n ti sd i r e c t l yc o n n e c t e dw i t hs e r v e r , w h i c hi n e v i t a b l yb r i n gl i m i t a t i o ni nt h es e c u r i t ya n di n t e g r a l i t y ,a n d m a n a g e m e n to f t r a n s a c t i o n t h r e e t i e ra r c h i t e c t u r ee x t e n d st h e t r a d i t i o n a lc l i e n t s e r v e rm o d e lb y a d d i n g m i d d l e w a r e i t s i m p l i f i e s t h e d e v e l o p m e n t o fc l i e n t s e r v e r a p p l i c a t i o n s , a n d i m p r o v e st h ei n d e p e n d e n c yo fa p p l i c a t i o n sf r o mp l a t f o r m s t h i st h e s i s s y s t e m a t i c a t l y ,d e a l s w i t hs c h e m e sa n d i m p l e m e n t a t i o n s o fc t m s f i r s t l y ,t h ed e s i g no b j e c t a n d c o n s i d e r a t i o na r ep o s e d ,a n da c c o r d i n gt ot h ed e s i g np r i n c i p l e so f t i c k e t i n gs y s t e m , c t m si s d e v e l o p e du s i n g c l a n g u a g e , s y b a s eo p e ns e r v e ra n do p e nc l i e n tu n d e ru n i xe n v i r o n m e n t s e c o n d l y ,t h ec r i t i c a lt e c h n i q u e s u s e da n do p t i m i z i n gm e a s u r e s t a k e ni nv e r s i o n3 0a r eg i v e na n de x p l a i n e di nd e t a i l f i n a l l y ,t h e i m p l e m e n t a t i o no fc t m s i n t i c k e t i n gs y s t e mi sd e s c r i b e d i th a s 涯瘩交通大学硬究生学短途文第n i 页 p r o v e d t h a tc t m sr e a l i z e sc o n n e c t i o n r e d i r e c t i n g , c o n n e c t i o n b u f f e r i n g ,t r a n s a c t i o nm a n a g e m e n ta n dl o gm a n a g e m e n t ,t h r e e t i e ra r c h i t e c t u r e is s c a l e a b l e , a n dc o n v e n i e n tf o r s y s t e m m a i n t e n a n c e i te n s ur e st h ei n t e g r i t yo ft r a n s a c t i o na n ds e c u r i t yo f s y s t e m + k e y w o r d s :t i c k e t i n gs y s t e m ,m i d d l e w a r e ,c l i e n t s e r v e r ,c t m s 西南交通大学研究生学位论文第1 页 1 1 建设客票系统的必要性 第一章绪论 处r 计算机技术和网络通信技术相互结合并迅猛发展的时 代,世界上许多发达国家和一些发展中国家大量采用先进的计算 机联网客票预订系统、自动售检票系统和客运信息共用系统,并 实现了跨地区或国家、跨行业的旅行服务,为旅客提供了方便、 舒适、快捷的旅行条件。 铁路客票发售和预订系统在国外已有3 0 多年的历史。 欧洲铁路客票预售系统的发展大体可以分为三个阶段;7 0 年 代为各国独立预售系统阶段,8 0 年代为欧洲各国联网阶段( 发售 跨国列车客票) ,9 0 年代为更新换代延伸服务阶段。当前,这些 系统有着共同的特点和发展趋势,在功能上,由封闭型转向社会 开放型,从独家的行业性向多家的社会性转换,由一国预约中心 向跨国预约中心发展,由单一的客票预约向综合服务发展,由单 纯的客票预约发展到旅客引导、通告等多媒体技术应用和智能化 方向发展。在技术上,系统结构由集中型处理向客户机,服务器的 分布式处理转化,数据组织由传统的文件系统向数据库发展,组 网方式由专用的网络向公用数据网和局域网相结合的方式过渡, 开发手段由采用高级语言发展到采用第四代语言等。 日本原国铁1 9 6 0 年2 月起开始使用的客票预订系统( m a r s 1 ) ,使用l3 台终端,对东海遵4 列特快列车实现预约,日预约4 0 0 0 张客票。1 9 6 4 年采用m a r s 1 0 l 开始对全田预订,在其后的2 0 年间系统功能逐渐增加,并不断进行系统替换。目前的m a r s 3 0 5 采用了2 台日立8 8 0 2 2 0 超大型机作为中央处理机,同时运转 互为备份。主机通过j r n e t 专用网联接终端6 1 6 2 台,日发售客 票1 7 0 多万张。该系统不仅进行铁路客票预订,而且能通过计算 西南交通大学研究生学位论文第2 页 机联嘲提供其它交通或旅馆蠹勺顾订服务。 在我国台湾省也已建成铁路计算机售票系统,不但减轻了:j : 作人员的劳动强度,捉。钉了:作教;簪和管理水i f ,忻r ld 1i :提高 了服务质量,从而使铁路系统在社会 :的形缘也大为改观。 此外,美圉、澳大利、亚、印度等因也都开发使用了客票预售 系统。 我国铁路开展计算机售票研究工作已有2 0 多年的历史,用 于常备客票的计算机结帐系统曾在全国3 0 0 多个车站使用,窗口 计算机售票系统曾在上海站试验多年,电子售票网络系统也曾在 广深线使用。但由于我国铁路客票发售和管理工作的特殊复杂 性,大规模的建设在1 9 9 6 年前一直未能提到日程上来。 随着社会主义市场经济的迅速发展,运输市场发生了深刻变 化,各种运输方式之间的竞争局面已经形成。这种激烈的市场竞 争,已经直接影响到了铁路的生存与发展。面对严峻的挑战,铁 路客运的出路在于加快改革。而售票方式的改革则是铁路客运改 革的关键环节。与发达国家相比,我国铁路的售票方式十分落后, 同国内其它交通方式相比,铁路的售票方式也存在相当大的差距, 远远不能满足旅客需要。 要想从根本上解决我国铁路客票发售中存在的问题,依靠在 现有的客票发售体制上修修补补是解决不了的,仅仅在车站利用 计算机发售客票也是不够的,必须建立一个覆盖全国铁路的计算 机网络,实现联网售票,以机器代替人工作业,以软票替代常备 客票,从而在任一窗口可发售任意方向和任意车次的客票,不但 可预订、预售和发售当日客票,而且具有售返程、联程等异地购 票功能,为旅客提供最大的方便,使我国铁路客票发售工作达到 优质服务水平。 我国铁路现有5 15 5 个客运站,日开行旅客列车1 0 8 8 对,日 发送旅客约3 0 0 万人,系统建成后将有几万个窗口机需要联网, 西南交通大学研究生学位论文 第3 页 n r 以说没有任何一个国家的铁路售票系统或其它行业系统处理过 如此庞大规模的业务;我国客票发售量人、波动人、旅途长、僻 票时问集r l ,高峰时会产尘4 0 0 0 5 0 0 0 个席位申i 占,i n f 我田通信 条件义恰恰比较落后,可以说没有任何其它铁路售票系统遇到过 这样的难题。田外铁路客运能力富裕,管理简单,尤其在席位的 分配、计划调度等方面,除了部分在预约客票中考虑了席位,大 量的售票系统只售票并不处理席位。因此,要照搬国外的售票系 统是不现实的,必须在借鉴国内外先进经验的基础上,依靠自己 的力量,研制开发适应我国铁路路情的总体设计和应用软件。另 外,我们要跟踪世界先进技术,采用分布式数据库和客户机服 务器结构,这对大规模信息系统建设来讲也是一个新课题。因此, 在我国建成覆盖全路的计算机联网售票系统,将是世界上同类系 统中最复杂、最庞大、技术含量最高的系统。 为此,1 9 9 6 年铁道部部长办公会议做出决定,尽快建成中国 铁路客票发售和预订系统,以此为突破口,改变铁路客票发售和 运营管理的落后面貌,这不仅是我国铁路客运走向现代化的一项 重大决策,是二项迎接2 l 世纪的工程,也是一场科技攻关的硬 仗。 1 2 客票系统的总体规划 1 2 1系统目标 根据“中国铁路客票发售和预定系统总体设计”,客票系统的 最终目标是建立一个覆盖全国铁路的计算机售票网络,实现全路 快车营业站联网售票,实现客票管理和发售工作现代化,从而方 便旅客购票和旅行,提高铁路客运经营水平和服务质量。具体实 现: ( 1 ) 全路快车营业站计算机联网售票,以机器代替人工作业, 晒南交通大学研究牛学位论文筇4 , 7 - 以软票许代常备客票,n :f t售票窗l1 州发傅仃意方+ m 和任意4 i 次的锌票。 ( 2 ) 颅订、预伟干发僻当h 客2 “j “- 7 ,垮仃傅返氍、联程等片地票功能。 ( 3 ) 烘额、席化、汁赞、制禁、结算、统汁博i :作的汁拜机 管理。, ( 4 ) 客票信息共享,加强管理与分析,提高席位利用率,为 铁路客运组织与管理工作提供辅助决策支持。 1 2 2系统总体结构 图1 1客票系统总体结构 客票系统的总体结构,取决于业务处理、数据流程、系统功 能及网络传输能力等相关因素,关键是席位数据库的规划与配 置。根据我国地域辽阔、铁路点多线广的特点,考虑到我国铁路 客运管理体制和通信基础设施的实际情况,窖票系统采用集中与 分布相结合的客户机,服务器结构,其特点是建立一个中央数据库 和若干个地区数据库,席位数据将按列车始发分别存储在各地区 中心数据库中。由于目前网络能力及可靠性还不能满足要求,票 额预分等客运管理制度短期内仍需保留,因此,总体设计中还提 5 了席位数据存取的过渡方案,h 车站服务器中仍保留一定量随 西南交通大学研究生学位论文 第5 页 分布相结合的客户机服务器结构,其特点是建立一个中央数据库 和若干个地区数据库,席位数据将按列车始发分别存储在各地区 中心数据库中。由于目前网络能力及可靠性还不能满足要求,票 额预分等客运管理制度短期内仍需保留,因此,总体设计中还提 出了席位数据存取的过渡方案,即车站服务器中仍保留一定量的 席位数据。 综合考虑各地区中心数据库所覆盖的客运量、列车数、快车 营业站数的均衡性及合理布局,全路共建立2 7 个地区中心数据 库,如图1 1 所示。 1 2 3系统功能结构 l 铁道部 ll全路中心i 业务管理系统r 管理系统 l l 业务管理系统广一地区中心 管理素境 l 铁路分局 _ 一 i 业务管理系统l l l 车站电子售票系统 - 中央级 地区级 车站级 图1 2客票系统功能结构 根据总体设计,客票系统分为中央、地区和车站三级,铁道 部、铁路局、铁路分局、车站四级管理,系统由6 个子系统组成, 即:车站电子售票系统,地区客票中心管理系统,铁道郏客票中 心管理系统,铁道部、铁路局、铁路分局业务管理系统,系统功 西南交通大学研究生学位论文第6 页 能结构如图l 一2 所示。 从应用角度来看,车站级主要是面向售票的实时交易商务服 务功能,地区级主要是以席位为核心的调度控制功能和管内客运 、1 k 务为主的指挥管理功能,中央级则主要是全局性宏观指挥管理 功能、基础数据保障和整个系统运行的监控和技术支持。 在车站系统中,将售票交易管理、客运业务管理、计算机系 统管理合为一体,而在中央级和地区级,将客运业务部门的管理 功能与相应的系统管理功能分开( 系统管理主要负责计算机硬 件、网络、系统软件、数据库运用及应用系统的后台支持软件的 管理等) ,铁道部业务管理是通过铁道部客票中心主机设备和数 据库实现的,路局和分局业务管理都是通过地区客票中心主机设 备和数据库实现的。这样安排有利于适应铁路管理体制的变化, 随着体制改革的深入,铁路局和铁路分局的业务管理功能有可能 合并或调整,将对客票系统的三级层次结构产生较小的影响,从 而保证了系统结构的稳定性。 1 2 4系统网络结构 客票系统的通信网络是以铁路数据网为基干网,将车站、地 区中心、各级业务部门局域网通过铁路数据网连接组成广域网。 对于客运量较大的车站,采用高速专线直接与地区中心连接;对 于铁路数据网尚不能覆盖的车站,可利用专线与入网站相连再利 用其端口入网。为保证网络可靠性,入网车站应使用两条数据电 路,一条在本地入网,一条在异地入网。 。 另外,客运量较小的车站,可利用专线或电话线与较大车站 相连,利用大站的服务器实现计算机售票及管理工作( 大站带小 站模式) 。 西南交通大学研究生学位论文第7 页 1 2 5系统平台 图卜3地区中心网络结构图 硬件平台: 口铁道部和地区中心系统采用企业级中小型计算机; 口大型客运站系统采用小型计算机; 口中小型客运站系统采用微机服务器: 口售票窗口机采用微机,配有专用制票机。 软件平台: 口服务器采用u n i x 操作系统和s y b a s e 数据库; 口用户工作站采用w i n d o w s ; 口通信采用t c p i p 协议; 口应用软件采用p o w e r b u l d e r 和c 编程。 1 3 中间件简介 中间件这一技术名词在国外出现在9 0 年代初。当时用来指一 西南交通大学研究生学位论文第8 页 种软件,它位于系统软件( 操作系统和网络软件) 与应用软件之间。 有了这层处于中间的软件,就能使远距离相隔的应用软件协同工 作。这样在应用层就形成了分布处i 哩。近几年由于分彳f j 式处理系 统的流行,中间件这一名称开始在国际技术界流行。由于大家都 使用这个新名词,出现了含意上的混乱。为了避免混淆,国外学 术界开始明确给出了它的定义:中间件是一种软件,它能使应用 成分之间进行跨网络的协同工作( 也就是互操作) ,这时允许各应 用成分之下所涉及的“通信协议、系统结构、操作系统、数据库 和其它应用服务”各不相同。 从体系结构上讲,中间件是驻留在客户端和服务器端之间的 软件,是构成三层次客户机,服务器结构不可缺少的一部分。 在通常的两层次客户机服务器结构中,客户端负责人机界 面、业务逻辑,以及向服务器传送前端客户的请求;服务器端负 责数据的管理、处理客户的请求,并把响应结果回送给客户。在 这种结构中,客户直接与服务器连接,在交易的管理、完整性、安 全性以及维护等方面存在着不可避免的缺陷。 三层次客户机服务器体系结构通过引入中间层组件扩大了传 统的客户机服务器和两层计算模型。三层次结构的中心特征是 将程序的应用逻辑放到中间层上,而不是象传统的客户机服务器 结构那样,放在客户端上。客户端被设计成整个应用的一小部分, 它主要负责用户界面的展现和简单的逻辑处理,以及基本的交互 式查询和数据报告。这种结构由三个逻辑上分开的系统组成,客 户端负责表示逻辑,中间层负责应用逻辑。服务器端负责数据存 取逻辑。因此,这种组织结构被称为三层次结构。 。 由于应用逻辑驻留在中间层,它由该应用程序的所有用户共 享,这样就能更好的控制应用,同时当应用产生变化时,能极大 的简化变化的实现。客户端由过去的请求数据变成了请求应用, 并且大量的数据处理被转移到中间层和数据库服务器之间,从而 西南交通大学研究生学位论文 第9 页 人大减少了通信线路上的数据传递和竞争。由于客户端不是直接 操纵数据,安全性也加强了,在赋权和保护数据l :也更加有利。 1 4 问题的提出及沦文选题的意义 从客票系统的系统目标可以看到,计算机联网售异地票是其 中的一项重要内容。所谓的异地票就是在某一联网售票车站,通 过计算机网络售出的本属于其它联网售票车站的车票。异地售票 业务之所以能够实现,是由于联网售票车站通过计算机网络实现 了对席位数据的共享。 异地售票业务的实现,不仅为广大旅客购票提供了极大的方 便,也大大增强了铁路客运同公路和民航的竞争能力,是推动我 国铁路客运业发展的个极为重要的手段。 售票窗口所要出售的席位,要么放在车站主机数据库,要么 放在地区中心数据库。所以,售票窗口最终是要到数据库把席位 信息取出来。售票窗口出售本地票时,就是可以通过直接连接到 数据库服务器的方式对数据库进行存取的。即便是出售异地票, 售票窗口也可以通过网络直接连接到数据库服务器对数据库进行 存取,从而达到售异地票的目的。但是,这种直接连接的方式存 在很多缺点,主要表现在以下几个方面。 1 由于异地票的席位数据都是存放在地区中心,所以,不管 哪个窗口出售异地票,它都要到地区中心( 本地区中心或其它地 区中心) 去取票。这样,在全国联网售票以后,如果采用这种直 接连接的方式,每个地区中心所对应的用户将悬全嗣所有售票窗 口。如此庞大的用户数量给地区中心的用户管理工作带来极大的 困难。一方面,每个售票窗口都要知道到全困每一个地区中心的 用户名和口令,这很不利于系统的安全。另一方面,任意一个地 区中心,如果它的用户名和口令被更改了,那么它就要通知全国 所有的售票窗口,这给工作带来极大的不便。 西南交通大学研究生学位论文 第1 0 页 2 在网络出现故障的情况下,网络系统和数据库系统无法作 :l 棚应的处理。售票窗口这种通过网络进行的直接的远程登录, 充令是由网络系统和数据库系统符理的,它们无法对网络故障作 符合售票、i p 务需求的各种处理。特别是这种远距离的网上数据 他输,更容易f b 现各种各样的问题。例如,用户登录到某个地区 中心之后,假如嘲络出现了故障,致使用户未能正常退出地区中 心,这时,是否让用户退出、按什么方式退出以及退出时应该作 什么样的处理,网络系统和数据库系统都是无法作出正确处理 的。更为严重的是,如果一个用户的事务处理未结束之前网络出 现故障,就会长期锁住其使用的相关文件,影响数据库服务器的 正常运转。 3 地区中心无法记录对用户进行管理的符合业务需要的日志 信息。地区中心面对众多的用户,为了加强管理,对每个登录进 来的用户进行记录是非常必要的。这些记录包括用户登录时间、 发出过哪些请求、存取过什么信息以及用户退出的时间等。 为了解决以上问题,以及满足在灵活性和可扩展性方面的需 求,客票系统选择了三层次客户机服务器的体系结构,而非传统 的两层次结构。 三层次体系结构把作为商业应用核心的业务处理逻辑放在中 间件上,解决了传统客户机服务器的可扩展性问题。减少客户 端逻辑也相应降低了两层次客户机服务器模式中客户机对硬件 的要求。另外,由于把许多用户的逻辑集中到单一的中间层组件 上,应用的维护也相应集中了。 在确定系统实现方案时,i b m 向总体组推荐了它们公司的中 间件产品c i c s ,用以实现系统的三层次结构。c i c s 功能虽然强 大,但是价格昂贵,且除了后台编程外,还需要针对客票系统应 用对前台的程序进行一定量的修改。因此,经过认真的考虑,决 定利用s y b a s e 公司的开发工具o p e nc l i e n t 和o p e ns e r v e r 来开 晒南交通大学研究生学位论文 第1 i 页 发三层次结构中的中问层组件。 町扩充性和灵活性,易j 维护, 数据的一致性,并儿安令可靠, 安全、稳定的进行。 所开发的中间件应该具有较大的 i 司时还能够保证交易的完整性和 总之,应保证异地联网售票商效、 c t m s 作为三层次客户机服务器体系结构中的中间层组件 ( m i d d le w a r e ) ,其功能的强弱、性能的优劣对整个系统有着极 其重要的影响。因此,有必要对c t m s 的设计和实现进行系统而 深入的研究,并对其中的不足之处进行优化,从而确保客票系统 最终目标的实现。 从9 6 年至今,客票系统经历了三个阶段,三次版本的升级。 l0 版本是针对车站系统设计和开发的,在1 6 0 多个车站实现了 计算机售票。9 7 年3 月开始开发的2 0 版本,引入了自行研制开 发的中间件一一连接交易管理服务器c t m s ( c o n n e c t i o n t r a n s a c t i o nm a n a g e m e n ts e r v e r ) ,确保了各地区中心内部的联 网售票的实现。9 9 年4 、5 月间,为实现全国联网售票,我们着 手设计客票系统3 0 版本。对于c t m s ,一方面要进行全面综合 的考虑和设计实现,使其能够适应全国联网售票的需求;另方 面,要对原有c t m s 进行优化,为客票系统整体的可靠运行和业 务的合理高效运作提供必要的保障。笔者参与了c t m s 的优化方 案设计,承担了3 0 舨c t m s 的编程、调试等全都工作。 函南交通大学研究生学位论文 第1 2 页 第二章s y b a s es q ls e r v e r 与o p e nc l i e n t 、o p e ns e r v e r 简介 c t m s 是f jc 语言结合s y b a s e 公司提供的工具o p e nc l i e n t 和 o p e ns e r v e r 编写的。另外, 在本文的以后的论述中将要多次引 用s y b a s es q ls e r v e r 的概念,所以这里将s y b a s es q ls e r v e r 和 o p e nc l i e n t 、o p e ns e r v e r 开发工具放在一起作一简单介绍。 2 1 s y b a s es o ls e r v e r 简介 s q ls e r v e r 是s y b a s e 数据库系统的重要组成部分,它的全 称是s t r u c t u r eq u e r yl a n g u a g es e r v e r 。s y b a s es q ls e r v e r 服 务器软件主要由两大部分组成,即s q ls e r v e r 内核( k e r n e l ) 和 数据库管理系统( d b m s ) 。s q ls e r v e r 内核处理客户与数据库的 连接及磁盘和网络i o 等,负责为d b m s 提供必要的运行环境。 d b m s 完成数据存取、资源管理、安全控制等各项操作。 我们知道,s y b a s e 数据库是一种分布式数据库,它可供多 个用户同时使用。但是,这种多用户的特性是通过什么方式体现 出来的呢? 或者说这多个用户是通过什么方式同时对s y b a s e 数 据库进行数据存取的呢? 这个答案就是通过s q ls e r v e r 。s q l s e r v e r 作为用户和s y b a s e 数据库进行数据交换的中间环节,它 有这样一些功能: 1 对用户的登录进行管理 用户要想使用s y b a s e 数据库,它必须提供正确的用户名和 口令,首先登录到s q ls e r v e r 中去。只有登录正确的合法用户才 能操作s y b a s e 数据库,即设定s y b a s e 数据库的各种参数、 对s y b a s e 数据库的内容进行存取等。 2 解释并转发用户的t r a n s a e s q l 语言请求 t r a n s a c s q l 语言是s q ls e r v e r 能够解释并转发的难一一种 西南交通大学研究生学位论文第1 3 页 函言,它向用户提供了能够对s y b a s e 数据库进行的全部操作。 3 参数设定 允许s q ls e r v e r 对自身的运,亍参数进行调整,如设定s q l s e r v e r 允许登录自身的用户数等。 由于s q ls e r v e r 具有了上述功能,使得它能够满足s y b a s e 多用户处理的要求,并且能够满足用户对数据库操作的其它要 求。 2 2 o p e nc l i e n t 与o p e ns e r v e r 简介 o p e nc l i e n t 和o p e ns e r v e r 是与查询语言和数据库系统无 关的应用程序接口( a p d 。它的实体部分就是s y b a s e 提供的 c l i e n t - l i b r a r y 和s e r v e r l i b r a r y 以及c s - l i b r a r y 库函数。用户利 用这些库函数可以开发出具有客户机,服务器特性的网络应用软 件。这些接口对分布式应用程序来说起着通用组件的作用。s y b a s e 客户机服务器产品主要包括三个通用接口: c l i e n t - l i b r a r y ,包含在o p e nc l i e n t 产品中。 s e r v e r - l i b r a r y ,包含在o p e ns e r v e r 产品中。 c s l i b r a r y ,包含在o p e nc l i e n t 和o p e ns e r v e r 产品中。 o p e nc l i e n t 和o p e ns e r v e r 为在s y b a s e 客户机,服务器体系 结构中指定的所有服务分别提供了客户方和服务器方的实现。这 些服务包括: 对话初始化 终止对话 状态 5 取消未完成的操作 数据元素描述 数据库远程过程调用( r p c ) 数据流消息 西南交通大学研究生学位论文第1 4 页 事件通告 数据库命令 表格数据流( t d s ) 处理 c l i e n t l i b r a r y 和s e r v e r l i br a r y 共享通用的公共类型定 义、数据元素描述结构和结果处理范例。它们被设计成一起协同 工作。这使得需要服务器和客户两种功能的应用程序,即信关型 应用,易于建立。 c s l i b r a r y 定义了实现数据类型转换、设置字符集、语言类 型及核心的数据结构。所有这些定义都是与c l i e n t l i b r a r y 和 s e r v e r l i b r a r y 共享的。即在编写应用时可直接调用c s l i b r a r y 中定义的函数和数据结构。 从图2 - l 可见o p e nc l i e n t 应用和o p e ns e r v e r 应用调用函数 库的情况。 o p e n c l i e n t 应用o p e ns e r v e r 应用 图2 - 1o p e nc l i e n t 应用和o p e ns e r v e r 应用调用函数库 o p e nc l i e n t 是客户方的应用程序接1 :3 ,使不同厂商的工具软 件和客户应用程序可以把s q l 命令和远程过程调用通过网络发送 西南交通大学研究生学位论文 第1 5 页 给服务器,以获得数据和服务。 o p e nc 1 l e n t 是s y b a s e 客户端应用的底层基础,管理客户端 与s q ls e r v e r 或o p e ns e r v e r 之间的所有通信要求。o p e n c l i e n t 提供调用级接1 ,用以建立有效的前端应用,各种应用系统和工 具均可使用o p e nc l i e n t 提供的调用接l ,通过网络向s q l s e r v e r 或由o p e ns e r v e r 连接的其他数据源和系统发送语句和远程过程 调用,以获得信息和服务。 o p e nc l i e n t 提供运行服务和编程服务。通过运行服务,应用 可在不同平台、不同网络环境问平滑移植:通过编程服务,开发 者可遵循不同标准,采用不同的接1 :3 和工具实现各种应用程序。 o p e ns e r v e r 是服务器方的应用程序接1 :3 ,它提供的编程接 口使得开发人员可以把不同的数据源构造为统一框架的数据库服 务器,从而允许客户以s q l 语言或远程过程调用的形式,向数据 源发送标准请求。然后将数据源返回的结果以标准格式返回给用 户。 s e r v e r l i b r a r y 提供的函数集合是专门用来编写服务器应用 的,它包括: 接收客户命令请求 返回结果给客户 设置应用属性 错误处理 管理与客户端的交互 提供客户连接的各种信息 o p e ns e r v e r 还包括一组头文件。一些常用的结构,数据类 型,宏定义都在这些头文件中定义。 2 3 o p e ns e r v e r 与s o ls e r v e r 的比较 客户机,服务器结构将计算机工作分给“客户”和“服务器” 疆枣交逶大学臻究生学位论文 第1 6 炎 来分蹦完成。客户向服势器发淹请求,并处理由涨务器返淄翡请 求缭襞。_ 蠢服务器则逮过孵器襄处理窑户谚求、囊测户返鄹数据, 戏执行某些操份来响应客户的请求。当用户难使用s y b a s es q l s e r v e r 时,实际上就是在使用这种c i l e n t s e r v e r 结构的应踊程序。 s q ls e r v e r 是s y b a s e 爨供静个“稼漆”懿黻务器。它楚s y b a s e 数据麾系绞戆夔要缎戏部分,实际上是秘巍业化、标准化的软 件产晶。用户以客户身份登录到s q ls e r v e r 中去,并通过s q l s e r v e r 来对s y b a s e 数据库的信息进行存取。s q ls e r v e r 的局限 性在于它哭是一释瑟商s y b a s e 数据瘁懿撮务器,怒s y b a s e 数据艨颞特奏黔。离开s y b a s e 数据库,它就失去了存在的意义。 丽o p e ns e r v e r 则不同,它是种甄为爱活,更加开放的服务器。 s y b a s es o ls e r v e r 是一个数据库服务器。s o ls e r v e r 管理 存穑在一个葳多个数据瘁审熬信惠。 s y b a s eo p e ns e r v e r 是提供建立一个用户定制的服务器所辩 的工具和接口,这热用户定服务器又称为一个o p e ns e r v e r 应用。 个o p e ns e r v e r 应用可戳是任何一种服务嚣,铡螽o p e ns e r v e r 瘫臻冒戳鲶理特殊谤雾;霹默避嚣实辩数据存取;霹l ;l 震终电子 邮 牛的服务接聪。 s o ls e r v e r 与o p e ns e r v e r 应用在菜些方面肖着檩似乏处: s q ls e r v e r 与o p e ns e r v e r 寂用两者都是滕务器,响斑 寒舀骞产蝼熬潺求。 客户端遇过o p e nc l l e n t 产品可与s q ls e r v e r 和o p e n s e r v e r 应用通倍。 缆是它们也有不阕点: 瘟耀编程人爨盛缀翅o p e ns e r v e r 匏稳造模块帮通翅代鹨 米建囊一个o p e ns e r v e r 的j 陂用。丽s o ls e r v e r 是一个已经构 造好的,并不需要孵编写代码的服务器。 o p e ns e r v e r 应焉可懿是l 壬簿类鏊静服务器,它本巍并不 西南交通大学研究生学位论文 第1 7 页 理解t r a n s a c s q l 或其它任何语言,但可以通过自己编写语法分 析器完成对任何语言的处理i 而s o ls e f v e r 是数据库的服务器, | - 1 只能认可t f a n s n c t - s q i 。语言。 o p e ns e r v e r 应用可以与外部的应用承f 服务器通讯,这些 外部应用和服务器并不需要基于s y b a s e 的t d s ( 表格式数据流) 协 议的基础之上。s q ls e r v e r 只能直接与s y b a s e 应用和服务器通 讯。 图2 - 2 说明了s q ls e r v e r 与o p e ns e r v e r 应用的不同。 教握请求 s q l r i 二l 结果 s e 嘣 数据j 数据请求 0 岬 客户端 s e 嘣 叼 结果 实时耋 利i c 妇 请求发送由区件i o p s a v a j 瞄 响应 _ 冀巾缸妇发电 图2 - 2s o ls e r v e r 与o p e ns e r v e r 应用 2 4 o p e ns e r v e r 的事件驱动机制 事件是指对特殊请求的响应,这里的请求通常是指客户请求。 事件类型有两种,一种是标准事件,在s e r v e r l i b r a r y 内部 定义;一种是用户自定义事件,由程序开发人员定义。 当事件被触发时,o p e ns e r v e r 需要执行一段程序来处理这 西南交通大学研究生学位论文 第1 8 页 个事件,这段程序称为事件处理函数。 o p e ns e r v e r 为侮一个标准事件和用户自定义事件都定义了 缺省事件处理函数。如果应用中不想使用这些缺省事件处理函 数,就必须自己定义并安装事件处理函数。这样,当事件被触发 时,就会执行所定义的事件处理函数,而不是缺省的事件处理函 数。 在o p e ns e r v e r 中,一共有十三种标准事件。其中,连接事 件( c o n n e c te v e n t ) ,语言事件( l a n g u a g ee v e n t ) ,断连事件 ( d i s c o n n e c te v e n t ) 是一个o p e ns e r v e r 应用中最关键的几个 事件,在我们的c t m s 中也是如此。下面我们将对在c t m s 中用到 的几个主要事件进行简单的介绍。 连接事件当客户端发出连接请求时,就触发连接事件的 产生。服务器端对连接事件的缺省处理方式是接受这个连接,也 就是说,并不对用户名和口令进行任何校验。 语言事件当客户端发出语言请求时,譬如s q l 语句,就 触发语言事件的产生。通常客户端可以通过例如i s q l 的交互式 查询工具或利用o p e nc 1 l e n t 的函数来向服务器端发送语言请 求。对语言事件的缺省处理方式是向客户端返回一个“n ol a n g u a g e h a n d l e ri n s t a l l e d ”的信息。 断连事件当客户端欲与服务器断除连接时,或是o p e n s e r v e r 应用发生严重错误时,就触发断连事件的产生。对断连事 件的缺省处理方式是不作任何处理。 一个o p e ns e r v e r 应用中的大部分工作就是编写这些事件处 理函数。应用编程人员必须根据应用的需求来决定如何响瘦一个 事件,并编写事件驱动程序。 2 5 o p e ns e r v e r 的三种应用结构 根据o p e ns e r v e r 应用的不同功能。它在客户机服务器结构 污南交遥大学研究生学位论文 第1 9 疑 中所处的位置i 鲢有所不同。o p e ns e r v e r 应用一般分为三种类型 独立式 螭助式 - 信关式 1 独立式o p e ns e r v e r 渔瑶 在独立式o p e ns e r v e r 应用中,客户端囊接遗到o p e ns e r v e r 应用,o p e ns e r v e r 自己对客户的备种请求崴接作出处理。 闰2 - 3 表示了这种类缀的o p e ns e r v e r 的处理模式。 鬈户掰潋蠢o p e ns e r v e r 递交下列 孽求: 远程过稷调用( r e m o t ep r o c e d u r ec a l l s 简称r p c s ) 这种请求允许客户执行o p e n s e r v e r 中的存储过程 ( r e g i s t e r e dp r o c e d u r e ) 。存储过程是o p e ns e r v e r 通遥程序名称 藏可以识捌势撬行瓣程黟饯秘。o p e ns e r v r e r 孛存教骞一个存糖 过程的名称列寝。蒜户可以把存储过程名放在远程过程调用中向 o p e ns e r v e r 申请执行这个存储过程,o p e ns e r v e r 通过查表找到 存储过程名所辩应静撬符程黟彳弼,静直撩执行这袋猩序代褥。 存储过程蒺可以是建户定义豹,墩冒 三l 是系绞定义豹。 其留种类的客户命令 o p e ns e r v e r 成用糕序甍提供柱应代礴来娥理客产发出的其 它各稀命令。 鬻2 - 3 独立式o p e ns e r v e r 痰尾 2 辅助黧o p e ns e r v e r 应用 西南交通大学研究生学位论文 第2 0 页 辅助型o p e ns e r v e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 混凝土结构构件的协同设计与智能运维技术-洞察及研究
- 职业咨询师的持续教育问题-洞察及研究
- 安全员技能等级考试题库及答案解析
- 多人在线游戏的社区维护与挑战
- 青选计划应急面试山东技巧
- 气象信息网络管理员初级网络性能分析与优化方案
- 招商的应急预案
- 试剂应急预案方案
- 幼儿磕碰应急预案
- 中级香席香道考评师考试中心运营情况报告
- 2025至2030全球及中国花生行业项目调研及市场前景预测评估报告
- 2025年教师职称考试(语文)复习题及答案(小学)(吕梁)
- 小学消防安全课件演示
- 2026年南宁市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(培优a卷)
- 2025年英语专业专升本模拟试卷真题(含答案)
- 2025年10月18日湖北省直遴选笔试真题及解析(市直卷)
- 2025年江苏(统招专升本)英语考试试题及答案
- 语言经济效应评估模型-洞察与解读
- 无源医疗器械设计开发流程
- 2025年儿童营养与健康知识竞赛答案及解析
- 2025乌鲁木齐银行秋季招聘备考考试题库附答案解析
评论
0/150
提交评论