分布式旅行预定系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

目录1分布式旅行预订系统概述...........................................................................................................11.1背景介绍.......................................................................................................................11.2系统目标.......................................................................................................................12需求分析.......................................................................................................................................12.1系统总体需求分析............................................................................................................12.2功能需求分析....................................................................................................................13系统设计.......................................................................................................................................24系统实现.......................................................................................................................................24.1简单旅行预定资源管理器................................................................................................24.1.1RM存储表...............................................................................................................34.1.2事务管理..................................................................................................................34.2.3系统ACID属性.......................................................................................................34.2.4系统并发控制的封锁处理......................................................................................44.2分布式事务管理器.............................................................................................................54.2.1事务管理器(TM)...............................................................................................54.2.2集中式2PC协议....................................................................................................55系统的运行与测试.......................................................................................................................55.1服务器端设置....................................................................................................................55.2系统运行结果....................................................................................................................66总结............................................................................................................................................1411分布式旅行预订系统概述1.1背景介绍旅行是人们生活中的重要部分。现今,旅行服务行业也在迅速发展,但是旅行业软件信息系统的使用效率上却又很大的提升空间。观察现在旅行服务业,很少有一个服务系统能够高效智能的聚合包括飞机票预定、酒店旅馆预定、车租车预订等旅行必须的服务。1.2系统目标项目目标是用java或VC组建一个分布式应用系统,它用来实施一个简单的旅行预定系统。2需求分析2.1系统总体需求分析旅行预订系统主要面向游客。通过调查,对于普通游客而言,随着旅游者越来越多地参与到旅游活动的前期决策与规划中,他们迫切地需要快速获得旅游目的地信息及其它相关服务设施信息,包括餐饮、住宿、交通、购物、娱乐等。此外,查询结果能够为游客提供最新的、现时性很强的旅游信息,要具有直观性、形象性,使游客全方位了解旅游目的地相关信息,在增加游客旅游兴趣的同时也满足其个性化旅游的需求。2.2功能需求分析基于总体需要分析,系统应包含:航班、旅馆、出租车、预订情况信息查询、航班、旅馆、出租车、游客信息增(修改、删除、查寻)、航班、旅馆、出租出的退票功能等。信息查询该系统的信息查询模块主要实现航行信息、旅馆信息、出租车信息以及客户的航班预订信息的查询。信息插入与删除因为航班、旅馆等信息是不断更新的,为此系统需要有信息增加、修改、删除等功能,该系统在功能上只需实现部分功能。信息的插入和删除主要包括航班信息(航班号、座位数等)、旅馆信息(地址、价格、房间数等)、出租车信息(地址、价格、数量等)的插入和删除,该部分功能只有管理员有相应的权限。航班预订与取消航班预订是指用户根据需求选择航班,同时还有旅馆和出租出可以进行选择,这里我们假设:1):只有一个航班,并且在给定的航班上所有的座位都是相同的价钱;2):所有的旅馆房间在同一个地方的都是相同的价钱。航班的预订和取消功能是该系统实现的关键部分。因为该部分需要对数据进行并发控制,保证数据的正确性。23系统设计该系统可以通过两个阶段来实现系统:做一个简单的资源管理器(RM)(一个简单的数据库系统包括一组固定的表和操作集合)支持具有ACID属性的并发事务。实现一个工作流管理器(WC)和一个事务管理器(TM),能在各个资源管理者(RM)之间实现分布式事务处理。RMI是EnterpriseJavaBeans的支柱,是建立分布式Java应用程序的方便途径。运用RMI实现客户端、服务器的通信。利用Java.util.concurrent实现Collection框架对数据结构所执行的并发操作。本系统采用C/S框架结构。如下图3-1所示:图3-1分布式旅行预订系统架构图4系统实现4.1简单旅行预定资源管理器实现一个简单的资源管理器(RM),支持具有ACID属性的并发交互事务。特别的,资源管理器储存关于:飞机票,租车,旅馆房间和旅客的数据。多客户机通过接口界面并发访问资源管理器来查询和更新数据。要求资源管理器保证这些并发事务执行的正确性,例如,在有ACID要求的事务中。ClientClientClientResourceManager(RM)Flights,Hotels,Cars,Customers……34.1.1RM存储表资源管理器储存关于飞机票、租车、旅馆房间和旅客的数据。在该系统中资源管理器要储存下列的表:FLIGHTS(StringflightNum,intprice,intnumSeats,intnumAvail)HOTELS(Stringlocation,intprice,intnumRooms,intnumAvail)CARS(Stringlocation,intprice,intnumCars,intnumAvail)CUSTOMERS(StringcustName)RESERVATIONS(StringcustName,intresvType,StringresvKey)其中:flightnum是FLIGHTS的主键;location是HOTELS的主键;custNum是CUSTOMERS的主键;ESERVATIONS表包括一个对应的项目表,这张表由用户对航班,汽车,旅馆的预定信息组成;在FLIGHTS表中,numAvail是一个给定航班可以预定到的座位号。4.1.2事务管理在分布式数据库系统中,一个分布式事务及全局事务,通常由一个主事务和在不同站点上执行的子事务组成。一般的,主事务负责事务的开始,提交和异常终止。(1)将事务划分成多个子事务,通过每个子事务来访问分布存储在多个站点的数据。(2)协调在各站点子事务工作以达到系统的原子性。子事务不仅要与相应站点上并发执行的其他本地事务相互协调,还要与分布式系统中全局事务所产生的其他子事务相互协调。事务管理的目标就是负责当若干个事务并发执行和事务执行发生错误时,使数据库仍保持一致状态。所以事务管理至关重要,也是该系统中需要克服的难点。4.2.3系统ACID属性在本系统中,每个服务器都按照总体的设计结构图,实现数据存储、更新、插入、删除、预定。同时,每个服务器实现本地的事务管理、并发控制。主服务器把一个事务分为多个子事务,然后对各个站点处理子事物结果进行裁决,并发控制,实现分布式事务处理。原子性(Atomicity):Client向Server发出预订申请时,Server分别从每个服务器取得数据并进行交互式预订。如果每个服务器返回确认的信息,则再由Server统一进行Commit操作,否则如果有一个服务器返回预订失败的信息,然后由Server统一将每个服务器上试预订的信息进行rollback操作。一致性(Consistency):数据的不一致性主要是由于事物的并发、通信传输故障、站点故障导致。针对事物并发,可以对数据资源加锁和写锁。数据库始终是从一个一致性状态变到另一个一致性状态,只有成功事务系统才会提交给数据库保存。隔离性(Isolation):事务的隔离性是指一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功