




已阅读5页,还剩53页未读, 继续免费阅读
(机械设计及理论专业论文)基于web的城市售票系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着i n t e r n c t 技术的发展,人们足不出户的享受电子商务带来的便利已经成 为可能。为了提高人们的文化生活水平,建立一个文体类节目网络售票系统具有 一定的现实意义。 本论文叙述了基于w e b 技术的售票系统的总体架构、技术路线和模块设计。 该系统包括网站、票点、门市、厂商和后台共五个子系统,前两个子系统的开发 是本论文研究工作的主要内容,涉及动态网页、数据库、图形与图象处理、网络 通信等技术。论文中着重论述了节目订购、异常处理、空白票管理、票点帐务等 功能模块的实现,并且针对场地图和票券打印两个关键环节提出了“场地信息图 形绘制建档”、“场地图动态生成”、“广域网上票券的客户端打印”等解决方案。 目前该系统的基本功能已经实现,运行表明系统总体方案的设计合理,解决 问题的措施可行。 关键词:售票系统;票点;可扩展标记语言;c o m 组件;套接字 a b s t r a c t w i t ht h ed e v e l o p m e n to fi n t e r n e t ,i tb e c o m e sp o s s i b l ef o rp e o p l et o e nj o yt h ec o n v e n i e n c eo fe l e c t r i cc o m m e r c e i ti sv a l u a b l et ob u i i da t i c k e ts y s t e mi nt h ef i e l do fe n t e r t a i n m e n tt oi m p r o v ec i v i ic u i t u r ei i f e t h ep a p e rd i s c u s s e st h ew h o l es t r u c t u r e ,t e c h n i q u er o u t i n ea n dm a i n m o d u l e sd e s i g n i n go ft h ew e b b a s e dt i c k e ts y s t e m 。t h es y s t e mc o n s i s t so f f i v es u b s y s t e m :w e b s i t e ,t i c k e ts i t e ,k i o s ks y s t e m ,v e n d o rs y s t e ma n d m a n a g e m e n ts y s t e m 。t h ed e v e l o p m e n to f t h ew e b s i t ea n dt i c k e ts l t e s u b s y s t e mi st h em a i nc o n t e n to ft h ep a p e r d u r i n gt h ed e v e l o p m e n t , d y n a m i cw e b ,d a t a b a s e ,g r a p h i c sa n di m a g ep r o c e s s i n g a n dn e t w o r k c o m m u n i c a t i o na r ea p p l l e d t h ep a p e rm a i n l yi l l u m i n a t e st h ei m p l c r o o nlo l i t h em o d u l e so ft i c k e t b o o k i n g ,a b n o r m i t ys o l u t i o n , b l a n kt i c k e t m a n a g e m e n ta n da c c o u n t i n go ft i c k e ts i t e t os o l v et h ek e yp r o b l e m so f f i e l di m a g ea n dt i c k e tp r i n t i n g ,t h ep a p e rp r o p o s e ss o l u t i o d so fd r a w l n g g r a p h i ca n db u i l d i n gf i l e s ,d y n a m i ct r e a t i o no f f i e l di m a g e ,l o c a l p r i n tin go ft i c k e to ni n t e r n e t a tp r e s e n tt h em a i nf u n c t i o no ft h et i c k e ts y s t e mh a sb e e nc o m p i e t e d , a n dt h er e s u l to fo p e r a t i o np r o v e st h er e a s o n a b i l i t yo ft h es c h e m ea n d t h ef e a s i b i l i t yo ft h es o l u t i o n s k e yw o r d s :t i c k e ts y s t e m ;t i c k e ts i t e :x m l ;c o m ;s o c k e t 摧十w e b 的城市售票系统的设计与实现 1 绪论 1 1 研究背景 由于近年来i n t e m e t 应用的快速发展,越来越多的人想使用其无国界、无时间限制 的便利环境来经营与拓展商务。因此电子商务( e l e c t r o n i cc - o m m e r e e e c ) 便越柬越流 行,越来越多的企业想使用该方法与技术进行商业上的交易以降低成本。 票务是一个传统的行业,但是传统的售票模式存在着实时性差、交易时间长、运营 成本高、信息不共享等弊端。随着人们物质生活水平的提高,对文化生活的需求越来越 大,但电影、音乐会、运动赛事、戏剧等都面临一个票券销售的问题。现代生活节奏的 加快,使得让人们长途奔波、长时间排队并且不能随意选择座位的购票方式越来越显示 出其落后的一面。 本课题正是在这样的背景下提出来的,论文针对传统购票方式的缺陷,论述了利用 i n t e m e t 的便利环境和w e b 技术进行网络售票的优势、架构和实现方法,并且定位在文 体类节目的城市票务领域。 1 2 本课题的应用价值 随着互联网技术与电子商务的深入发展,基于w e b 的嘲络售票作为h n t e m e t 的一个 重要应用在国外蓬勃发展,应用也日益广泛。国内外许多大的票务公司都推出了网上售 票业务,很多票务公司拥有专门的售票网站,例如台湾的年代售票、元基售票网、澳大 利亚的b a s s 在线售票系统等。在国内,铁路系统、民航系统已经开展面向用户的售票 业务,许多城市的影院、剧场也都在尝试联网售票的方式。总的看来基于w e b 的网络售 票是大势所趋。本论文就是针对城市中文艺、体育、娱乐、展览、。j 敖游等票务领域提出 了以节目为中心的基于w e b 的网络售票系统。 网络售票系统具有传统人工售票系统不可比拟的优势。 一、它将传统的售票模式在网络上模拟出来,使人们可以足不出户地选购自己需要 的各式票券,快捷、便利,符合现代人的快节奏生活方式。 二、快速发展的互联网技术给这种售票方式提供了坚实的基础。网络售票系统充分 利用i n t e r n e t 环境为不同地点的多个用户同时提供不同的服务;并且可以提供给客户 身临其境的购票感觉,客户可以在第一时间选择自己喜欢的节目、座位,并可进行不同 视角的预览。它不但提供给用户方便、快捷、自由、灵活的购票服务,而且在购票过程 中使用户充分体验到虚拟购物的轻松与愉悦。 三、对企业而言,消费者通过网络来完成交易,运用计算机来进行管理、帐务处理 等,可以大大的降低企业的运营成本。由于采用网络技术,系统可以实现完全的信息共 享,实时的将票券的销售信息展现给用户,解决由于系统内部信息不共享而造成的短票 和积压票等情况。 1 3 本课题的特殊性 目前国内的计算机联网售票系统应用也r 益广泛起来。主要的应用一类是交通系统 皋十w e b 的城市售票系统的设计1j 实现 的铁路客运售票系统、公路( 主要是长途) 客运联网售票系统、民航联网售票系统、水 运联网电脑售票系统等。其业务提供者和运营者一般是国有的交通部门,系统开发出来 的使用客户不是广大的消费者,而是提供服务的工作人员。以铁路客运售票系统为例。 铁路部门是服务提供商,购票者需要通过售票工作人员来购买票券。 另一类是民营为主的票务网站,也提供票务的发售业务。但是往往把票券当作和普 通的商品一样交易,用户不能选择票券的具体座位等,不能满足用户灵活、方便的购票 需求。同时由于缺乏足够的市场推动力,其经营规模往往较小,影响力也不大。 而本论文所指的售票系统则有所不同。 1 ) 、使用本系统的对象一般是专门的票务公司,它本身一般不提供节目,需要从节 目提供商( 厂商) 处引入节目,然后代理其票务销售。 2 ) 、经营的票务以城市中文体类节目为主体,包括演唱会、电影、运动、戏剧、展 览等。 3 ) 、节目分类较为复杂。按照有无场地分为有场地图节目( 如电影、体育等) 、无场 地图节目( 例如旅游、展览类) 。有场地图节目按照是否对号入座分为自由入座、对号 入座。场地图按照实际场地的座位分椎情况分为平面场地图( 2 d ) 、立体平面图( 3 d ) 。 而一般的售票系统,其业务种类则较为单纯。 4 ) 、票券的销售通道多。有网谘订票、票点售票、门市售票、厂商售票、传真售票、 电话语音订票等。形成了个立体的、综合的信息体系。 5 ) 、系统开发出来主要针对的使用者不但包括系统内部的售票工作人员,而且也包 括广大的普通购票者,他们可以通过售票网站和门市的自动售票机来购买票券。 1 4 本课题的方案研究 f 是本课题中售票系统面对的用户的广泛性、销售渠道的多样性、体系结构的复杂 性,决定了采用的本论文中所采用的技术架构和国内普遍采用的架构有着较大的区别。 如图i - 1 所示。, 口 孙q 婴圄 口 嗣了 8 删 唧嘶i丑 w e b 客户割【 例1 - 1 售票系统技术架构 1 ) 、在前台,系统采用基于w e b 的瘦客户机模式,而后者一般采用p o w e r p o i n t 或者 v i s u a lb a s i c 等程序语言丌发的应用程序;这样有利于降低系统对网站和票点等前台终 端的依赖性。在普通售票系统中,前台机器上运行着专用的售票软件,购票者是不能直 接接触系统的。 媾十w e b 的城市售票系统的啦计j 实脱 2 ) 、在后台,系统采用集中式数据库,丽国内大型票务系统一般采用分布式分层数 据库:分层数据库的维护代价相当大,但是因为数据在本地,有利于系统的响应速度和 实时操作,以及安全性。 3 ) 、从层次上看,系统更多的采用w e b 访问集中的中央资料库,加上中间控制层, 也不过是三层,而后者一般是前台应用程序访问本地的资料库,在各个分布的本地资料 库与集中的中央数据库之间有着复杂的同步关系,所以,起码有三层结构,实际上铁路 等全国性的网络售票系统都有四层以上的结构关系。“1 本系统采用的方案优点在于: 1 ) 、前台系统技术路线统一,有利于开发的模块化,同时降低了开发难度。 2 ) 、瘦客户机模式,对前台终端的依赖性降低,有利于系统规模的扩展。 3 ) 、集中式数据库和三层式结构的方案,结构简单,数据库维护方便,有利于保持 数据的一致性和完整性,节约成本,有利于集中控制。 同时本系统具有以下弱点,在丌发过程中需要注意: 1 ) 、前台系统存在于丌发的网络环境中,又是基于h t t p 协议的w e b 方式,系统的安 全性存在较大的隐患,需要重点考虑。 2 ) 、面对着无法预测的随机用户访问环境,系统的负载不均衡,有波动性和突发性。 3 ) 、集中式数据库和w e b 方式,使得前台与后台之间的网络通讯数据量大,时问较 长,对系统的响应速度和实时性不利。同时系统的运行将依赖于高性能高可靠的主机和 广域网络。 1 5 本课题的研究任务 本课题的研究来源于实际工程项目,涉及到电子商务、动态w e b 、图形图象处理、 网络安全、数据库、计算机网络通信等多个领域技术,对系统的响应速度、实时性、安 全性、稳定性有较高的要求。 本课题要完成的主要研究任务有: 1 ) 、基于w e b 技术的城市售票系统的总体架构设计,技术路线的选择,主要功能模 块和业务流程的设计。 2 ) 、重点完成网站和票点这两个前台售票系统的设计与实现。包括总体架构、节目 订购、付款结算、票点异常处理、空白票管理、票点帐务等。 3 ) 、系统中场地图的解决方案。包括场地图总体方案、后台场地图建档中场地图绘 制和数据存储、平面场地图动态生成、m a p 图生成等功能模块的设计与实现。 4 ) 、系统中票券打印的实现。包括票点印票和厂商大量印票。 5 ) 、系统的安全性设计。 1 6 论文的组织结构 本论文主要论述基于w e b 的联网售票系统的总体框架、技术方案,以及网站、票 点等前台售票系统的设计与实现。并且在此过程中重点解决场地图和票券打印两个重要 环节。本论文的主要内容如下: 1 第一章首先论述本课题的研究背景和应用价值,同时讨论了它的特殊性和实现方 案,提出了本课题的研究任务。 2 第二章介绍了整个系统的总体结构、技术路线、运行环境和开发工具等。并对 各子系统做了描述。最后较为详细地论述了系统中运用地主要技术。 培于w e b 的城市售票系统的驶汁实现 3 第三章介绍了网站和票点两个前台售票系统的设计与实现,其中分别介绍了网 站总体架构、节目查询、节目展示、节目订购、购物篮设计、付款结算:票点总体设计、 票点购物流程与网站的异同、取票作业、退换票作业、空白票管理、票点帐务等功能模 块。最后讨论了系统的安全性设计。 4 第四章介绍了系统的场地图的解决方案。主要包括场地图总体方案设计、后台 场地图建档系统的总体架构、数据库中相关表的结构、各功能模块的介绍、场地图绘制、 数据存储、三维场地图建档、平面场地图动态生成、m a p 图生成等环节,以及相关的技 术实现。 5 第五章介绍了本系统中票券打印的研究与实现。主要包括解决方案讨论、c o m 组件的丌发、数据传输的编解码、s o c k e t 网络通信、厂商大量印票解决方案等环节的研 究与技术实现。 6 第六章对本论文工作进行了总结,并对售票系统的发展做了展望。 4 媾十w e b 的城市售票系统的啦计b 实现 2 售票系统的总体设计方案 一、系统的设计要求: 售票系统对响应速度、实时性、安全性和稳定性具有较高的要求。结合实际需求, 本售票系统的设计要求: 1 ) 、前台系统响应快速,购票流程清晰、简洁; 2 ) 、用户界面友好,往用方便; 3 ) 、后台管理清晰,帐务清楚,维护高效; 4 ) 、系统安全可靠,运行稳健; 5 ) 、系统柔性好,尽量功能模块化,便于业务扩展、重组。 二、票务系统主要环节介绍: 对于售票系统,与商店的经营有类似之处,即都有进货、销货、存货、结算等环节。 只不过一般商店经营的是实物,售票系统进的货就是节目的票务代理权,销货就是把节 目推销给用户,并吸引用户来购票、消费。 本系统中,一个节目的票务运作,大致分为以下环节: 引入节目:系统经营者与节目提供商( 厂商) 签订合约,节目提供商委托本系 统销售票务。 节目建档:节目基本信息的录入,包括节目名称、主办单位、演出地点、演出 时间、表演团体、节目简介等。然后,工作人员会根据需要制作影音介绍、提 供深度奔绍、相关评论等,并且录入系统数据库中。节目分为有场地图和无场 地图两种。有场地图的节目,又分为三维场地图节目和二维场地图节目。三维 场地图的图片需要从现场拍摄或者模拟制作,总之需要体现出空间的深度感, 更要形象逼真;二维场地图系统开发了专用的程序,工作人员采用作图的方式, 根据实际场地的座位分布情况,把场地信息录入到数据库中。无场地图的节目, 系统只需要录入该节目有哪些价格,每个价格的票券数量等基本信息。 前台销售:通过网站、票点、门市等渠道,出售相关节目票券。 后台管理:配合前台售票,执行某些操作,比如:退票、换票等的消票动作, 保持与前台的联系,为前台提供技术支持、信息支持,保持系统的稳定性、安 全性等。 系统帐务:与前台各通道的财务结算、与节目提供商( 厂商) 的帐务清算、本 系统的票房收入统计、分析等。 2 1 系统的总体结构 本售票系统总的来说,分为前台系统和后台系统。前台的主要作用是售票,即面对 客户,完成与客户的交易。后台的主要作用是为前台提供支持( 包括引进节目、节目基 本资料的建档、运行时的管理、系统维护、配合前台执行某些操作) 和结算作业( 包括 总计各个通道的收入、与前台对帐、与节耳提供商之问的清算、票房分析等) 。 2 1 1 总体结构 本系统采用基于w e b 的瘦客户机和集中式数据库的三层式系统架构。系统运行于 幕于w e b 的城市售票系统的搜计i 实现 i n t e r n e t 的丌放网络环境中,采用b r o w s e r s e r v e r 模式。其总体结构见图2 1 。 l 囊t a 豫汀二听卉督! !王琦地定梢 w w w 越 幽2 - 1 售票系统总体结构幽 不难看出,整个售票系统采用的是b r o w s e r s e r v e r 模式的多层次架构。传真电话订票、 后台管理程序、后台场地图建档程序都和w e b 服务器、数据库服务器在同一个局域网 罩总共构成了后台系统;静台系统包括票点系统、门市系统、厂商系统、客户服务系 统和售票网站;前后台之间跨越广域网。 w e b 服务器是w i n d o 、s 2 0 0 0 ) ( ps e r v e r :数据库服务器上运行的是s q ls e r v e r2 0 0 0 : 实际上w 曲服务器不止一台,可以采用一个主机组,并且采用“负载平衡”的解决方 案。服务器、后台微机、前台微机可以架构在普通的i n t e m e t 上,当然其安全性需要多 加考虑。如果条件允许,也可以运行于独立的网络内,类似于银行系统。 数据库服务器应与其他应用隔离,一方面,降低负荷,保护重要资源;另一方面使 数据库的选择可以多样化,日后的应用升级、功能增加更加方便,从而也为直接与企业 已有的数据库系统进行集成提供了可能。 系统采用b r o w s e r s e r v e r 架构,具有以下特点: 1 ) b r o w s e r s e r v e r 是一种瘦客户机模式,无需开发客户端软件, 2 ) 仅需要安装浏览器,应用界面单一,客户端硬件配置要求较低。 2 ) 易于管理和维护。因客户端浏览器的界面风格单一,利于提高效率。 b r o w s e r s e r v e r 在版本升级时只需集中维护放在服务器端的代码。这种以s e r v e r 为中 心的管理极大地降低了成本,减少了c l i e n t 端维护工作的负担。同时利于管理人员、 丌发人员将精力集中在合理组织信息系统的结构,更好地为各项业务提供技术支持上 柬。 3 ) 丌发b r o w s e r s e r v e r 应用,开发效率高,开发周期短,见效快。 4 ) 平台无关性,具有极强的伸缩性,可以从不同厂家选择设备和服务。 5 ) 开放性,采用公开的标准和协议。 6 捧十w e b 的城市售票系统的设计i 实现 2 1 2 系统中各方利益关系 本系统在运行中会涉及到多方面的利益关系。如图2 - 2 所示。 幽2 - 2 售票系统再方面芙系幽 具体来说,以售票系统业主为中心,业主为售票系统所有者。业主经营售票系统, 是所有收入的来源。但是厂商拥有节目所有权,业主要从厂商处获得票务代理权,所以 业主要将主要的票房收入交给厂商。当然业主会收驳一定比饲的佣会。同时,售票系统 需要架构在票点网络和门市网络上,票点和门市一般都属于不同公司所有。所以,票点 公司和门市公司也会抽取一定比例的酬金。 2 1 3 售票系统总流程 甘几进货后台建柏 后台管理 系统帐务h 1 | 时台售票t y j 台帐务 幽2 - 3 售票系统总体流程图 从e r p 角度来看,在本售票系统中,物流和总体流程图如图2 3 所示。粗箭头表示 系统中物流方向。1 3 1 2 1 4 系统模块分析 幽2 - 4 售票系统关系模犁图 运用面向对象( o o ) 的设计模式,系统的模块划分如图2 4 所示。系统共分成网站 綦十w e b 的城市售基系统的赴计1 j 实现 售票、票点售票、门市售票、厂商印票、厂商管理、客户服务、资料建档、后台管理、 后台帐务等模块。形成一个具有层次关系豹类模型结构图。【4 】 票点、门市、网站、传真、电话等都是售票的通道( 销售渠道) 。对于实际的系统, 票点就是散布于各地的销售点,类似于国内的火车票飞机票售票点。客户可以到票点去 通过工作人员买票或者取票。票点一般是功能单一的。门市也类似于票点,不过不是功 能单一的售票点,它更多的是自助的形式,而且一般都在超市或者商店里面。网站系统 是为了使网络用户在家庭或者公司里,足不出户,就可以订票:订票后可以到票点或者 门市去取票。传真订票是为传真用户服务的售票方式。传真用户可以把预先选好的节目 场次、价格、座位、促销方式、信用卡号等信息传真到系统后台,后台工作人员为其打 印出票券,同时通过邮寄等方式把票券送到客户手中。电话订票更多的是通过电话的方 式预订票券,后台系统采用自动语音应答( i v r :i n t e r a c t i v ev o i c er e s p o n s e ) 的方式为其 预留座位。厂商系统主要是为节目的提供商( 厂商) 提供一个了解并控制其提供节目的 销售、经营情况。比如查询节目的票房、收入:察看某些票点的销售情况:自己销售一 些票券:预留保留座等。 系统内各个具体的功能模块的具体介绍,见下节。 2 2 系统的功能介绍 本售票系统由以下几个部分构成,每部分在系统中都属于一个独立的模块。 2 2 1 网站系统 网站是售票系统的窗口之一。网站浏览者通过浏览网站可以了解售票系统的规模、 经营模式、促销活动、节目种类、最近节目等;有意购票者,可以进行选座、预定、信 用卡付款等活动。系统会给每一个订票者产生一个唯一的取票编号,凭此编号和身份证, 客户可以到附近的票点或者门市去取票。或者系统采用邮寄的方式,将票券派送到客户 手中。 网站订票对广大的顾客非常便利,顾客足不出户就可以订好自己中意的节目、场次、 座位、价格等。尤其是某些热门的节目容易形成客户“抢票”,如果都到有限的票点、 门市去购买,无疑将降低购票效率,给顾客带来不便。 当然由于网站订票者数量的不确定性,很容易形成拥塞,使主机承受过重的负载, 以致影响客户购票。所以需要进行主机的负载均衡,尽可能的降低每台主机的负载。 网站的主要功能有:节目查询、票点查询、订单查询、会员登录、优惠查询、节目 介绍、场地图展示、价格区块座位展示、优惠促销、价格计算、付款等。 2 2 2 票点系统 票点也是一个重要的售票渠道。整个系统的票点形成一张星形网络。票点有工作人 员,为顾客进行选择节目、座位、提供咨询、打印票券等服务。客户通过票点可以购票, 或者凭借取票号码( 比如在网站订票,或者电话订票) 来票点取票。 从技术上讲,票点机器只是一个普通的网站客户端。每个票点可以有多台机器工作。 整个票点内的机器可以公用一台印票机,当然也可以各自有一台专用的印票机。在技术 框架上,票点和网站用户的地位是一样的,都是跨越i n t e r n e t 和w e b 服务器相连接的 客户端。当然因为票点系统主要针对的是系统内部的工作人员,所以在界面、购票流程 基于w e b 的城市售票系统的设计与实现 等尽量进行简化,以提高工作效率,提高系统的响应速度。 票点的主要业务有:购票交易( 包括节目查询、票点查询、优惠查询等) 、票点取票、 异常处理( 消票、退票、换票、补票、重印记录查询等) 、票点帐务( 交易明细查询、 交易方式调整、结算作业、票点日结、销售报表列印等) 、空白票管理( 使用票券查询、 票券启用等如、票券作废、票券作废查询等) 、服务专区等。 2 2 3 门市系统 门市和票点一样,是一个重要的售票通路。门市系统主要架构于广布全地区乃至全 国范围的连锁商店。客户通过位于店内的触摸屏购物平台,在工作人员的辅助下自己进 行购票作业,然后到柜台结帐之后从专用自动售货机 ( m a pn a m e = m a p ) ( a r e as h a p e = p o l y c o o l d s = 。区块边缘坐标”h r e f :”s h o w l a s p ? f i e l d i d = 场地图代吁a m p b o c k i d = 价格【蔓块 代 。 其中区块边缘坐标类似“1 4 0 ,2 0 3 ,1 4 0 ,1 9 6 ,2 1 0 ,1 4 0 ,2 1 0 ,1 4 0 ,2 0 3 ”。 该h t m l 文档就是在i m a g e c r e a t e r _ b g 中生成的。 二、m a p 图生成流程和算法实现 m a p 图生成的主要流程包含在c r e a t e m a p 函数中,其参数为 场地图代号 座位方格的宽度 座位方格的间距 场地图中座位的最小列号 场地图中座位的最小排号 其主要步骤有: b o o lc r e a t e u a p ( i n tf i e l d l d ,i n t l 6i w i d t h i n t l 6i p a d ,i n t l 6m i n c o l ,i n t l 6m i n r o w ) 盘哟该场地的所卡的所仃价格区问 堡:! = 坐竺塑壹皇墨墨堑塑墼生兰兰塾 畸入h t m l 文件的开始部分 遍j = f j 所仃的选块,生成区块m a p f o r ( i n ti = o :i a r r b l o c k c o u n t :i ) 牺牲宅问换取时问把该区块的庄位用一个和场地图对应的2 维数纽束装载 把该区问的所青座位查找出柬 标识i | i 边界,亡索束,用4 连通 找未处理的边抖( 町能肯多个) 的第一个儿索。按顺时针找 i i 它的方格始点然后依次一j 找下 一个边界角点直到h 裳,完成一个边界的处理 m a p p r o c e s s ( r e fa r r s e a t s t r f u l l n a m e ( m a p d a t a ) a r r b l o c kc i ,m i n c o l ,m l n r o v ) : e n do ff o r 弓入h t m l 文件末尾 其中最重要的模块是m a p p r o c e s s 。它的目的就是从边界元素中寻找出拐点座位的坐 标。参考图象学中的轮廓跟踪理论,设计其算法为: 找出未处理的边界( 可能有多个) 的第一个单元格,处理本次边界搜索 l 、找出一个没有处理过的边界元素,作为开始单元格( 座位) ; 2 、找出该单元格所有边界线( 起始坐标和结束坐标) ,连接到前面的那个边界线上; 3 、在8 连通域中找出下一个边界单元格( 顺时针找) ,正上方为o ,右上方为1 , 以此类推 4 、重复2 ,3 ,直到找不出单元格为止 具体实现函数为: v o i dm a p p r o c e s s ( r e fa r r a ya r r s e a t s t r i n gs t r f u l l n a m e 。m a p d a t am a p d a t a i n t l 6l i n c o l ,i n t l 6m i n r o w ) 找一个没有处理过的边界j e 索,作为起始警元格 w h i l e ( f i n d u n d e a l ( r e fa r r s e a t r e fs e a t b e g i n ) ) ( d 0 料十料料十料处理奉次边弊搜索林 料 十 料料 计算当前单元格的边界记录卉:a r r b o u n d 下米 f i n d b 0 1 i n d ( r e fa r r s e a t ,r e fc u r s e a t r e fa r r b o u n d ) : 添加到a r r i f a p 中 a p p e n d m a p l i s t ( r e fa r r m a p ,r e fa r r b o u n d ) 更改座位状态为“己处理” r r s e a t s e t v a l u e ( 3 c u r s e a t c o l ,c u r s e a t r o w ) w k i l e ( f i n d n e x t ( r e fa r r s e a t ,r e fc u r s e a t ,r e fa r r m a p ) ) 精简a r r m a p 信息 r e d u c e m a p ( r e fa r r m a p ) : 把m a p 信息写入h t m l 文档中 w r i t e m a p ( r e fa r r l a a p s t r f u l i n a m e ,r e fm a p d a t a ,m i n c o l ,m i n r o w ) e n do fw h i l e 基于w e b 的城市售票系统的设计畸实瑾 三、实现算法分析 系统在实现m a p 图的生成过程中,运用数字图象处理技术中的边缘检测提取和轮廓 跟踪技术,较好的实现了场鳆图中价格区块复杂多样轮廓提取。 但是边界轮廓的数据还是较大,不利于在网络大量传输。所以,系统又进行了信息 精简,只保留轮廓中的拐点坐标,剔除了冗余坐标点。 桀于w e b 的城市售票系统的设计1 i 实髓 5 售票系统中票券打印的研究与实现 5 1 票点印票系统 5 1 1 问题的提出 由于本售票系统是基于b r o w s e r s e r v e r 架构,票券的票面信息,也就是票券的打印 数据( 节目名称、演出时间、演出地点、价格、票点流水号等) 存储于数据服务器的中 央数据库中,而票券的打印是在客户端( 如票点机器) 进行的。因此如何从服务器上取 得打印数据并打印出准确合格的票券就成为一种迫切的需要。 5 1 2 解决方案研究 票点系统是架构在i n t e r n e t 上的c s 模式,客户端浏览的只有w e b 页面。打印时客 户端向服务器端提出打印申请,服务器从数据库中查询相关数据( 如票券的票面文字信 息等) ,通过t c p i p 协议的网络发送到客户端,并在客户端打印出票券来。 在w e b 上实现打印最简单的方案是利用浏览器自带的打印功能,其特点是功能较 弱,一般只能打印普通的文档。而有价票券要求票面文字的位置很精确,字体、字型、 字体大小等都有特殊要求,而且还有条形码的打印等,因此浏览器自带的打印功能很难 做到。其解决的办法只能是在客户端运行打印进程。 有三种可供选择的方案: 第一种方案是客户端向服务器发送打印请求,w e b 服务器进行业务处理得到打印 所需数据并向客户端发回h t m l 页面。在客户端运行脚本语言( 例如v b s c r i p t ) ,将打 印数据向打印机输出。 这种方案简单易用,不需编写a c t i v e x 控件,可以作为简单文本的本地端打印方案, 但是不能进行打印字体和位置的精确控制,不能打印特殊字符,故不适合票券的打印。 第二种是在页面内嵌入a c t i v e x 控件,该控件运行于客户端负责打印输出,当客户 端向服务器端提出打印申请,服务器端脚本( 例如a s p ,j s p ,p h p 等) 查询打印数据 后在服务器上生成一个数据文件,然后嵌入页面的a c t i v e x 控件从服务器上读取数据并 实现本地端打印。1 2 3 1 o 这个设计方案较第一种方案复杂,需要自己编写a c t i v e x 控件,它从服务器端读取 数据文件,与打印机连接,可以控制打印字体和位置,其缺点是:数据安全性得不到保 障,因为服务器上的任何数据文件,只要是在客户端运行的a c t i v e x 控件能读取的,普 通浏览者都可以下载下来。所以该方案在封闭的银行系统和企业i n t r a n e t 中可以实旄, 在i n t e r n e t 上却不是理想的解决方案。另外客户端操作不够方便。因为打印数据是封装 在a c t i v e x 控件内的,对客户( 票点操作人员) 是透明的,因此无法进行打印内容的 调整等人工操作。 由此作者提出了第三种方案:在服务器端嵌入a c t i v e x 控件( n e t p r i n t ) ,当客户端 向服务器提出打印申请时,服务器端脚本查询数据库得到需要的数据,传递给n e t p r i n t , 同时在客户端运行打印进程( l o c a l p r i n t ) ,n e t p r i m 与l o c a l p r i n t 通过基于t c p 的s o c k e t 通信进行数据传输,l o c a l p r i n t 进行字体等打印细节的控制,实现客户端打印。过程描 述如图5 1 所示: 璀十w e b 的城市售票系统的 垃汁j 实现 客广端服务器 图5 - 1 票点票券打印系统模型图 其中,w e b 服务器端脚本( 如a s p ) 调用n e t p f i n t ,并将需要打印的数据用参数的 形式传递给它。n e t p r i n t 中封装了s o c k e t 的客户端。相应的l o c a l p r i n t 中封装了s o c k e t 的服务器端,负责侦听端口,接收数据。 相比前面两种方案,该方案的优点是功能强大,安全可靠,并且能打印精度要求较 高的条形码,能够完成系统的打印需求。其代价是技术层次相对复杂,编程难度加大。 5 ,1 3 关键技术及实现方法 一、c o m 组件与n e t p r i n t 组件的实现 组件对象模型( c o m p o n e n to b j e c tm o d u l e ,c o m ) 自微软提出以来,得到了广泛的 使用和高度的重视。它提供了组件之间进行交互的规范,使多个应用程序或组件对象协 同工作并互相通讯,并且独立于使用它们的应用程序和用于刨建它们的编写语言之外。 因此,c o m 技术成了微软许多软件( 例如w o r d ) 的基础,它提供了跨越编程语言、操作 系统和网络来访问组件对象的通用途径,使软件以组件方式集成成为可能。“” 在v i s u a lc + + 4 2 以后版本中集成了a c t i v et e m p l a t el i b r a r y ( 活动模板库,a t l ) , 它尤其适合于构造a c t i v e x 组件,因为它采用了一系列最小化的方法提供对创建组件的 支持,可以开发出仅仅需要标准的c 运行库的具有完全功能的小而快( l e a na n dm e a n ) 的控件。所以系统选择a t l 柬开发n e t p r i n t 组件。 在该动态链接库中增加一个接口,其方法和属性介绍如表5 1 : 方法属性 描述 r i t o s t s o c k e t 服务器主机 宅 r p o r t s o c k e t 服务器接收 嫱口 e r r o r c o d e 错误代号 s e t d a t a ( b s t r接收数据 s t r d a t a l t e m ) s e n d ( )发送数据 表5 - ln e t p r i n t 接口的方法属性 调用该组件对象时,先设定s o c k e t 主机的名字和接收端口,然后将打印数据依次赋 给s e t d a t a 方法的参数。在n e t p r i n t 对象内部有一个链表md a t a l i s t 用于存储传递过 来的数据。数据在发送给l o c a l p r i n t 之前,要进行编码规整,使m _ o a t a l i s t 中多条打 印数据变成一条( 具体方法见下文) ,通过s o c k e t 传输到l o c a l p r i n t 。l o c a l p r i n t 再 进行数据的解码,将数据恢复为多条。 二、传输数据编码和解码 4 7 萃十w e b 的城市售票系统的设计与,蜜现 按一定规则在s o c k e t 的客户端进行数据编码,在s o c k e t 的服务器端进行相应的解码, 不但可以保证接收后和发送前的数据一致,还可以节省s o c k e t 传输的次数,减少出错和 网络拥塞的可能性,提高传输效率,缩短打印响应时间。 票券打印数据的结构如图5 2 。 l 兰竺l 竺竺! 竺竺l 二l 卜j 个竹元+ i 一1 6 个”元- _ _ 一1 6 个睢元_ 一一 | 墨| 5 - 2 票券打印数据结构 头信息中存储这批票券的公共信息,包括该批打印票券的总张数( n t ) 、票券种类和 留待扩展的部分,共用5 个单元。后面的每个方格表示一张票券的详细数据,包括:节 目名称、节目演出时间、演出地点、主办单位、票价、座位信息、票点电脑流水号、特 殊票券说明( 贵宾券、学生票、军人票、儿童票等) 以及留待扩展的部分,共用1 6 个 数据单元。所以根据票券的总张数( n t ) 可以计算出一批票券总共使用数据单元个数 ( n u ) :n u = n t * 1 6 + 5 编码目的:将n u 个字符串数据规整成为一个字符串s t r r e s u l t 。并保证能被成功解 码,不出现数据错误。 编码规则:1 ) 、以一 ”作为数据单元之间的界定符,引入“撑”作为辅助符号。 2 ) 、依次考察每个字符串。3 ) 、遍历该字符串。考察每一个字符,如果是“一,则考察 其后的字符,如果其后字符是“ ”或者是“撵”,则在”后面插入“群”。到字符串 末尾则在字符串末尾后插入“ ”。这样就保证了规整后的字符串中除了数据单元之间 的界定符,不会再出现与界定符雷同的字符。4 ) 、将规整后的字符串连接成为s t r r e s u l t 。 2 5 1 具体算法如下: b o o ls t r e n c o d e ( c s t r i n g l _ i s t m _ d a t a l i s t c s 丽哩& s t r r e s u l t ) 将m d a t a l i s t 巾的字符串连接成s t r r e s u l t 。 i f f m _ d a t a l i s t i s e m p l y o ) r c t u r l lf a l s e ; p o s i t i o np o s - - md a t a l i s t g e t h e a d p o s i t i o n o ; c s t r l n gt e m p s t r 2 j r ”) ; w h i l e i 【p o s ! = n u l l ) t c m p s t r = m _ d a t a l i s t g c t n e x t ( p o s ) ; f o r ( i m j = 0 0 t e m p s t r g e t l e n g t h o 1 0 h ) i f ( t e m p s t r g e t a t ( i ) 一”) i f ( t e m p s t r g e t a t ( j + 1 ) 一 nz r a p s t r g e t a t 0 + 1 产。# ) t c m p s t r ,i n s e r t 0 + i ,群) ; i f o r s t r r c s u l t = s t r r e s u l t + t e m p s t r + ” “; w h i l e r e t u r nt r u e : ) s t r e n c o d e 相应的解码规则如下:遍历字符串,如果字符为“幸, ,则考察其后的字符:如果其 后字符为“撑”,则删除“牟”;如果其后字符为“ ”,则为界定符,割取其前面的所有 字符为新的字符串。 算法与编码类似,限于篇幅在此略去。 该算法与t c p i p 协议栈中数据链路层帧的传输中采用的“位填充”算法相似。简 单而可靠。 三、s o c k e t 传输机制 套接字( s o c k e t ) 是最流行的网络通信应用程序接口。它封装了t c p 层以下的网络 传输细节,使程序员通过调用s o c k e t 的函数就可以轻松的实现网络通信。s o c k e t 一般有 堆十w e b 的城市售票系统的啦汁i 实现 面向连接( t c p 协议) 和面向无连接( u d p 协议) 两种通信方式。为了确保打印资料 的准确性,本系统采用的是面向连接的通讯方式。 s o c k e t 起初诞生于u n i x 操作系统,叫b e r k e l e ys o c k e t 。后来微软联合其他厂商 开发了w i n d o w s 下的网络编程接口w i n d o w ss o c k e t ( w i n s o c k ) 。1 v c + + 6 0 中集成了 w i n s o c k 2 0 版,是w i n s o c k 的理想开发环境。本系统就在a t l 编写的c o m 组件中引入了 c s o c k e t 对象,作为s o c k e t 的客户端,在票点端运行的l o c a l p r i n t 中引入的w i n s o c k 作为服务器端,负责接收传输过来的打印数据。值
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天然石材订购合同范本
- 成都滴滴司机合同范本
- 永电施工合同范本
- 购买废弃瓷砖合同范本
- 钢材电子购销合同范本
- 社区居委会消防知识培训课件
- 文具公司加盟合同范本
- 商铺资源转让合同范本
- 种植土地承租合同范本
- 社区安全知识培训课件的意义
- 记者证考试题库及答案
- 2025年林木种苗工考试林木种苗工(高级)试卷与答案
- 2025年振兴中学分班考试题及答案
- 肿瘤防治宣传科课件
- 2025年公安部交管局三力测试题库及答案
- 2025年军队文职人员招聘考试(公共科目)测试题及答案一
- 纪检监督检查培训课件
- 复发性流产护理
- 2025年西藏自治区事业单位招聘考试教师招聘体育学科专业知识试卷(模拟试题)
- 先天性甲状腺功能减退症诊治指南解读课件
- 大兴安岭黄岗锡铁钨多金属矿床的成矿过程研究
评论
0/150
提交评论