(计算机应用技术专业论文)基于数据共享的船舶智能客户端系统的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于数据共享的船舶智能客户端系统的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于数据共享的船舶智能客户端系统的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于数据共享的船舶智能客户端系统的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于数据共享的船舶智能客户端系统的设计与实现.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

(计算机应用技术专业论文)基于数据共享的船舶智能客户端系统的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文摘要 随着我国各港口的繁荣发展,中交天津航道局公司( 简称天航局) 的工程业 务量迅速增加。公司为了计算项目施工成本,需要对各船舶进行实时数据采集。 施工船舶的上网条件恶劣,很难完成这些工作。智能客户端技术为该问题提供了 解决方案。 本文在公司现有信息管理条件基础上,讨论了船舶智能客户端系统的设计方 案。论文首先分析了船舶系统的备件、物资管理等业务流程,并对船舶智能客户 端系统进行总体设计。该系统架构采用可离线操作的智能客户端形式,在功能方 面分为备件、物资、燃油及机器运转时间管理四个模块。系统在离线操作时把离 线操作的命令保存在微软消息队列中,可以自动与陆地服务器进行数据同步,基 本克服了船舶网络连接不可靠的难题。在网络连接状况较差时,初步设计的客户 端程序之间不能相互通信,数据相关的用户( 即同一船舶上的用户) 之间不能共 享数据。根据数据协同思想,本文对船舶智能客户端系统的结构进行改进。改进 后的船舶智能客户端系统保证船舶内部共享一套数据,并具有原来船舶智能客户 端系统的离线操作、数据自动同步等优点。系统采取了多种方法对本地数据进行 权限及加密控制,避免了本地用户之间、数据更新下载及本地业务操作之间的数 据冲突,最大程度的保持了数据安全。船舶智能客户端系统利用w i n d o w s 服务 程序时刻监视w 曲服务,因此可以尽最大可能地保证数据同步。论文的最后部 分在船舶客户端目前开发基础上,对船舶智能客户端的继续开发与完善提出了设 想。 目前船舶客户端系统已经在若干施工船舶上试验运行,运行效果良好,实用 性强,操作简单方便,解决了船员在恶劣网络条件下无法使用信息系统的难题, 受到船员们的欢迎与好评。 关键词:数据协同智能客户端w e b 服务w i n d o w s 服务微软消息队列 a bs t r a c t a st h ep o r tc o n s t r u c t i o nd e v e l o p sp r o s p e r o u s l y , t i a n j i nd r e g i n gc o m p a n y ( t d c ) b u s i n e s sk e e p so ne x p e n d i n gr a p i d l yt h e s ey e a r s t h ec o m p a n ym u s tc o l l e c tt h e r e a l t i m ed a t ao ft h es h i p si no r d e rt oc a l c u l a t et h ep r o j e c tc o s t t h eb a dn e t w o r k c o n n e c t i o nm a k e si tv e r yh a r dt of i n i s ht h ew o r k t h es m a r tc l i e n tt e c h n o l o g yi sa g o o ds o l u t i o nt ot h ep r o b l e m i nt h i sp a p e r , w ed i s c u s st h ed e s i g no ft h es h i pm a n a g e m e n ts m a r tc l i e n t s y s t e mb a s e do nt h ec o m p a n y se x i s t i n gi n f o r m a t i o nm a n a g e m e n ts y s t e m f i r s t l y , t h e a n a l y s e so ft h es h i pm a n a g e m e n tw o r k f l o w sl i k es t u f f , s p a r ep a r t s ,m a t e r i a l ,i sm a d e b a s e do nt h ec r e w s w o r k i n ge n v i r o n m e n t ,a n da l lo v e r a l ld e s i g no ft h es y s t e m f u n c t i o na n da r c h i t e c t u r ei sp r o m o t e d t h es y s t e mi sd i v i d e di n t os e v e r a lp a r t s ,s u c h a s 。m a t e r i a lm a n a g e m e n t ,s p a r ep a r tm a n a g e m e n t , o i lm a n a g e m e n ta n d m a c h i n e o p e r a t i n gt i m em a n a g e m e n t t h es m a r tc l i e n tc o m m u n i c a t ew i t hd a t a b a s eu s i n gw e b s e r v i c e ,s t o r e st h ed a t aw i t hx m lf i l e s ,p r e s e r v et h eu s e r sc o m m a n dw i t hm s m q ( m i c r o s o f tm e s s a g eq u e u e ) h o w e v e r ,s o m ep r o b l e m sl i k ed a t ac o n f l i c tw i t h i na s h i p ,w a sf o u n di nt h et e s tr u n n i n g ,b e c a u s et h a tt h ep r o g r a m sw o r ks e p a r a t e l y i n s p i r e db yt h ep o p u l a rc o l l a b o r a t i v ed a t as h a r i n gt h o u g h t ,t h es y s t e mw a sr e d e s i g n e d t os h a r eas e to fd a t aw i t h i nt h ew h o l es h i p t h es h i ps m a r tc l i e n ts y s t e mm a x i m a t e s t h eu s eo ft h el i m i t e dw i r e l e s sn e t w o r kr e s o u r c e sa n dt h ee x t e n to fs y n c h r o n i z a t i o n w i t ht h ed a t a b a s es e r v e ri nt i m e t h es y s t e mu s es e v e r a lm e t h o d st om a k es u r et h e d a t as e c u r i t y , i n c l u d i n gd a t al o c k i n ga n de n c r y p t i o n ,t h em a n a g e m e n to fu p d a t ea n d d o w n l o a dp r o c e s s ,t h eu s e r sa u t h o r i t ym a n a g e m e n t t h es y s t e ms y n c h r o n i z ew i t ht h e s e r v e rt h r o u g hw e bs e r v i c ew i t ht h ed a t au p d a t ew i n d o w ss e r v i c ep r o g r a m f i n a l l y , i nt h es u m m a r y , t h es h o r t c o m i n ga n dh o wt om a k em o r ei m p r o v e m e n t si sd i s c u s s e d t h es y s t e mh a sb e e nd e p l o y e do ns e v e r a ls h i p so faf e wc o m p a n y sf i l i a l e s i t w o r k e dw e l l ,e a s yt oo p e r a t e ,s o l v e dt h ep r o b l e mt h a tt h ec r e wc a n n o tu s et h e c o m p a n yi n f o r m a t i o ns y s t e m ,a n dw e l c o m e da n dp r a i s e db yt h ec r e w s k e yw o r d s :d a t ac o l l a b o r a t i v e ,s m a r tc l i e n t ,w e bs e r v i c e ,w i n d o w ss e r v i c e , m s m q 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得叁鲞盘堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:督夕秀 签字日期:讹歹年月2 日 学位论文版权使用授权书 本学位论文作者完全了解苤盗盘堂有关保留、使用学位论文的规定。 特授权苤鲞盘堂可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:字芦夕雷 签字日期:加。7 年么月z 日 导师签名:另匀孑气丧 签字日期:加p 7 年月2 日 第章绪论 1 1 课题研究的背景和意义 第一章绪论 中交天津航道局有限公司是以港口疏浚航道、吹填造陆为主要业务的大型施 工企业。公司拥有一百几十艘各种工程船舶,施工场所为活跃在全国各港口及内 陆河道。随着公司最近几年施工业务的迅速扩展,企业规模也不断迅速扩张,传 统的手工记账方式已不适合船舶上日益繁忙的各种数据管理需要。 在启用本文开发的系统之前,船舶人员将船舶上的物资、备件、燃油消耗等 信息记录在纸质文件中,然后定期派专人将文件报表送往公司项目部进行核算。 公司在多年的经营过程中积累了比较完备的船舶内部管理规范,并且陆地部分已 经实现了基于b s 架构的船舶管理系统。但是由于船舶施工环境下的无线网络条 件较差,在施工船舶上,船员无法使用公司信息管理系统。因此如何使各工作船 舶人员将船舶内部管理系统也实现电子信息化,并与公司信息化系统集成在一起 是本课题研究和解决的主要问题。 施工船舶采用g p r s 上网。因为海上移动通信基站很少,并且施工地点大都 离陆地移动通信基站较远,通信讯号微弱【l 】,无线上网条件较差。施工船舶在作 业过程中在近海地点及离岸较远的地点来往移动。船舶施工过程中位置不断移 动,随着船舶所处地点不同,网络情况也时好时坏。原有b s 架构的信息系统在 这种很不稳定的网络备件下无法使用。如何保证开发出来的系统在低带宽,高延 迟并且连接情况不可靠的网络条件下顺利工作,成为本课题的主要工作。 1 2 课题的提出和解决方案 本课题基于以下应用场景:天航局下属各子公司设有备件管理、物资管理等 部门。各部门的管理流程基本相似,以物资管理部门为例介绍下船舶管理流程: 陆地上的物资管理部门向其下辖的各船舶供应物资。物资运抵船舶后,物资主管 对这批物资进行清点确认,并将物资存放在位于船舶不同位置的物资箱内,并填 写物资认领数据表。船舶上的备件箱由若干船员进行管理,船舶根据物资箱内物 资消耗情况填写消耗数据表。 在项目开始的设计过程中,由于不了解施工船舶实地作业环境下的网络环 境,船舶管理信息系统采用了b s 架构。但是海上极不稳定的无线网络下该信息 第一章绪论 系统基本无法使用,因此只能采用可以离线操作的智能客户端架构。使用智能客 户端系统可在平常操作中采用离线模式填写数据,等网络可用时再与陆地服务器 进行数据同步。 在船舶智能客户端系统的开发过程中,初步采用了传统的智能客户端结构。 在系统的试验运行时发现这种架构可以实现离线操作,但是在离线模式下客户端 程序之间无法进行信息交互。船舶内部各客户端程序之间可能会出现数据冲突, 既影响了工作效率,又造成一些不必要的麻烦。受协同数据共享概念启发,本文 对船舶智能客户端系统重新进行设计改造,使整条船舶内部在离线模式下也可共 享一套业务数据,基本解决了船舶内部数据冲突问题,提高了船舶全体人员的工 作效率和网络资源的利用率。 1 3 本文的工作及内容组织 通过船舶管理系统的需求分析,本文介绍了船舶智能客户端的开发及完善过 程中的设计策略、总体框架设计以及各程序模块设计与实现。 论文的组织结构如下: 第一章绪论,介绍了本课题的研究背景和意义、课题的提出与解决方案的 介绍;第二章相关技术,介绍了系统开发过程中采用的一些关键技术,如智能 客户端、w e b 服务、m s m q 、数据协同、w i n d o w s 服务等; 第三章需求分析及总体设计,从船舶管理内容和作业环境等方面入手,对 船舶智能客户端系统的体系结构、功能模块初步作了总体设计; , 第四章基于数据共享智能客户端设计与实现,首先对介绍了数据库、w e b 服务及智能客户端程序的设计与实现,着重介绍了典型模块的设计与功能实现, 并对w e b 服务检测、数据冲突、数据安全、自动更新等开发细节进行了说明; 第五章先分析了船舶智能客户端系统在实际使用中出现的问题原因。受数 据协同思想启发,本文并提出的新的架构设计,接着对智能客户端程序和w e b 服务的改进设计详细说明,同时介绍了涉及的一些实现技术 第六章总结与展望,在总结全文的基础上,对系统的进一步优化提出设想, 并针对船舶智能客户端今后的应用和发展方向进行了展望。 2 第二章相关技术 2 1 智能客户端 2 1 1 智能客户端概述 第二章相关技术 智能客户端是易于部署和管理的客户端应用程序,它们通过统筹使用本地资 源和到分布式数据资源的智能连接,提供适应的、快速响应的和丰富的交互式体 验。 智能客户端是对瘦客户端( b s 模式) 和胖客户端( c s 模式) 的综合继承和提 升,具有瘦客户端( b s 模式) 的灵活性,又具有胖客户端( c s 模式) 的功能性。是 下一代的客户端软件技术2 1 。 图2 - 1 智能客户端与b s 、c s 模式的比较 智能客户端是在c s 和b s 模式的基础上发展而来,但它并不是c s 和b s 模式 的简单混合结构,并具有自己的独特优势。其主要特点如下【3 】: 可以使用本地资源:应用程序可适用于各种智能设备。客户端可以很方 便的使用本地数据文件,a p i 接口等本地资源。为用户提供功能强大的服务。 连接操作:可以很方便的连接并使用各种网络资源,利用w 曲服务技术 使智能客户端能够利用行业标准协议( 例如,x m l 、h t t p 和s o a p ) 来与任 何类型的远程系统交换信息【4 】。 离线操作:当网络不可用时,智能客户端可以方便访问本地各种数据资 第二章相关技术 源,因此程序界面可以快速的响应用户操作。当网络连接可用时,对本地数据与 网络数据进行同步f 5 】。 智能部署更新:智能客户端的部署形式灵活多样。可以利用n e t 平台提 供的c l i c k o n c e 等技术方便的布置发布智能客户端程序。另外n e t 框架支持对 应用程序组件进行强命名,可以方便的进行软件版本控制,智能客户端可以根据 版本信息进行自我更新。 2 1 2 部署方式 相对于传统c s 模式,智能客户端具有部署方式优势。这使用户很方便的进 行客户端版本的管理和维护。智能客户端可采用以下几种部署方式【6 】: “c l i c k o n c e ”部署方式川:使用该技术可创建自行更新的w i n d o w s 应用 程序,安装和运行过程中只需最低程度的用户交互。c l i c k o n c e 应用程序发布方 式有三种:网页发布、网络文件共享发布或是媒体安装文件发布。 无接触部署:使用该方法时,将文件复制到w e b 服务器,然后当用户 单击相应的链接时,n e tf r a m e w o r k 会自动将应用程序及其从属程序集下载到 客户端。 从文件共享运行代码:使用该方法时,将文件复制到文件共享,然后从 该共享中运行应用程序。 x c o p y :使用该方法时,将文件直接复制到客户端。n e tf r a m e w o r k 允 许应用程序及其所有从属程序集位于单个目录结构中,因此无须在客户端上注册 任何组件。 w i n d o w s 安装程序软件包。使用该方法时,将应用程序的文件打包到 w i n d o w s 安装程序软件包中,然后将该软件包安装到客户端上。 2 1 3 程序更新方式 不同的部署方式,相应具有不同的更新方式【8 】: 无接触部署更新 客户端自动下载在w e b 服务器发布的更新程序集。若已经利用该方法部署 了一部分应用程序集,则只要在w e b 服务器上发布这程序集的更新文件即可。 在应用程序加载程序集之前,n e tf r a m e w o r k 对本地和w e b 服务器上发布的程 序集进行比对。比对内容为两个程序集的时间戳,然后确定是否需要对该程序集 进行更新; 自动更新 应用程序自身可以检查版本更新情况,并可以自行下载并安装更新。应用程 4 第二章相关技术 序本身内部实现了更新功能。程序设计者负责将更新文件发布到服务器,供客户 端检查及下载; 文件共享获取更新 被更新的程序集文件存放到网络共享中。应用程序每次启动时,客户端将这 些程序集下载到本地。与无接触部署类似,需将更新的程序集利用文件进行共享 发布,然后,更新后的客户端程序在下次运行; x c o p y 更新 程序更新时,新的数据文件直接被直接复制到客户端,旧的程序文件直接被 覆盖替换。这种更新应用程序的更新方法大多数情况简单有效,但不适于更新具 有强名称的程序集; w i n d o w s 安装程序软件包部署更新 将更新程序打包成安装文件,然后进行重新安装。或者打包成修补程序对客 户端程序进行更新。w i n d o w s 安装程序为n e tf r a m e w o r k 应用程序提供了全面 解决方案,并且为应用程序更新专门设计了几项功能。w i n d o w s 安装程序软件包 内置支持版本控制。通过对应用程序进行版本控制,利用w i n d o w s 安装程序软 件包可确保更新操作正常进行,并且可以配置是否要删除旧版本应用程序等程序 更新操作的细节。 2 2w e b 服务 2 2 1w - e b 服务概述 w 曲服务是使应用程序可以用与平台无关和与编程语言无关的方式进行相 互通信的一项技术。w 曲服务是一个软件接口,它描述了一组操作,可以在网络 上通过标准化的x m l 消息传递来访问这组操作。它使用基于x m l 语言的协议 来描述要执行的操作或者要与另一个w 曲服务交换的数据。一组用这种方式相互 作用的w 曲服务在面向服务的体系结构s o a ( s e r v i c e o r i e n t e da r c h i t e c t u r e ) 中 定义了特殊的w 曲服务应用程序 9 1 。 2 2 2w 曲服务的技术特点 w e b 服务出现之前,在大多数系统上采用固定接口。这种方式对于环境或需 要的改变时缺乏灵活性或适用性。 跨多个操作系统、编程语言和硬件平台集成软件应用程序不可能由任何一个 专门的环境来解决。w 曲服务所使用的x m l 可以用真正与平台无关的方式来描述 所有数据,以跨系统交换数据,转变成为松耦合应用程序。而且,w e b h 艮务可以 第二章相关技术 在较抽象的层面上工作,较抽象层面可以按照需要动态地重新评估、修改或处理 数据类型。所以,从技术层面上讲,w e b 服务可以更方便地处理数据,允许软件 更自由地进行通斜1 0 1 。 应用程序 应用程序 应用程序 图2 - 2 w e b 服务示意图 对于调用者来说,可以将w e b 服务视为工作单元,每个单元完成特定的功 能任务。用户可以只需考虑应用程序如何使用这些单元提供的服务来处理业务问 题。一旦设计并构建好w e b 服务之后,开发者只需将注意力放在业务层面上【1 1 1 。 w e b 服务可以有助于在组织内的用户和技术人员之间架起一座桥梁。 w e b 服务具有通用定义的接口,这使重用这些任务变得更容易,从而使重用 这些任务所代表的应用程序也变得容易。应用程序软件的重用性意味着软件开发 更大的效率,可以从同一资源产生更多收益【l 引。 因此,w 曲服务可以解决数据和应用程序集成的问题,将技术性问题与业务 问题分开,更方便的利用分布资源,提高开发效率。 2 3 数据协同 2 3 1 数据协同思想 协同,是指在两个或者两个以上的不同资源或者个体进行协调,使之协同一 致地完成某一目标。协同是一个比较宽泛的概念,不仅包括人与人之间的协作, 也包括不同应用系统之间、不同数据资源之间、不同终端设备之间、不同应用情 景之间、人与机器之间、科技与传统之间等全方位的协同。协同的本质就是衔接 各类应用系统,完成一般性的客户事务处理的应用系统 1 3 】。 协同数据共享就是系统中多人多组织共享一组数据,相互配合完成管理事务 6 第二章相关技术 操作。通过互相配合,避免数据重复操作、数据冲突来保证数据一致性完整性, 快速整合内外信息资源,使企业和政府部门获得互动、整体的效益,提高工作 效率、降低工作成本1 4 1 。 2 3 2 数据协同技术的技术特点 数据协同技术的优点主要有以下几点【1 5 】: 协作性: 企业局域网内部处于不同地点的各类用户只要可以连接到网络并具备相应 的授权,就可以安全的使用协同办公平台。 知识性: 办公平台应该强调知识管理的特点,系统内所有整合的信息资源都可以被需 要的用户在严格的权限控制下共享和利用。 定制性: 定制性是对不同性质的用户类别进行权限定制,以及针对不同的流程和不断 变化的业务,表单、功能和流程的进行定制。 并发性: 不同用户可并行操作不同的数据文件,同时进行不同数据操作。这不仅可提 高团队工作效率:还可模拟业务操作流程,协调用户之间的操作操作流程 2 3 3 数据协同技术的应用 过去几年中,协同概念让上世纪9 0 年代逐渐被边缘化的o a 重新焕发了青 春。时至今日,协同概念已经融入到包括c r m 、e r p 、s c m 等多品类信息化应 用中,协同软件在现代企业的信息化之路上已然成为不可或缺的一部分。 基于协同概念,近几年已经发展出了协同软件,协同办公等解决方案。 协同软件( c o l l a b o r a t i o ns o f t w a r e ) 是指那些以团队协作为目标的协作软件工 具,主要包括群组协作管理,如:工作流管理、项目管理等等;各种通信软件, 如e m a i l 、即时通信、v o i p 等。网络、通信技术的发展和用户全球化等新需求 的提出,协同软件概念也赋予了新的含义,结合了i n t c r n e t 、工作流、即时通讯 和s o a 等多种技术和手段。协同办公、协同政务、协同商务等协同应用,以及 工作流管理、项目管理、知识管理、信息门户等协同平台,电子邮件、即时通讯、 远程视频、流程编辑器等协同工具,组成了现在意义上的协同软件【1 6 1 。 协同办公系统1 1 7 】实现了企业内部信息共享与沟通。企业邮件、资源文档、 内部文件、通用表格、分级管理、有效控制、精确掌控。以短信留言为核心使得 包括企业资源在内的所有业务对象在员工之间精确传送,实现了企业信息协同、 7 第_ 二章相关技术 业务协同和资源协同。 2 4m s m q 技术 2 4 1m s m q 概述 m s m q ( m i c r o s o f lm e s s a g eq u e u e ,微软消息队列) 是w i n d o w s 操作系统中消 息应用程序的基础,是用于创建分布式、松散的消息通讯应用程序的开发工具 引。m s m q 技术可以使在不同时间运行的应用程序能够跨异类网络进行通信, 并且与可能临时脱机的系统进行通信。m s m q 提供有保证消息传递、有效的路 由、安全性和基于优先级的消息传递 i9 】。 它的实现原理是:消息的发送者把自己想要发送的信息放入一个容器( 消息) 中,然后把它保存至一个系统公用空间的消息队列中;本地或者是异地的消息接 收程序再从该队列中取出发给它的消息进行处理。 2 4 2m s m q 的技术特点 采用m s m q 带来的好处是:由于是异步通信,无论是发送方还是接收方都 不用等待对方返回成功消息,就可以执行余下的代码,因而大大地提高了事物处 理的能力;当信息传送过程中,信息发送机制具有一定功能的故障恢复能力; m s m q 的消息传递机制使得消息通信的双方具有不同的物理平台成为可能。 消息队列是发送和接收消息的公用存储空间,它可以存在于内存中或者是物 理文件中。消息有快速方式( e x p r e s s ) 和可恢复模式( r e c o v e r a b l e ) 。快递方式把消 息放置于内存中,而不放于物理磁盘上,以获取较高的处理能力;可恢复模式在 传送过程的每一步骤中,都把消息写入物理磁盘中,以得到较好的故障恢复能力。 消息队列可以放置在发送方、接收方所在的机器上,也可以单独放置在另外一台 机器上。正是由于消息队列在放置方式上的灵活性,形成了消息传送机制的可靠 性。当保存消息队列的机器发生故障而重新启动以后,以可恢复模式发送的消息 可以恢复到故障发生之前的状态。 2 4 3 n e t 对m s m q 的支持与应用 w i n d o w sx p 默认没有安装m s m q 。w i n d o w sv i s t a 系统默认安装了m s m q , 各版本的m s m q 具有向下兼容性,因此针对w i n d o w sx p 系统开发的基于m s m q 程序可以运行在比w i n d o w sx p 更高的操作系统中,如w i n d o w sv i s t a 。 在微软的n e t 平台上利用其提供的m s m q 功能,可以轻松创建或者删除消 息队列、发送或者接收消息、甚至于对消息队列进行管理。 8 第章相关技术 n e t 平台对m s m q 应用程序开发提供了良好的支持,将操作m s m q 的方 法封闭于s y s t e m m e s s a g i n g 空间中。此命名空间可通过引用一个m s m q 类库 ”s y s t e m m e s s a g i n g d l l ”加入。它提供了两个类分别对消息对象和消息队列对象进 行操作。在能够使用m s m q 功能之前,必须确定机器上安装了m s m q 消息队 列组件,并确保服务已被开启。 2 5w i n d o w s 服务 2 5 1w i n d o w s 服务简介 w i n d o w s 服务是独立于登录用户而工作的w i n d o w s 应用程序,它通常在计 算机启动时开始执行,且常常连续执行,直到计算机关闭为止。像e x c h a n g e s e r v e r ,i i s 和杀毒软件等都使用这种方式,这样就可以独立于某一用户而且可以 在任何用户登录前来运行,同时也可以服务于所有的进程,从而以一种服务的形 式存在。 2 5 2w i n d o w s 服务的技术特点 w i n d o w s 服务程序通常是一种在o s 的后台长期运行的程序,根据需要你可 以设置为随服务器启动而同时启动、手动启动等,在传统的c s 结构的程序开发 中,w m d o w s 服务一般以各种形式的服务端存在【2 0 1 。 w i n d o w s 服务的运行可以在没有用户干预的情况下,在后台运行,没有任何 界面。通过w i n d o w s 服务管理器进行管理。服务管理器也只能做些简单的操作: 开始,暂停,继续,停止。 2 5 3w i n d o w s 服务在n e t 平台下的应用 n e t 框架下与w i n d o w s 服务相关的命名空间和其中的类库。n e t 框架大大 地简化了w i n d o w s 服务程序的创建和控制过程。和w i n d o w s 服务程序相关的命 名空间涉及到以下两个:s y s t e m s e r v i c e p r o c e s s 和s y s t e m d i a g n o s t i c s t 2 1 1 。 要创建一个最基本的w i n d o w s 服务程序,只需要运用n e t 框架下的 s y s t e m s e r v i c e p r o c e s s 命名空间以及其中的四个类:s e r v i c e b a s e 、s e r v i c e l n s t a l l e r 、 s e r v i c e p r o c e s s l n s t a l l e r 以及s e r v i c e c o n t r o l l e r 。 s e r v i c e b a s e 类定义了一些可被其子类重载的函数,通过这些重载的函数, 服务控制管理器就可以控制该w i n d o w s 服务程序了。这些函数包括:o n s t a r t ( ) 、 o n s t o p ( ) 、o n p a u s c ( ) 以及o n c o n t i n u e ( ) 等。通过重载以上的一些函数, 就完成了一个w i n d o w s 服务程序的基本框架。 9 第二章相关技术 s e r v i c e b a s e 类还提供了任何w i d n o w s 服务程序所必须的一些属性。其中的 s e r v i c e n a m e 属性指定了w i n d o w s 服务的名称,通过该名称系统就可以调用 w i n d o w s 服务了,同时其它应用程序也可以通过该名称来调用它的服务。而 c a n p a u s e a n d c o n t i n u e 和c a n s t o p 属性是允许暂停并恢复和允许停止的意思。 2 6 数据访问 2 6 1a d o n e t a d o n e t 是组向n e t 程序员公开数据访问服务的类。a d o n e t 为创 建分布式数据共享应用程序提供了一组丰富的组件。它提供了对关系数据、x m l 和应用程序数据的访问。a d o n e t 支持多种开发需求,包括创建由应用程序、 工具、语言或i n t e r n e t 浏览器使用的前端数据库客户端和中间层业务对象2 2 1 。 a d o n e t 主要包括以下的对象: c o n n e c t i o n :与特定数据源建立连接; c o m m a n d :对数据源执行命令; d a t a r e a d e r :从数据源中读取数据; d a t a a d a p t e r :用于填充d a t a s e t 和更新数据源。 2 6 2 数据访问组件 s q l h e l p e l 类提供了通用的访问数据库的方法,使用s q l h e l p e r 调用存储过程 或者执行s q l 命令时,不必指定全部的存储过程参数和类型,而是将其包含在 方法中,因此可以更方便的调用存储过程。 s q l h e l p e r 主要方法如下: e x e c u t e n o n q u e r y :执行无返回值的s q l 语句或存储过程; e x e c u t e s c a l a r :执行有返回值的s q l 语句或存储过程; e x e c u t e r e a d e r :执行有返回批量数据的s q l 语句或存储过程; e x e c u t e d a t a s e t :返回d a m s e t 对象的s q l 语句或存储过程; 2 6 3 存储过程 存储过程是一组存放在数据库中的s q l 代码。存储过程是一种独立的数据 库对象,可被应用程序调用: 提高复用性 存储过程可被程序多次调用,减少程序代码量,也避免了代码拼写错误, 提高了代码安全性; 1 0 第二章相关技术 执行速度更快 创建存储过程时经过了语法检查和性能优化,存储过程被调用一次后, 将驻留在内存中,避免了再次经过编译和优化,所以可以更快的执行。因此 使用存储过程可以极大地提高运行效率; 减少数据传输量 数据库操作过程,发送给数据库的多条s q l 字符串的功能被一条存储过 程替代,因此数据传输量减少很多; 安全性更高 将s q l 语句直接编写在代码中,降低了程序安全性,使非法用户可能利 用s q l 语言攻击数据库服务器。通过可以设置存储过程可对某些关键数据 设置,可避免这些安全问题。 第三章需求分析与总体设计 3 1 需求分析 3 1 1 客户现状 第三章需求分析与总体设计 随着港口迅速发展,天航局业务量也在迅速增长。各分公司的施工船只数量, 以及各船舶上需要记录的日常操作种类及数据量也随着大量增加。原有的手工记 账管理方式已不适应目前日益繁忙的业务需求。 在启用本系统之前,公司开发出了基于b s 架构的船舶管理系统,已经包括 备件管理,物资管理,燃油管理,机器运转时间管理等船舶数据操作功能。陆地 上各部门人员可以使用b s 架构的船舶管理系统,查询各船舶的物资、备件、燃 油认领及消耗等数据表。通过查询各船舶的这些操作历史数据,陆地人员可配合 船舶人员进行施工数据管理,例如向各船舶提供并填写物资、备件、燃油等供应 数据表。但是由于船舶施工作业地点主要是各港口航道及离海岸几十千米外的海 面,为节省成本,公司采用g p r s 上网方式。但g p r s 上网的稳定状况受航行位 置,船舶朝向等因素影响,网络连接状况无法保证,因此无法使用采用b s 架构 开发的信息系统。 公司为每条船舶配备了若干台电脑,并组成有线局域网,通过设在驾驶舱内 的无线路由采用g p r s 上网。 3 1 2 船舶工作人员及职责介绍 近几年来,公司总部比较注重公司管理的规范化。各分公司的作业船舶也大 都遵守了公司总部的人员管理规范。虽然仍然存在有少数比较旧的船舶仍然使用 过去的管理方法,但随着旧的船舶的退役和公司规范管理的普及,公司的规范化 管理会逐步普及。 公司大部分船舶的作业人员按作业工作职责分为甲板、机舱两部门。船舶工 作人员结构如图3 1 所示: 1 2 第三章需求分析与总体设训 图3 - 1 工程作业船舶人员构成 甲板部门负责操作工程船舶完成项目作业,机舱部门维护船舶自身运行正常 运行,为甲板部门的工程作业提供后勤支持。备件主要消耗在施工作业中,甲板 部门负责管理管理备件。物资、燃油等材料主要消耗在船舶的自身运行过程中, 由机舱部门负责管理维护。机舱部门还负责记录本船各类机器的运转时间及其它 信息,为船舶的检修维护等提供参考信息。 甲板部门包括一名船长,一名大副,若干名- - 虿, j 。船长或大副是该船舶备件 系统的主管负责人,负责向公司备件主管申请备件、认领备件、把备件分配给部 门内部其他人员。 机舱部门包括一名轮机长,一名大管轮,若干名二管轮。轮机长或大管轮是 备件部门的负责人,负责向该船舶物资、燃油及机器运转系统的主管,他们具有 管理维护物资箱、物资的认领与消耗管理、燃油消耗记录和机器运转时间管理的 权力,二管轮只负责记录船舶备件消耗情况。、 3 1 3 工作流程介绍 因为本系统面向船舶人员,其主要业务为维护船舶物资备件等材料的维护及 船舶运行状况的记录。 按船舶系统操作对象的类别将船舶管理系统操作划分为备件管理、物资管 理、燃油消耗管理及机器运转时间管理四个模块。模块之间的业务操作之间独立, 没有任何关系,分别由甲板或机舱部门负责管理。 除一些操作细节差别外,备件与物资管理的操作流程基本相同。下面以物资 部门为例说明数据操作流程,如图3 2 所示: 第三章需求分析与总体设计 是 图3 - 2 物资管理及物资管理操作流程 公司项目部的物资主管负责根据工程作业大致需要向船舶供应物资,填写物 资供应表。物资运达作业船舶后,由该船舶的机舱部门负责人对运来的供应物资 进行认领确认,填写物资认领表,将物资初步认领到船舶甲板物资箱内。负责人 根据本船舶实际消耗情况填写认领备注,反映给公司物资主管。分箱后负责人可 根据本部门船员的要求将分箱后的数据进行再次调配。 备件管理系统与物资管理系统中,用户可以对自己管辖的备件箱信息( 比如 名称、船舶上的位置等) 进行维护。备件管理系统和物资管理系统中的主管( 船 长、大副、轮机长、大管轮) 可进行备件箱物资箱的创建、撤销、更改所有者 等操作。同一条船舶上的船员可在彼此的备件箱之间进行调拨。 燃油模块认领时没有分箱处理操作:供应燃油到达船舶后,物资行核实并填 写认领记录表。然后在以后的船舶运行中,根据每天燃油的消耗情况,填写消耗 数据及情况说明。相关主管将根据船舶各个机器每天的运转情况,填写船舶各柴 油机每天的运转时间及其它详细信息。 机器运转时间管理部分负责记录船舶上机器运转每天的情况。机舱部门人员 在每天填写前一天的机器运转时间及情况说明。公司人员及本船机舱人员可查询 1 4 第三章需求分析与总体设计 过去每天的机器运转数据,作为机器维护的参考数据。 3 2 总体设计 3 2 1 系统设计目标 根据中交天津航道局有限公司及海上作业船舶工作人员的要求,建立一个能 在恶劣的网络下工作,仍然可以使船舶人员进行正常的船舶数据管理操作。船舶 管理系统的具体设计目标如下: 无论网络条件如何,该系统都可使用,进行各项数据录入操作。 由于同一条船舶人员共享一套备件物资数据,船员之间操作不能出现冲 突,船舶各部门内部各用户的数据要保持一致。 尽量保证本地数据与陆地服务器数据的同步一致。 船舶各部门( 甲板和机舱) 的主管,可以管理相应的备件箱物资箱( 增 加、修改、删除备件箱物资箱,为用户分配备件箱物资箱等) 。 可为用户分配不同的操作权限,根据部门及职责完成不同的操作,不能 让用户获取并操作与自己无关的数据。 可管理对程序的运行细节根据实际情况进行配置,如:数据更新频率, 数据更新内容等。 操作具有异常记录功能,船舶人员可查看每次数据操作的结果。 程序可进行自动更新,为方便部署,程序必须尽可能的精简。 3 2 2 系统功能模块设计 根据本船舶管理系统的各部分业务功能,可以将整个系统的设计分为机器运 转时间管理、备件管理、物资管理、燃油消耗管理及系统管理五个模块。模块结 构设计如图3 3 所示。 第三章需求分析与总体设计 图3 3 船舶智能客户端功能设计图 3 2 3 智能客户端部署设计 船舶管理系统的通信结构如图3 - 4 所示: 1 6 第三章需求分析与总体设计 船舶客户端 一一一。 w e b = 1 訇 客户端升级服务器 器 图3 4 系统通信结构图 系统采用w e b 服务为智能客户端程序提供数据服务,本地业务缓存数据存 储在x m l 文件中。智能客户端通过g p r s 无线网络访问公司设在陆地上的w e b 服务。通过访问w e b 服务操作数据库不能直接访问数据库服务器。 3 3 开发及运行环境 本系统采用c 样作为系统的开发语言,m i c r o s o f tv i s u a ls t u d i o2 0 0 5 作为集成 开发环境,系统运行环境见表3 1 所示: 表3 1 开发及部署平台介绍 角色位置 平台数量所需条件 数据库服务器公司信息中心 w i n d o w ss e r v e r2 0 0 3 ,m s l无 s o ls e r v e r2 0 0 0 w e b 服务服务器公司信息中心w i n d o w ss e r v e r2 0 0 3 ,i i sl无 程序升级服务器公司信息中心w i n d o w ss e r v e r2 0 0 3 ,i i s 1 无 船舶智能客户端工程船舶w i n d o w s ,s t a 多台 n e tf r a m e w o r k2 0 、 w i n d o w si n s t a l l e r3 1 1 7 第阴奄船舶智能客户端系统的设计与实现 第四章船舶智能客户端系统的设计与实现 4 1 船舶智能客户端的初步设计 由于项目时间紧迫,本文客户端系统进行设计。初步开发出来的智能客户端 可离线操作,具有船舶管理的主要功能。 4 1 1 船舶智能客户端系统的三层架构 随着软件工程的发展、规范化以及面向对象编程思想的应用,系统对封装、 复用、扩展、移置等方面的要求使得双层架构显然更加臃肿繁琐。因此提出了三 层程序架构体,它是面向对象思想发展中的必然产物。现在的j 2 e e 或m i c r o s o f t 的n e t 平台都遵从这一思想。 系统采用的三层结构,分别为表现层、逻辑层及数据层2 3 1 。逻辑层又具体 划分为业务逻辑层和数据访问层,有效地利用了这种分而治之、分工协作的思想。 具体的调用关系是:表现层调用业务逻辑层,业务逻辑层包含实体类和方法类两 部分,业务实体类操作业务实体,业务实体类调用数据访问层的方法,由数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论