已阅读5页,还剩73页未读, 继续免费阅读
(金融学专业论文)旅游同行在线系统的分析与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
内容摘要 一、系统背景 随着经济向纵深方向的发展,人们生活水平不断提高,旅行度 假日益成为人们生活质量优化的一个指标。越来越多的人选择在假 期出游来丰富自己的文化生活,使其身心得到放松,因此人们对旅 游信息的需求也越来越大。与此同时,计算机网络的发展让传统的 旅游信息也上了网,让人们能够在网上方便的查询旅游信息,同样 地,旅行社对旅游信息的获取也从传统的查询途径转移到了网络查 询的方式。然而,目前已有的计算机旅游信息平台仅仅只是提供旅 游信息,却不能满足旅行社之间频繁交流的需求。开发一个既能提 供旅游信息发布,又能让旅行社之间进行交流的平台,将给旅行社 的经营管理提供很多便利。在提高了旅行社营运效率的同时也节约 了营运成本,这将给旅行社的发展带来新的契机。 “旅游同行在线系统”是笔者:在研究生就读期间参与项目“旅 游信息综合平台”中的一个通讯程序模块,笔者参与了该项目的设 计并完成了通讯模块的开发。而旅游信息综合平台正是基于以上背 景而被开发出来提供给旅游行业各:参与者使用的应用软件。通过该 平台,各地旅行社能够将各自的旅游产品发布在信息综合平台中, 旅游消费者和旅游企业可以轻松地在旅游信息综合平台上查询到这 些信息;同时,旅行社还可以通过旅游同行在线系统查找同行,开 发新的旅游路线,联络新的合作伙伴。此外,该行业的其他参与者 也可以通过旅游同行在线系统相互联系,了解旅游信息,洽谈旅游 业务。 二、本文写作思路和主要内容 本文以我国目前旅游行业信息化现状及原因分析为出发点,以 如何构建“旅游信息综合平台”为中心,详细介绍“旅游同行在线 系统”的分析与实现过程。文中首先介绍了系统的开发背景、意义, 并进行了可行性分析。在此基础上,介绍了系统中使用到的关键技 术及其在系统中应用,即系统中使用到的嵌入式数据库b e r k e l e y d b 和多线程编程技术;然后从系统设计入手对旅游同行在线系统的实 现过程作了深入的剖析,逐节介绍旅游同行在线系统的特点和具体 实现方法,总体描述了系统的设计思想,系统的需求分析和数据流 程、主要功能模块的划分与实现。 全文共8 章,总体内容可以分为三个部分。 第一部分是系统概述,包括了本:史的一二章。其内容包括系统 的开发背景、系统描述、系统的开发环境和运行环境,以及系统中 使用到的关键技术。旅游同行在线系统是基于旅游信息综合平台之 上的网络通讯软件,系统由服务端和客户端两个部分构成,其中分 别采用了不同的开发工具:服务端采用的是v c ,客户端采用的是 v b n e t 。这两部分虽然选择的开发语言不同,但都采用面向对象 的开发语言,都使用面向对象的程序设计方法。系统的开发设计环 境都选择w i n d o w s 平台,其中服务端可以运行在w i n d o w sn t 、 w i n d o w s 2 0 0 0s e r v e r 中,客户端可以运行在w i n d o w s 的系列平台下。 系统中使用到了嵌入式数据库b e r k e l e yd b 和多线程编程技术,其 中多线程编程技术和线程同步技术是通讯软件实现的关键,第二章 对这两个核心技术做了详细的介绍。 第二部分是系统的具体实现部分,包括本文的第三到第七章。 这部分的内容介绍了系统的设计和实现,具体内容包括系统总体设 计、系统接口设计、系统数据结构、系统的运行设计和系统的出错 设计。 第三章详细阐述了系统的总体设计。第一节从系统需求分析开 始,说明了系统应该实现的功能;第二:节讲解系统概念设计和数据 流程:系统由服务端和客户端两个部分构成。其中服务端和客户端 有不同的处理流程。文中给出了服务端和客户端的数据流程图,由 流程图入手,具体分析了服务端和客户端的数据流程;第三节就系 统的网络结构和软件结构做出了阐述,给出了系统的网络结构和软 件结构图,把整个系统按照软件结构体系划分为三个部分:服务端 功能模块、客户端功能模块和二者之间的通讯协议。对这三个部分, 笔者分别做了详细的介绍。第四节内容介绍的是系统的功能模块及 其实现,分为服务端、客户端和两者之间的通讯协议三个部分分别 阐述。其中通讯协议是服务端和客户端的联系枢纽,也是整个系统 设计的核心部分,因此文中对通讯协议做出了完整的描述。笔者从 通讯协议的总体设计思想入手,介绍了协议中每个具体字段的含义, 列示出了每个字段可能的值的内容及其所代表的功能含义;第五节 阐述的是系统程序设计中的主要函数结构和逻辑算法,以及函数间 的调用关系。该部分对系统需实现的几个主要功能所涉及的抽象函 数一一做出分析,列示出了各个功能函数之间的调用流程,将整个 系统功能如何具体实现做了一个展示;第六节列出了程序中通讯协 议组包和解包函数,这些函数用于通讯协议的具体实现,在系统运 行中由需要网络通讯的功能模块调用。第七节阐述的是系统的实现 方法,将系统实现过程中使用到的主要的类做了一个描述,并且详 细列举了这些类的成员属性和方法。 第四章的内容是系统的接口设计。主要包括用户界面设计:用 于实现同用户的接口,捕捉用户的操作并及时同用户交互;硬件接 口:描述了系统需要的硬件网络接口( 包括网卡和可用的i p 地址) ; 内部接口:同数据库的接口、与w w w 服务器的接口、以及服务端 同客户端的接口( 按照通讯协议) 。 第五章的内容是系统的数据结构,包括有服务器端的数据库结 构设计( 服务端采用s q ls e r v e r 数据库,设计的数据表在s q l s e r v e r 中实现) 、客户端的数据库结构设计( 客户端采用嵌入式 数据库b e r k e l e yd b ,所有的数据表以文件的形式存储在客户端) 。 本章列出了系统所涉及的所有数据表的物理设计及表间关系。服务 端的数据表用于存储用户的注册信息,客户端的数据表用于存储用 户发送、接收消息记录等本地信息。 第六章的内容是系统的运行设计,包括服务器端、客户端的运 行模块划分及其组合和系统的运行控制。前者给出了服务端和客户 端的运行时的各个运行模块之间的数据传递方式图,详细说明了服 务端和客户端的运行流程。后者给出了运行时系统各个线程之间的 交互方式,以及各个线程分别实现的功能。 第七章是系统的出错处理部分,说明了系统可能遇到的错误类 型和在出现错误时的处理方法。 第三部分是后记和附录,主要列出了系统的开发完成后的试用 情况和待改进的地方,通过对这些问题的分析,可以认识到系统需 要完善之处,能促使我不断地完善系统。 本文归纳起来具备以下几个特色: 1 、以旅游信息综合平台中的通讯程序模块实现为核心,从系统 的设计思路角度出发,深入介绍了旅游同行在线系统的功能设计和 具体实现过程: 2 、在整篇文章中,笔者加入了大量的图和表格( 主要包括系统 的数据流程图和功能结构图) ,其目的就是希望通过这些图表能更全 面生动的刻画出系统的轮廓,使读者更容易理解本系统; 3 、对于系统中应用到的关键技术,笔者在第二章做了详细的阐 述,把这些技术理论同具体应用相结合,给出了应用中的实例,力 争做到理论联系实际; 4 、旅游同行在线系统的实现,结合了当前旅游行业发展进程中 信息化的热点并且兼顾了旅行社的特殊需求,具有很强的实用性和 前瞻性。 计算机软件系统设计是否成功,取决于最终的使用结果。本系 统在开发完成后于2 0 0 4 年1 0 月投入试运行,相信通过试运行,我 们可以不断发现和总结设计开发过程中的不足,并在系统的后续升 级版本中加以完善。 关键词:旅游同行在线系统服务器客户端 系统设计软件开发 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fe c o n o m y , p e o p l e sl i v i n gs t a n d a r d i m p r o v e sc o n s t a n t l y ;t r a v e l i n gi nt h eh o l i d a y s h a sb e c o m ea ni m p o r t a n t i n d e xt om e a s u r ep e o p l e sl i f e q u a l i t y m o r e a n dm o r ep e r s o n sh a v e c h o s e nt og oo nat o u rt oe n r i c ht h e i rc u l t u r el i f eo nt h ev a c a t i o n ,m a k e t h e i rb o d ya n dm i n dr e l a x e d s ot h ed e m a n d sf o rt r a v e li n f o r m a t i o no f p e o p l eh a v eb e c o m eg r e a t e ra n dg r e a t e r m e a n w h i l e ,t h ed e v e l o p m e n t o ft h e c o m p u t e r n e t w o r kl e tt r a d i t i o n a l t r a v e li n f o r m a t i o ns u r ft h e i n t e r n e tt o o ,l e tp e o p l ec a nq u e r yt h et r a v e li n f o r m a t i o no nt h ei n t e r n e t c o n v e n i e n t l y s i m i l a r l y , t h ew a yt h a t t r a v e l a g e n c yq u e r y t h et r a v e l i n f o r m a t i o nh a st r a n s f e r r e df r o mt r a d i t i o n a lw a y t oi n t e r n e t h o w e v e r , t h ee x i s t i n gc o m p u t e rt r a v e li n f o r m a t i o ns y s t e mh a so n l yj u s to f f e r e d t r a v e li n f o r m a t i o na tp r e s e n t ,b u tc a n tm e e t t h ed e m a n d st h a tf r e q u e n t l y c o n t a c tb e t w e e nt h et r a v e la g e n c i e s d e v e l o po n es y s t e m ,w h i c hn o t o n l y c a no f f e rt r a v e li n f o r m a t i o ni s s u i n gb u ta l s o l e tt r a v e l a g e n c y c o n t a c tt h r o u g hi t ,w i l lp r o v i d eal o to ff a c i l i t i e s t ot r a v e l a g e n c yf o r t h e i rm a n a g e m e n ta n da d m i n i s t r a t i o n i th a se c o n o m i z e dt h eo p e r a t i o n c o s tw h i l ei m p r o v i n go p e r a t i o ne f f i c i e n c yo ft h et r a v e la g e n c y i tw i l l b r i n g t h en e w o p p o r t u n i t yt o t h ed e v e l o p m e n to ft h et r a v e la g e n c y “t r a v e lp a r t n e ro n l i n e s y s t e m i s ac o m m u n i c a t i o n p r o g r a m m o d u l eo ft h ep r o j e c tf t r a v e l i n f o r m a t i o nc o m p r e h e n s i v ep l a t f o r m ) t h a tt h ea u t h o rt o o kp a r ti nd u r i n gt h ep e r i o do fs t u d y i n ga tg r a d u a t e s c h 0 0 1 t h ea u t h o rh a sp a r t i c i p a t e di n t h ed e s i g no ft h i sp r o j e c ta n d f i n i s h e dt h e d e v e l o p m e n t o ft h e c o m m u n i c a t i o nm o d u l e t r a v e l i n f o r m a t i o n c o m p r e h e n s i v e p l a t f o r mi s d e v e l o p e d u n d e rt h e b a c k g r o u n da b o v e a c c o r d i n g t h i s p l a t f o r m ,t r a v e la g e n c i e s c a n r e l e a s et h e i r t r a v e l i n gp r o d u c t s o n t h e c o m p r e h e n s i v ep l a t f o r m o f i n f o r m a t i o n a n dt r a v e lc o n s u m e r sa n dt o u r i s te n t e r p r i s ec a ni n q u i r et h e t r a v e li n f o r m a t i o no ni te a s i l y m e a n w h i l e ,t h et r a v e la g e n c yc a na l s o l o o kf o rp a r t n e r st h r o u g ht r a v e lp a r t n e ro n l i n es y s t e m ,d e v e l o pn e w t r a v e l i n gr o u t e ,a n dg e ti n t o u c hw i t ht h en e w c o o p e r a t i v ep a r t n e r s i n a d d i t i o n ,o t h e rp a r t i c i p a n t so ft h i st r a d em a y c o n n e c te a c ho t h e rt h r o u g h t r a v e lp a r t n e ro n l i n es y s t e m ,i n q u i r et r a v e li n f o r m a t i o n ,a n dd i s c u s s t h et o u r i s m i nt h i s t h e s i s ,t h e a u t h o rs e t so u tf r o mt h ec u r r e n t i n f o r m a t i o n i z a t i o ns i t u a t i o no ft r a v e lt r a d ea n dr e a s o n a n a l y s i s ,a n d t a k e sh o wt os t r u c t u r e “t r a v e li n f o r m a t i o n c o m p r e h e n s i v ep l a t f o r m a sa c e n t r e t h e nt h ea u t h o ri n t r o d u c e sd e v e l o p m e n tb a c k g r o u n d ,m e a n i n g o ft h ep r o j e c te m p h a t i c a l l y , a n dc a r r i e so nf e a s i b i l i t ya n a l y s i s f i r s t ,t h e a u t h o ri n t r o d u c e st h e k e yt e c h n o l o g y u s e di nt h e s y s t e m a n di t s a p p l i c a t i o ni ns y s t e m ,n a m e l ye m b e d d e dd a t a b a s eb e r k e l e yd ba n d m u l t i t h r e a d i n gp r o g r a m m i n gt e c h n o l o g y u s e di nt h es y s t e m s e c o n d , t h ea u t h o r a n a l y s e st h er e a l i z a t i o np r o c e s so f “t r a v e lp a r t n e ro n l i n e s y s t e m ”d e e p l yf r o ms y s t e md e s i g n ,a n di n t r o d u c e st h ec h a r a c t e r i s t i c a n dc o n c r e t ei m p l e m e n t a t i o nm e t h o do ft r a v e lp a r t n e ro n l i n es y s t e m s t e pb ys t e p t h i r d ,t h ea u t h o rd e s c r i b e st h ed e s i g ni d e ao fs y s t e m ,t h e d e m a n da n a l y s i sa n dt h ep r o c e d u r eo ft h ed a t a ,a n dt h er e a l i z i n ga n d f u n c t i o no f p r i m a r y f u n c t i o nm o d u l ea saw h o l e t h ef u l lt h e s i sa m o u n t st o8c h a p t e r s ,a no v e r a l lc o n t e n tc a nb e d i v i d e di n t ot h r e e p a r t s f i r s tp a r t i s s u m m a r yo fs y s t e m t h i sp a r t i n d u c e st h eo v e r a l l s i t u a t i o n o f s y s t e m t h e s e c o n d p a r t i st h e r e a l i z a t i o no fs y s t e m t h i sp a r td e s c r i b e st h ed e s i g na n dr e a l i z a t i o no f t h ew h o l es y s t e m t h el a s tp a r ti n c l u d e st h ep o s t s c r i p ta n da p p e n d i x t h i s p a r tl i s tt h es i t u a t i o no np r o b a t i o no f t h es y s t e ma n dt h ep l a c et ob e i m p r o v e d f r o mt h ec o n t e n t sm e n t i o n e da b o v e ,f o u rc h a r a c t e r i s t i co ft h i s t h e s i sc a nb es u m m e d u p a st h ef o l l o w i n g : 1 t h i st h e s i ss u r r o u n d st h ec o r e ,w h i c hi ss y s t e mr e a l i z a t i o n ,a n d s e t so u tf r o m s y s t e md e s i g n t oi n t r o d u c et h ec o n c r e t e i m p l e m e n t a t i o np r o c e s so f t r a v e lp a r t n e ro n l i n es y s t e m ; 2 i nt h ew h o l et h e s i s ,t h ea u t h o ri n s e r t sa l a r g en u m b e r o f p i c t u r e s a n dc h a r t s , i no r d e rt o p o r t r a yt h e o u t l i n eo fs y s t e mv i v i d l y t h r o u g ht h e m ,a n d m a k et h er e a d e ru n d e r s t a n dt h e s y s t e m e a s i l y 3 t o w a r dt h e k e yt e c h n o l o g y u s e di nt h e s y s t e m ,t h e a u t h o r e x p l a i n si t i n c h a p t e r2 ,c o m b i n e st h e s et e c h n o l o g i c a lt h e o r i e s w i t hc o n c r e t eu s i n g ,p r o v i d et h ei n s t a n c ei na p p l y i n g ,a n dt r i e s t oa c c o m p l i s ht h ec o m b i n a t i o no f t h e o r ya n dp r a c t i c e ; 4 r e a l i z a t i o no ft r a v e lp a r t n e ro n l i n e s y s t e m ,h a v ea c c o r d e d w i t ht h ei n f o r m a t i o n a l i z e df o c u si nt h ed e v e l o p m e n tp r o c e s so f t r a v e lt r a d ea t p r e s e n ta n dg i v e nc o n s i d e r a t i o nt ot h es p e c i a l d e m a n d so ft h et r a v e l a g e n c n a n dh a v e v e r ys t r o n g p r a c t i c a b i l i t ya n dp e r s p e c t i v e t h i ss y s t e mh a sb e e nt r i e di no c t o b e ro f2 0 0 4a f t e r d e v e l o p i n g w ec a nf i n da n ds u m m a r i z et h e d e f i c i e n c y i n d e s i g n a n d d e v e l o p c o n s t a n t l yt h r o u g hu s i n g ;a n di m p r o v et h es y s t e mi n t h e f o l l o w u p e d i t i o n k e yw o r d s :t r a v e l p a r t n e ro n l i n es y s t e m , s y s t e md e s i g n ,s o f t w a r ed e v e l o p m e n t 3 西南财经大学 学位论文原创性及知识产权声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论 文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的 研究做出重要贡献的个人和集体,均已在文中以明确方式标明。因本 学位论文引起的法律结果完全由本人承担。 本学位论文成果归西南财经大学所有。 特此声明 学位论文作者签名:舀 2 0 0 5 年0 4 月2 0 日 、正1 娴 1 1 项目开发背景 第一章引言 随着旅游业的蓬勃发展,旅游信息化建设日益成为旅游行业关 注的热点。然而目前旅游软件的开发不是局限于单个旅游企业的信 息化,就是仅在i n t e r n e t 上建立一个网站给各个旅游企业发布其旅 游产品,而没有开发出既能够让旅游企业发布旅游产品信息,同时 又给他们提供交流空间的计算机软件系统。 根据调查,当前旅游行业中各参与者对旅游信息化的需求有以 下几个特点: 1 旅游服务供应商和旅游消费者对旅游信息的需求非常迫切, 大量的旅游信息除了从传统的媒介( 例如杂志、书籍) 获得外,也 可以从一些综合类网站查询得到; 2 各个旅行社之间交往频繁,当地旅行社如果要开辟异地旅游 路线,必然要和异地旅行社( 地接社) 发生联系,需要异地旅行社 帮助接团和联系旅游路线的相关产品; 3 各旅行社都有上网的条件。据调查,目前几乎所有的旅行社 都配置有计算机,能够上网查询信息,也具备了使用网络通讯软件 的条件。 以上特点就给旅游同行在线系统提出了需求。传统方式下,各 地旅行社之间的联系主要是通过电话和传真的方式进行。在这种方 式下,费用高而效率低;而且旅行社在异地必须有自己特定的合作 伙伴,所有的异地线路只能通过现有的合作伙伴来完成:如果要开 辟新的旅游路线,旅行社查找和联系新的异地的旅游路线提供商则 复杂而难以完成。通过旅游同行在线系统和旅游信息综合平台,各 个旅行社在综合平台中将自己的旅游路线和旅游产品发布出来,不 仅利于旅行社查找或接洽异地同行,而且也便于旅游消费者查找旅 游路线。除此之外,通过旅游同行在线的通讯功能,给旅行社的相 互交流联系提供了可能。旅行社可以通过旅游同行在线系统查找合 作伙伴,开辟新的旅游路线。相比传统的电话联系方式,通过该系 统联系旅游同行,提高了营运效率,节省了营运成本。 1 2 项目意义 搭建一个平台给旅游企业发布自己的旅游产品,使这些旅游信 息可以同消费者或旅游同行共享,这是旅游行业信息化建设的研究 重点。目前能够提供发布旅游信息的网络平台有很多,许多综合网 站或者专用旅游信息网都提供发布旅游信息的功能。但旅行社不仅 有对旅游信息共享的需求,而且还有相互沟通联系,发展合作的需 求。目前,能同时提供共享旅游信息并且给各个旅游企业提供相互 交流的计算机软件系统还没有发现。 当前的通讯软件虽然很多,如腾讯公司的q q ,微软公司的m s n m e s s e n g e r ,阿里巴巴的贸易通等,但是并没有一家公司能够将通讯 软件和旅游信息联系起来,因此研究开发旅游同行在线系统有其现 实意义和市场前景。 旅游同行在线系统以旅游信息综合平台为中心,同时满足了旅 游行业中旅行产品供应商和旅游消费者对旅游信息的需求以及旅行 社相互频繁联系的需要,提高了效率,节约了成本,具有很强的实 用性和前瞻性。 第二章系统概述和系统中采用的关键技术 2 1 系统概述 旅游同行在线系统是在旅游信息综合平台基础上开发出来的通 讯交互软件,它提供的通讯服务不仅适用于旅行社之间,也适用于 旅行社与旅游消费者之间。旅游同行在线系统的设计目的是为旅游 服务供应商、旅游用品供应商和旅游消费者提供b 2 b 、b 2 c 和c 2 c 模式的旅游商务平台;从而建立起以旅游信息综合平台为中心的行 业、企业与消费者之间的互动商务系统。 2 1 。1 开发环境 系统的开发环境为:服务器端采用v c + s q ls e r v e r 2 0 0 0 ;客户 端采用v b n e t + 嵌入式数据库b e r k e l e y d b ; 2 1 2 运行环境 旅游同行在线系统服务器端程序软件支持以下平台:w i n d o w s 2 0 0 0s e r v e r ,w i n d o w s2 0 0 3 ,w i n d o w sn t : 旅游同行在线系统客户端程序软件支持以下平台:w i n d o w s 9 8 9 5 ;w i n d o w s2 0 0 0p r o f e s s i o n a l ;w i n d o w s2 0 0 0s e r v e r ;w i n d o w s 2 0 0 3 ,w i n d o w sx p ,w i n d o w s n t ; 2 2 系统中采用的关键技术 2 2 1 嵌入式数据库b e r k e l e y d b 在系统中的应用 系统在客户端采用了b e r k e l e yd b 数据库,是因为客户端的数 据量并不大,仅仅需要使用的是一个简单的基于磁盘文件的数据库 系统,这样不仅可以避免安装庞大的数据库服务器,而且还可以简化 数据库应用程序的设计。 一b e r k e l e yd b 简介 b e r k e l e yd b 是一个开放源代码的内嵌式数据库管理系统,能够 为应用程序提供高性能的数据管理服务。应用它程序员只需要调用 些简单的a p i 就可以完成对数据的访问和管理。与常用的数据库 管理系统( 如m y s q l 和o r a c l e 等) 有所不同,在b e r k e l e yd b 中 并没有数据库服务器的概念。应用程序不需要事先同数据库服务建 立起网络连接,而是通过内嵌在程序中的b e r k e l e yd b 函数库来完 成对数据的保存、查询、修改和删除等操作。1 b e r k e l e yd b 为许多编程语言提供了实用的a p i 接口,包括c 、 c + + 、j a v a 、p e r l 、p y t h o n 和p h p 等。所有同数据库相关的操作都 由b e r k e l e yd b 函数库负责统一完成。这样无论是系统中的多个进 程,或者是相同进程中的多个线程,都可以在同一时间调用访问数 据库的函数。而底层的数据加锁、事务目志和存储管理等都在 b e r k e l e yd b 函数库中实现。它们对应用程序来讲是完全透明的。 b e r k e l e yd b 函数库本身虽然只有3 0 0 k b 左右,但却能够用来管理 多达2 5 6 t b 的数据,并且在许多方面的性能还能够同商业级的数据 库系统相抗衡。例如对数据的并发操作,b e r k e l e yd b 能够很轻松地 应付几千个用户同时访问同一个数据库的情况。此外,如果想在资 源受限的嵌入式系统上进行数据库管理,b e r k e l e yd b 可能就是惟一 正确的选择了。 b e r k e l e yd b 作为一种嵌入式数据库系统在许多方面有着独特 的优势。首先,由于其应用程序和数据库管理系统运行在相同的进 程空间当中,进行数据操作时可以避免繁琐的进程间通信,因此耗 费在通信上的开销自然也就降低到了极低程度。其次,b e r k e l e y d b 使用简单的函数调用接口来完成所有的数据库操作,而不是在数据 库系统中经常用到的s q l 语言。这样就避免了对结构化查询语言进 行解析和处理所需的开销。 二b e r k e l e yd b 的编程接口 使用b e r k e l e yd b 提供的函数来进行数据库的访问和管理并不 复杂,在大多数场合下只需按照统一的接口标准进行调用就可以完 成最基本的操作。 舞迪1 4肖史峭开源| 陡入数据库b e r k e l e yd b 4 1 、打开数据库 打开数据库通常要分两步进行:首先调用d b c r e a t e 0 函数来创 建d b 结构的一个实例,然后再调用d b 。 o p e n ( ) 函数来完成真正 的打开操作。b e r k e l e yd b 将所有对数据库的操作都封装在名为d b 的结构中。d b c r e a t e ( ) l 函数的作用就是创建个该结构。其原型如 下所示: t y p e d o f s t r u c td bd b ; i n td b _ c r e a t e ( d b ”d b p ,d b e n v + d b e n v ,u _ i n t 3 2 一tf l a g s ) ; 将磁盘上保存的文件作为数据库打开是由d b 一 o p e n 0 函数来 完成的,其原型如下所示: i n t d b 一 o p e n ( d b + d b ,d b t x n + t x n i d ,c o n s t c h a r 4 f i l e ,c o n s t c h a r + d a t a b a s e ,d b t y p e t y p e ,u _ i n t 3 2 一tf l a g s ,i n tm o d e ) ; 2 、添加数据 向b e r k e l e yd b 数据库中添加数据可以通过调用d b 一 p u t ( ) 函数 来完成,其原型如下所示: i n td b 一 p u t ( d b + d b ,d b t x n + t x n i d ,d b t + k e y ,d b t 4 d a t a , u _ i n t 3 2 一tf l a g s ) ; 3 、检索数据 从b e r k e l e yd b 数据库中检索数据可以通过调用d b 一 g e t 0 函数 来完成,其原型如下所示: i n td b 一 g e t ( d b4 d b ,d b t x n4 t x n i d ,d b t + k e y ,d b t4 d a t a ,u _ i n t 3 2 _ t f l a g s ) ; 4 、删除数据 从b e r k e l e yd b 数据库中删除数据可以通过调用d b - d e l o 函数 来完成,其原型如下所示: i n td b 一 d e l ( d b + d b ,d b t x n + t x n i d ,d b t + k e y ,u _ i n t 3 2 一t f l a g s ) ; 删除数据只需给出相应的关键字,不用指明与之对应的数据。 5 、关闭数据库 对于一次完整的数据库操作过程来说,关闭数据库是不可或缺 的一个环节。这是因为b e r k e l e yd b 需要依赖于系统底层的缓冲机 制,也就是说只有在数据库正常关闭的时候,修改后的数据才有可 能全部写到磁盘上,同时它所占用的资源也才能真正被全部释放。 关闭数据库的操作是通过调用d b c l o s e ( ) 函数来完成的。 嵌入式数据库系统b e r k e l e yd b 使用非常简单。它没有数据库 服务器的概念,也不需要复杂的s q l 语句,所有对数据的操作和管 理都可以通过函数调用来完成,非常适合于那些需要对数据进行简 单管理的应用场合,在本系统的客户端使用该嵌入式数据库系统是 非常合理的。 三b e r k e l e yd b 在系统中应用实例 下面这段代码演示了在程序中打开数据库,插入数据,最后关 闭数据库; i n tm a i n ( ) db 4 d b p ; d b t k e y ,d a t a ; i n tr e t ; i f ( ( r e t = d b c r e a t e ( & d b p ,n u l l ,0 ) ) l = 0 ) f p r i n t f ( s t d e r r ,1 d b _ c r e a t e :s i n ”,d b _ s t r e r r o r ( r e t ) ) ; e x i t ( 1 ) ;) i f ( ( r e t = d b p - o p e n ( d b p , n u l l , d a t a b a s e ,n u l k d b b t r e e ,d b c r e a t e ,0 6 6 4 ) ) ! = o ) d b p 一 e r r ( d b p ,r e t ,”s ”,d a t a b a s e ) ; e x i t ( 1 ) ;) m e m s e t ( & k e y ,0 ,s i z e o f ( k e y ) ) ; m e m s e t ( & d a t a ,0 ,s i z e o f ( d a t a ) ) ; k e y d a t a = ”s p o r t ”: k e y s i z e = s i z e o f ( ”s p o r t ”) ; d a t a d a t a = ”f o o t b a l l 。; d a t a s i z e = s i z e o f ( ”f o o t b a l l ”) ; i f ( ( r e t = d b p - p u t ( d b p ,n u l l ,& k e y ,& d a t a ,0 ) ) = = o ) p r i n t f ( ”d b :s :k e ys t o r e d i l ”,( c h a r + ) k e y d a t a ) ; e l s e d b p e r r ( d b p ,r e t ,”d b p u t ”) ; 2 2 2 多线程技术在系统中的应用 系统为网络通讯程序,采用了多线程编程的技术,以下就n e t 中的多线程编程技术及其在本系统中的应用做一个简要的介绍。 一n e t 中的多线程编程简介 传统的v i s u a lb a s i c 开发人员已经建立了同步应用程序,在这 些程序中事务按顺序执行。尽管由于多个事务多多少少地同时运行 使多线程应用程序效率更高,但是使用先前版本的v i s u a lb a s i c 很 难建立这类程序。建立多线程程序是可行的,因为操作系4 统是多任 务的,它有模拟同一时刻运行多个应用程序的能力。尽管多数个人 计算机只有一个处理器,但是现在的操作系统能通过在多个执行代 码片断之间划分处理器时间提供多任务。线程可能是整个应用程序, 但通常是应用程序可以单独运行的个部分。操作系统根据线程的 优先级和离最近运行的时间长短给每一个线程分配处理时间。多线 程对于时间密集型事务( 例如文件输入输出) 应用程序的性能有很 大的提高。2 尽管多线程能提高性能,但是每个线程还是需要用附加的内存 来建立和附加的处理器时间来运行,建立太多的线程可能降低应用 程序的性能。当设计多线程应用程序时,应该比较性能与开销。 n e t 框架组件为开发多线程应用程序,在s y s t e m 。t h r e a d i n g 名 字空间中提供了全面的支持。 二多线程处理的优点3 尽管同步应用程序易于开发,但是它们的性能通常比多线程应 用程序低,因为一个新的事务必须等待前面的事务完成后才能开始。 如果完成某个同步事务的时间比预想的要长,应用程序可能没有响 应。多线程处理可以同时运行多个过程。例如,字处理程序能够在 继续操作文档的同时执行拼写检查事务。因为多线程应用程序把程 序分解为独立的事务,它们能通过下面的途径充分提高性能: 1 多线程技术可以使程序更容易响应,因为在其它工作继续时用户 界面可以保持激活; 2 当前不忙的事务可以把处理器时间让给其它事务; 3 花费大量处理时间的事务可以周期性的把时间让给其它的事务; 4 事务可以在任t g f t , 寸候停止; 2 飞思科投产品中一t l ,精通n e t 核心技术一原理l j 构架2 0 0 2 年8 月第一版 3 尜格斯n e t f r a m e w o r k 编程心想清1 仁人学版祉,2 0 0 2 7 5 可以通过把单独事务的优先级调高或调低来优化性能: 明确建立多线程应用程序的决定依赖于几个因素。多线程最适 合下面的情况: 1 时间密集或处理密集的事务妨碍用户界面; 2 单独的事务必须等待外部资源,例如远程文件或i n t e r n e t 连接; 例如,某个应用程序跟随w e b 页面上的链接并下载符合特定条 件的文件。这种应用程序可以同步一个接一个地下载文件或者使用 多线程在同一时刻下载多个文件。多线程的方法比同步方法的效率 高得多,因为即使某些线程从远程w e b 服务器上接收到的响应很 慢,文件也可以被下载。4 三建立新线程 建立线程的最直接的方法是建立线程类的一个新的实例并且使 用a d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年一级建造师考试试题(综合题)附答案详解
- 2025年宁德市直遴选面试真题附详解附答案
- 2025年二级建造师考试试题一(易错题)附答案详解
- 2025年安全员B证考试试卷(基础题)附答案详解
- 公路造价工程师考试真题案例分析答案解析
- 矛盾化解安全教育课件
- 安全教育第一课课件下载
- 建筑材料工程师国家统一考试试题及答案解析
- 成本管理期中试题及答案4月
- 2025 年大学药事管理(药事管理)试题及答案
- 矿区钻探安全管理制度
- 德云社空降人员管理制度
- 2022浙DT9 民用建筑常用水泵和风机控制电路图
- 2024年江苏公务员考试申论试题(B卷)
- 工艺报警分级管理制度
- 2025+CSCO结直肠癌诊疗指南解读
- 2024锅炉射线检测工艺规程
- 闪婚彩礼合同协议
- 湖北省武汉市2025届高中毕业生四月调研考试英语试卷
- 校医室管理制度
- 管道焊接技术交底
评论
0/150
提交评论