硕士学位论文基于java的移动自助服务系统终端设计与实现_第1页
硕士学位论文基于java的移动自助服务系统终端设计与实现_第2页
硕士学位论文基于java的移动自助服务系统终端设计与实现_第3页
硕士学位论文基于java的移动自助服务系统终端设计与实现_第4页
硕士学位论文基于java的移动自助服务系统终端设计与实现_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

1、中南大学硕士学位论文基于Java的移动自助服务系统终端设计与实现姓名: 申请学位级别:硕士专业:计算机应用技术指导教师: 20060501摘要移动自助服务系统作为一种新型的服务方式,其出现能帮助移动 运营商解决用户群体日益增大与传统营业厅、代办点服务能力不足之 间的矛盾。本文针对如何建设适合国内移动通信服务行业发展所需的 自助服务系统进行探讨,设计了一种Bs和cs混合架构的系统,并 用Java技术实现其设计功能。首先,本文分析了自助服务系统在移动通信行业应用的现状,从 系统建设目标、实现功能、系统特点等方面提出系统需求分析,并研 究了实现自助服务系统的相关技术。其次,本文以需求分析为基础确 定

2、系统设计原则,并以此为指导,给出了移动自助服务系统的总体设 计方案。从系统的网络、层次等不同角度对系统总体框架进行描述; 给出系统软件结构,说明了系统通信方式及通信协议。其三,依据系 统总体设计要求,给出自助服务终端软硬件详细设计与实现方案。对 终端硬件结构及设备选型进行了描述;阐述终端软件详细设计与各功 能模块实现方式,并给出程序控制流程、关键代码及结果。最后,完 成了移动自助服务系统的软件测试,给出部分系统测试用例,并总结 测试结果;测试结果表明,系统能满足客户需求,达到预期设计要求。 系统已经在南昌移动投入试运行,运行状况良好,取得了一定的 经济效益和社会效益,对于自助服务系统在其他行业

3、的推广具有借鉴意义。关键词Java,自助服务系统,自助终端AbstractSelf-service system,as a new type service mode,can help mobile companies to solve problems that traditional service mode for example supporting customers by business hall or agent,Can not meet customers demand for getting good serviceThis thesis discusses a way t

4、o design and realize self-service system suitable for development of China mobile companiesAt same time,the mixed BS and CS models iS broughtforward and system iS realized on Javabased technologyFirstly,this thesis analyzes application situation of self-service system in China mobile communication i

5、ndustryUserS requirements are proposed from realization targets,function and feature of system andrelative technology are studiedSecondly,overall design scheme of theMobile Self-service system iS given for userS requirements System frame iS described from network structure109ic layer and function Si

6、multaneously preliminary design of software is given,then communication mode and protoc01 are explainedThirdly,in accordaneewith overall designscheme,hardware and software modules ofself-service terminal are given in detailFramework of terminal hardware and equipments type are describedThen design a

7、nd realization of terminal software are expounded;at last some software flowcharts,code and debugging results are presentedFinally software test of Mobile Self-service system iS finishedSome test instances are given and test results are concludedThe ultimate test result shows that the system cansari

8、sfy userS needand anticipant requirement iS achievedThe system has been tested on NanChang mobile company and run well up to now,which obtains good economic and social profit and iS useful to spread of self-service system in the other application domainsKEY WORDS Java,self-service system,self-servic

9、e terminalII原创性声明本人声明,所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。尽我所知,除了论文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得中南大学或其他单位的学 位或证书而使用过的材料。与我共同工作的同志对本研究所作的贡献均己在论文 中作了明确的说明。作者签名:鳖日期:z竺兰年查月一22日关于学位论文使用授权说明本人了解中南大学有关保留、使用学位论文的规定,即:学校有权保留学位 论文,允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内容, 可以采用复印、缩印或其它手段保存学位论文:学校可根据国家或湖南

10、省有关部 门规定送交学位论文。作者签名:鳖导师签名:煎日期:哇!鱼年月z羔目硕士学位论文 第一章绪论第一章绪论11引言随着市场的发展和电信企业的改革与重组,国内通信服务市场多元化、多层 次的竞争格局正逐步形成。电信服务运营商的市场竞争除了保证提供优质、多类 型的通信业务外,能否为顾客提供准确、快捷的客户服务也是一个重要的竞争方 面。目前,中国移动通信企业的服务体系主要山自办营业厅和业务代办网点组 成,这种模式功效卓著,固然不可取代。但随着市场规模的快速发展,尤其是2000 年N2005年以来我国移动通信行业用户数量处于高速发展的阶段,这五年移动用 户每年增量都在6000万以上:2005年10月

11、用户总数达到了383亿,移动 普及 率达至1291部百人,已居世界首位【2】。面对日益增长的庞大的用户群体,原有 服务模式的不足也日渐明显,引入新的服务方式势在必行。电子计算机技术和自 动化技术的发展,以及人们经营管理观念的变化,为解决国内移动通信运营商们 所面临的难题提供了新的选择。111自助服务发展现状自助服务是指由获得服务资格的客户在一定的服务设施条件下,按照一定的 服务规则自己独立进行操作,自己生产服务的同时自己消费服务的一种服务形 式,并且这种形式跟客户接受由相应工作人员提供的服务具有相同的效果Il】。它改变了交易的模式,能够让客户更多的参与到交易或交流中来,增强了交互性和 自主性,

12、常见的有自助银行、自动售货机、自助缴费机等形式。自助服务具有以 下特点【3】=(1)同质性 就是与一般的同种服务的作用是一致的。正是这个特点使得自助服务对于一般服务具有消费可替代性。如在柜员机上取款与在柜台前取款对于客户来说要做 的事情是一样的,在自动售货机上购物与在商店买相同的东西是一样的。(2)便利性主要体现在交易方式上,成功地降低了交易成本。有些无时问限制:如24小时自助服务银行,这使那些在银行营业时间办不了业务的顾客有了随时办理业硕士学位论文 第一章绪论务的可能;还有些无时间、空间限制,如在网上进行自助购物。 (3)服务设施依赖性强 它是集光、机、电、防伪识别、数字加密、智能软件等技术

13、于一体的高科技智能化产品,如果没有这些设施,自助服务根本无法进行。目前,银行业是自助服务概念率先得到广泛应用的行业【4l。与传统的银行柜 台服务相比,金融自助服务系统(Financial Self-service System FSS)提供更 加标准化、规范化、自动化的服务,且无需银行工作人员的介入,具有较高的安 全保密性,符合客户的心理。一方面自助服务系统延伸了银行的服务平台,它不受服务时间限制可以24d时不问断服务,不受空间限制它能将银行的服务延伸到 世界各个角落,方便了广大银行用户同时拉近了银行与客户的距离:另一方面银 行也依靠自助服务的推广实现了业务处理的分流,减轻了营业网点柜台的柜面

14、服 务压力,并且实现了服务网点的低成本扩张降低银行运营成本,从而能真正实现 为客户提供超越时空的“AAA”式服务:即在任何时候(Anytime)、任何地方 (Anywhere)、以任何方式(Anyhow)为客户提供全天候金融服务【51。自助服务系统 在银行业应用的成功经验值得国内移动运营商借鉴,开发具有自主知识产权的智 能化移动自助服务系统势在必行。112移动通信业自助服务应用及前景国内移动通信行业自助服务系统正处于起步阶段。中国移动通信公司和中国 联合通信公司这两家国内大型的移动通信服务提供商,为满足客户服务需求都有 一部分自助服务系统投入运行。目前自助服务软件大体上可以分为三类:基于 CS

15、(ClientServer)架构、基于BS(BrowerServer)架构和两者混合架构。(1)基于CS架构的自助服务软件 采用这种结构的系统将应用一分为二,服务器(后台)负责数据处理,客户机(终端)完成与用户的交互任与业务逻辑处理。自助服务终端通过系统前置机与电信运营商业务系统连接,有的甚至将自助服务终端直接与电信运营商业务系统进行通讯。客户层服务器层图11两层cs应用结构图2硕士学位论文 第一章绪论此种系统结构有其自身的特点I 6】:能充分发挥客户端系统的处理能力、能实 现现金缴费等特殊功能、终端操作界面响应快等。其不足之处在于系统维护和升 级困难,采用CS体系结构的软件要升级,开发人员必

16、须到现场为客户机升级, 每个客户机上的软件都需维护,对软件的一个小小改动(例如只改动一个变量), 每一个客户端都必须更新;此外软件移植困难,采用不同开发工具或平台开发的 软件,一般互不兼容,不能或很难移植到其它平台上运行,针对点多面广的用户 群体,不能够实现快速部署安装和配置,因此这类产品只适应小规模应用不太适 合大规模开展推广。(2)基于BS架构的自助服务软件 在BS体系结构下,将应用分为表现层、业务逻辑层、数据处理层三层。用户界面完全通过WEB浏览器实现,无需单独开发终端软件,一部分事务逻辑 在前端实现,但是主要事务逻辑在服务器端实现。它结合测览器的多种脚本语言。 用通用浏览器就实现了原来

17、需要复杂的专用软件才能实现的强大功能,并节约了 开发成本。基于BS体系结构的软件,系统安装、修改和维护全在服务器端解 决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了 “零客户端”的功能,很容易在运行时自动升级。BS体系结构还提供了异种机、 异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。表现层业务层 数据层图12 BS应用结构图但这种体系结构的系统也有其自身的不足【7J:服务器压力重而客户端资源闲 置;程序不能离线运行;浏览器运行的安全级别低,使程序功能受到很大限制; 程序界面响应速度不稳定,这种自助服务系统一般是以网站方式出现,主要功能 是提供客户查询

18、和修改业务方式,无法实现现金缴费等特殊功能要求。(3)CS和BS混合体系架构 采用这种结构的软件结合了前两者的特点,其业务处理方式与三层CS架构相似,使用客户端资源进行运算处理,能有效降低服务器压力和网络传输量,终端软件主要负责与客户的交互,业务逻辑层能实现系统业务处理,数据层负责保3硕士学位论文 第一章绪论存各种交互数据;而其系统部署与升级方式则借鉴TBS的模式,除了第一次安 装系统是需要工作人员到现场,以后的升级工作能由系统自动完成【81。从功能实 现上来说,能支持现金缴费或银行卡缴费实现了缴费方式多样化,同时也能实现 BS方式下所有的业务查询、更改功能,甚至能提供类似 卡、飞机票等小型

19、商品的销售。口口安全沙箱环境画册系统发布倒寓巩际 数据层N沁R本地数据缓存L_A自助终端服务器端图13 CS和BS混合体系架构由此看来,开发CS和BS混合架构的自助服务系统有着自身独特的优势,应 作为我们研究的出发点。移动通信业作为我国目前发展最为迅猛的行业之一,自 助服务系统在该领域的出现必将能极大的缓解目前移动运营商在客户服务领域 所面临的困境。作为新的服务手段,自助服务与移动公司目前大客户中心、客服 专用 、营业厅(包括网上营业厅)三大服务体系相结合,必将提升公司的服务 形象和能力,成为各大移动运营商在激烈的市场竞争中迎接挑战和竞争的得力助手。因此该系统将会有广泛的市场前景,并且研究该系

20、统的经验对其他行业自助服务系统的开发同样具有借鉴意义。12课题研究的目的和意义本课题“基于Java的移动自助服务系统设计与实现”是作为湖南省金融货币识别与自助服务平台工程技术研究中心国家科技部攻关项目一“基于货币识别的 智能自助服务平台”的子课题。该项目的主要目的在于设计与实现适应目前国内 移动通信服务行业发展需要的自助服务系统,以江西南昌移动实际需求为设计基 础,要求系统能满足顾客缴费、查询话单等目前营业厅的基本功能,能显著减轻 营业厅柜台的柜面业务服务压力:系统使用便捷,性能稳定并且能实现系统简单 的发布与维护。4硕士学位论文 第一章绪论课题研究的价值在于,能满足顾客对于个性化服务的需求,

21、提升运营商的客 户服务质量与企业形象;能实现移动运营商低成本扩张营业点的需求,降低企业 运营成本;能为其他行业的自助服务系统开发需求提供有益借鉴,提升国内该领 域的自主研发能力。13本文结构及主要内容本文共分六章,主要围绕移动自助服务的设计与实现过程展开,包括自助服 务理论、网络通信技术、数据库技术和计算机应用等。该系统涉及多平台的计算 机系统、多环境的软件开发、跨城市的网络应用以及特定行业的业务知识、经验, 同时在电子支付技术、信息安全技术等不断发展的环境下具备向电子商务平台发 展的潜力。文章内容组织如下:第一章绪论。介绍了移动通信行业发展现状,阐述了自助服务的概念及其 在银行业的应用,结合

22、目前国内移动自助服务发展情况提出了本课题研究的必要 性,并对课题研究目的和意义进行了分析。第二章系统需求分析及相关技术研究。本章描述了系统需求分析,提出系 统的建设目标、系统应实现的功能、系统特性;结合Java语言的特点,对实现该 系统所需的各种技术基础如Java$口通信技术、多线程技术、套接字通信技术、 Java WebStart技术进行简要介绍。第三章移动自助服务系统总体设计。首先从宏观角度提出了系统设计原则, 突出了自助服务的设计思想;然后从不同角度重点描述了系统体系结构及软件设 计,明确了系统所能实现的功能:最后对系统的网络通信方式和协议进行了阐述。第四章系统终端设计与实现。该部分阐述

23、了自助终端的软硬件具体实现。 包括开发平台及工具的选择,终端的硬件结构及其控制具体实现,终端通信方式 的实现,终端业务逻辑功能及对远程监控响应的实现,以及终端程序BS的发布 方式实现。第五章系统终端软件测试。对于终端软件整个测试过程进行描述,首先说 明系统的测试方案、测试方法和内容,然后介绍了系统测试环境,最后总结分析 了测试结果。第六章总结与展望。对本文工作进行归纳总结并展望了课题的迸一步研究 方向。5硕士学位论文 第二章系统需求分析与相关技术研究第二章系统需求分析及相关技术研究需求分析是用来了解系统使用者头脑中的模型和功能,作为设计的依据和出 发点。这章当中将介绍本系统的系统建设目标、系统

24、实现功能、系统特点,并将 对用来实现该系统的一些相关技术进行介绍。21系统需求分析211系统目标(1)整体目标建设集业务查询、业务受理、缴费、帐单打印等功能于一体,具有客户自助 操作、能24小时提供服务、多种接入方式、更加贴近用户以及便于快速布点等 特点的移动业务自助服务系统。满足中国移动“以服务与创新作为企业核心竞争力”的整体战略需求。 (2)终端要求 终端是系统面向用户的窗口,终端硬件的稳定和软件的可靠、界面友好都影响用户对系统的评价。它能作为一个业务交易零售终端,采用顾客自助服务方式, 实现客户查询、打印详单和帐单功能,现金或银行卡缴费功能,开通、关闭业务 功能等;要求能提供实现24小时

25、不间断客户服务;管理人员能通过该自助服务 系统完成对自助终端的监控、交易管理,并且易于系统升级。212系统功能移动自助服务系统通过与顾客的交互,能完成移动运营商营业厅所提供的各 种业务处理服务功能,用户不必再为排队等候各种手续、地点的限制而烦恼。其 主要功能可分为业务功能与系统管理功能两个方面。(1)业务功能系统业务功能方面的需求主要有:话费缴纳,系统支持采用现金或银行卡转 帐方式缴纳话费,并提供打印缴费凭据和缴费发票的功能;业务受理,该部分主 要包括修改密码、顾客移动业务功能增减、开停机等操作。信息查询,话费查询, 包含月租费、基本通话费、长途费、短信息费、梦网费等;详单查询,可以查询 当月

26、以及最近三个月的话费详单;移动综合业务查询,浏览查询移动各种业务信6硕士学位论文 第二章系统需求分析与相关技术研究息(信息内容由终端管理系统统一设置、换新、修改)。业务宣传,当终端处于 非业务处理状态,可以播放公司各种业务的宣传资料及广告片段,成为公司新的 形象宣传窗口。(2)系统管理功能 系统管理方面的需求包括:系统设置,该部分主要实现对系统的一些基本参数的设置,比如系统各种用户的基本信息、地区编号、营业厅信息、厂商信息、 终端告警参数设定等以及系统使用权限设定,确保系统的安全管理级别;终端管 理,设置终端的一些基本参数如编号、摆放地址等,终端扫描对在线终端运行参 数的获取如终端登录时间、I

27、P地址等;远程监控,以图标的方式显示在线终端 情况,并支持通过网络对远程终端发送控制指令。统计管理,对各终端交易情况 可以报表方式显示,并支持对系统日志的查询和打印,为系统管理和决策提供参 考数据;终端软件自动升级,终端软件能提供DIS的发布方式实现,并且能满足 自动升级的需求。213系统特点为体现自助服务系统方便、易用,能为顾客提供友好的服务,归纳起来,系 统需耍具备以下一些特点:(1)便利性突出 时间上,提供7X24小时的全天候自助服务,空间上,自助终端可安装在各种公共场所,方便用户就近使用。自助终端应采用触摸屏和数字键盘相结合的 方式,简明友好的用户界面,操作简单方便。发票、详单和帐单打

28、印能一次完成, 打印准确、速度快;(2)缴费方式灵活 可根据终端摆放地实际情况,选择使用现金缴费或银行卡缴费方式。这样可以符合各个层次人群的使用习惯与特点,有利于系统的推广,并且对于银行卡缴 费方式的用户,无需办理任何申请手续和任何附加费用,可直接使用各类带有银 联标识的银行卡;(3)功能全面 支持营业厅各项基本客户服务功能,详单打印、帐单打印、话费查询、业务查询、业务办理、发票打印、缴费等实用功能一应俱全; (4)稳定性高 采用局域网进行通信,提供终端工作状况的监控,对严重问题能够进行快速处理;(5)拓展性强7硕士学位论文 第二章系统需求分析与相关技术研究支持多种通信方式,充分利用不同的网络

29、资源,支持多家银行卡,实现多行 资源共享,为电子商务的实施打下了基础,模块化设计与维护,方便新业务内容 的扩充,不断提高服务水平和服务质量:22相关技术研究Java是定位于网络计算的计算机语言,它几乎所有的特点都是围绕着这一中 心展开的并为之服务的,这些特点使得Java语言特别适合于用来开发网络上的 应用程序【91。(1)平台无关性 Java语言独特的运行机制使得它具有良好的二进制级的可移植性。利用Java,开发人员可以编写出与具体平台无关、普遍适用的应用程序,能大大降低 了开发、维护和管理的开销。(2)面向对象 Java是面向对象的编程语言。面向对象技术较好地适应了当今软件开发过程中新出现的

30、种种传统面向过程语言所不能处理的问题,包括软件开发的规模扩 大,升级加快,维护量增大以及开发分工日趋细化,专业化和标准化等。面向对 象技术的核心是以更接近于人类思维的方式建立计算机模型,它利用类和对象的 机制将数据与其上的操作封装在一起,并通过统一的接口与外界交互,使反映现 实世界实体的各个类在程序中能够独立,自治,继承。(3)安全稳定 对网络上应用程序的另一个要求是较高的安全可靠性,用户通过网络获取并在本地运行的应用程序必须是可信赖的,不会充当病毒或其他恶意操作的传播者 而攻击用户本地的资源:同时它还应该是稳定的,轻易不会产生死机等错误,使 得用户乐于使用。(4)支持多线程多线程是当今软件开

31、发技术的又一重要成果,已成功应用在操作系统,应用 开发等多个领域。多线程技术允许同一个程序有两个执行线索,即同时做两件事 情,满足了一些复杂软件的需求。Java不但内置多线程功能,而且提供语言级的 多线程支持,即定义了一些用于建立,管理多线程的类和方法,使得开发具有多 线程功能的程序变得简单,容易和有效。为实现本系统建设的目标,特别是突出系统的网络应用、易于移植,系统将 采用Java技术来实现,以下将对所用到的部分做一个简单介绍。8硕士学位论文 第二章系统需求分析与相关技术研究221通信技术 自助服务系统中,终端硬件控制依靠串口通信来实现,系统业务交易是以套接字通信为基础,下面将介绍这两种通信

32、的基本原理。2211串口通信 Java语言本身并不能直接通过串行通信编程来操纵硬件设备,它必须借助于本地方法JNI(JavaNative Interface)技术【l“。JNI技术是Java平台的强大特征之一,它可以使在Java虚拟机内部运行的Java代码,能够与用其他编程语言(例如C、 c+和汇编语言)编写的应用程序和库进行互操作。由SUN公司推出的 Javaxcomm类库已经做好了这部分工作,只需调用Javaxeomln API,就可以编 写出Java串行通信程序。Javaxeomm类库提供的接口包括Ill:CommDfiver接口表示可装载的设备驱 动接口,但它不可由应用级程序运行。Co

33、mmPortOwnershipListener接121产生各 种通讯口所拥有的事件。打开一个端口时,PORT OWNED事件将被传递;关闭一个端口时,PORT UNOWNED事件将被传递。SerialPortEventListener接口产 生串行口事件;ParallelPortEventListener接口产生并行口事件。Javaxcomm类库主要提供了6个类。其中类ComrnPortldentifier和CommPort属于上层类,用于管理对通讯端口的拥有和存取权限。 类CommPortldentifier用于通讯端口管理。该类是控制对通讯端口访问的核心类,提供的功能有:(1)在驱动程序帮

34、助下发现有效的通讯端口;(2)为输入 输出操作打开通讯端口:(3)决定端口所有权:(4)处理端口所有权的竞争问题; (5)管理表示端口所有权状态改变的事件。类CommPort表示通讯端口,它是个描述底层系统定义有效通讯端口的抽 象类,它提供了控制不同种类型通讯端口输入输出的公共方法。SerialPort和 ParallelPort都是它的子类。它的方法用于基本通讯端口的低级控制: getPortldentifier0方法来产生一个有效端口列表;从列表中选择一个端口并调用 open0方法创建一个CommPort对象;最后,把CommPort对象投射到一个像 SerialPort或Parallel

35、Port的物理通讯设各类上。当一个通讯端口己被标识并打开, 就可以在低级类SerialPort和ParallelPort中调用相应方法,打开输入输出流读写 数据。端口不使用时,调用close0方法关闭,否则别的应用程序不能使用该端口。 如果使用,会抛出一个IllegalStateException异常。类Seri“Port和ParallelPort提供对物理通讯端口的操作接口,属于底层类。 类SerialPort表示RS一232串行通讯端口,述对作用于底层系统的串行通讯端口的 低级接121,定义了串行通13所需的基本功能的方法。9硕士学位论文 第二章系统需求分析与相关技术研究类SerialPo

36、rtEvent表示串口事件,类ParallelPortEvent表示并口事件。它们 属于驱动层类,提供底层类与操作系统之间的接口,不直接提供给程序员使用。 另外,还有3个处理异常的类:若驱动器找不到指定端口抛出NoSuchPortException异常;若驱动器不承认指定端口时抛出 UtasupportedCommOperationException异常:若指定端121正被使用,抛出 PonInUseExceDtion异常。2212套接字通信考虑到本系统的终端和服务器端通信需要实现某些特殊的协议的应用,通讯 过程是基于TCP1P协议中传输层接口套接字(Socket)实现的。Socket是两个

37、程序之间进行双向数据传输的网络通讯端点,有一个地址和一个端口号来标识。 每个服务程序在提供服务时都要在一个端口进行,而想使用该服务的客户机也必 须连接该端口【l21。Socket因为是基于传输层,所以它是比较原始的通讯协议机制。 通过Socket的数据表现形式为字节流信息,因此通讯双方要想完成某项具体的 应用则必须按双方约定的方式进行数据的格式化和解释,具体的工作模式如图21。服务器端 创建服务器端Socket服务器端So c ket登记某口客户端 监听来自客户端的求创建客户端SO ck et建立通讯连接阻塞直到客户端发来连通过服务器端地址和端口请求 向服务器端发送连接请求请求数据接收来自客户

38、端的请求发送请求数据到服务器据处理请求数据响应数据返回处理数据给客户端 接收响应数据图2-1 Socket工作模式图 Java为网络编程提供了丰富的软件包,这些包很好地封装了UDP和TCP等各种网络协议,开发者只需调用接口就可以方便地进行网络编程。Socket类实现10硕士学位论文 第二章系统需求分析与相关技术研究基于连接的客户接口,可以方便地与服务器方便地建立连接,使用服务器提供的服 务。Socket类提供4个关键的方法:getlnputStream0返回与接口相关联的输入流, 用户在timeout等待时间内读取返回的数据;getOutputStream0返回与接口相关联 的输出流,用于向连

39、接的服务器发送数据:setSoTimeout0设置客户端Socket等 待服务器返回数据的时间:CloseO-关闭接13,结束与服务器的连接。ServerSocket 类实现了TCP服务器接13,在建立服务时只需指定使用的端口号,服务启动后侦 听连接请求,听到连接请求后便后返回请求的Socket对象,使用Socket类提供的getlnputStream0方法获取输入流,并读取请求的数据。在javanet包中 ServerSocket类有1个关键的方法:accept()-侦听客户端的连接请求并接受连接, 返回客户端Socket对象。客户端建立的流程如下: (1)首先调用Socket类的构造函数,

40、以服务器的指定的即地址或指定的主机名和指定的端口号为参数,创建一个Socket流,在创建Socket流的过程中包含 了向服务器请求建立通讯连接的过程实现。(2)建立了客户端通讯Socket后。就可以使用Soeket的方法getlnputStreamO 和getOutputStream()来创建输入输出流。这样,使用Socket类后,网络输入输 出也转化为使用流对象的过程。(3)使用输入输出流对象的相应方法读写字节流数据,因为流连接着通讯所 用的Socket,Socket又是和服务器端建立连接的一个端点,因此数据将通过连接 从服务器得到或发向服务器。这时我们就可以对字节流数据按客户端和服务器之

41、间的协议进行处理,完成双方的通讯任务。(4)待通讯任务完毕后,我们用流对象的close()方法来关闭用于网络通讯的 输入输出流,在用Socket对象的close()方法来关闭Socket。服务器端的Socket接口程序的Java实现方法,其过程如下所述: (1)首先调用ServerSocket类以某个端口号为参数,创建一个ServerSocket对象,即是服务器端的服务程序在该指定端口监听的Socket。 (2)服务器端程序使用ServerSocket对象的accept()方法,接收来自客户机程序的连接请求,此时服务器端将一直保持停滞状态,直到收到客户端发来的连接 请求。此时该方法将返回一个新

42、建的Socket类的实例,代表和客户机建立的通 讯链路在服务程序内的通讯端点。如果采用Java的多线程编程方法,可以实现 并发服务器,继续监听来自其他客户的连接请求。(3)使用新建的Socket对象创建输入、输出流对象。 (4)使用流对象的方法完成和客户端的数据传输,按约定协议识别并处理来自客户端的请求数据,并把处理的结果返回给客户端。硕士学位论文 第二章系统需求分析与相关技术研究(5)客户端工作完毕后,则服务器端程序关闭和客户端通讯的流和通讯的Socket。(6)在服务器程序运行结束之间,应当关闭用来监听的Socket。222数字签名技术系统必须设定Java沙箱安全机制来实现对本地资源操作,

43、数字签名能确保代码的可信性,从而建立系统运行的安全机制。数字签名的基础是密码技术,目前较多使用公共密钥加密系统实现数字签 名。公共密钥加密系统使用密钥对(公共密钥和私有密钥)来加密和解密信息【13l。 密钥对中的私有密钥只有密钥对的所有者才知道,从而我们可把私有密钥作为其 所有者的身份特征。发送方可用该私有密钥对要传送的文件进行加密,将加密后 的文件作为该文件的签名发送【14】。任何拥有发送方公共密钥的接收者都可以对信息进行解密,从而确定该信息确实是来自该发送者,并且信息内容未遭到任何 无意或恶意的破坏。收方和第三方不能伪造签名的文件,因为只有发送方才持有 自己的秘密密钥。其余的人也只能使用对

44、应的公开密钥进行验证。根据公开密钥 算法,已知公开密钥是无法推导出秘密密钥的,对JAR文件签名过程如图22。JAR文件(前)图2-2对一个JAR文件数字签名从数字签名的原理中我们了解到数字签名具有唯一性、不可仿冒和不可否认 三大特性,因此使用数字签名具有以下安全功能15l:防止原始文档被污染或变 更;防止别有用心者使用他人名字散布欺骗性消息;提供谁是文件原作者的证据12硕士学位论文 第二章系统需求分析与相关技术研究等。223多线程技术 (1)线程定义线程是指进程中单-jf顷序的控制流,又称为轻量级进程【I“。线程共享相同 的地址空间并共同构成一个大的进程线程问的通讯是非常简单而有效的,上下 文

45、切换非常快并且是整个大程序的一部分切换。线程仅是过程调用,它们彼此独 立执行,线程使得在一个应用程序中,程序的编写更加自由和丰富。(2)线程的实现与管理 Java中创建线程可以有两种方法l”】:一种方法是用Thread类创建线程。Java1angThread类提供了用来启动、挂起、恢复以及终止线程的方法,使用 Thread类创建线程的最简单的方法是扩展它并覆盖run0方法。另一种方法是实 现java1angRunnable接口来创建线程。Runnable接口定义了一个方法run0,必须实现这个方法。类实现这个接口,就表明它可以作为独立的执行线程运行。当实现了Runnable接口的对象被传递给线

46、程的构造函数,且调用了线程的start0 方法时,新创建的线程就会调用runO方法,当runO方法终止时,线程便停止执 行。一个线程的生命周期有5种可能的状态及5种常用的方法。5种状态为:新 建状态(New born)、就绪状态(Runnable)、运行状态(Running)、挂起状态 (Blocked)和停止状态(Dead);5种方法为:thread0、start0、resume0、yield0 和stop0。图23显示了这些状态与方法之问的关系。图2-3线程状态转换图 (3)线程的同步 Java同步机制的基本原理是临界资源保护和监视器机制。在多线程程序设计中,将程序中那些不能被多个线程并发

47、执行的代码称为临界资源。Java采用 Synchronized关键字来定义临界资源。临界资源可以是方法,也可以是语句块, 它由多个线程互斥地调用,但是在任一时刻,最多只允许一个线程真正地进入临13硕士学位论文 第二章系统需求分析与相关技术研究界资源,而其他线程必须排队等待。临界资源的开发控制由监视器机制来保证。 每个Java对象都有一个关联的监视器,其作用在于监视对象的临界资源,确保 在任一时刻只有一个线程能够进入对象的临界资源。监视器隐藏在Synchonized后面,对用户而言是不可见的。但是Synchronized的使用是受限制的,并非越多越好。使用Synchronized比不使用它要增加

48、多条虚拟机语句。 在多线程程序中除了考虑到多个线程对临界资源进行同步访问的问题以外,也要考虑到线程之间的合作问题。在同步机制下,若一个线程已得到了监视器, 则其他线程要反复进行上锁测试,造成其他线程无休止的“忙等待”,消耗大量 处理器时间。因此,使用显式等待和触发原语来解决此问题。Java语言提供了3个标准Object类方法:WaitO,Notify0和NotifyAll0来实现线程之问的控制转移。 其中,Wait0方法将挂起当前运行的线程,并将它放入到相应同步化对象的Wait 集中去,使线程由运行状态转入不可运行状态,直至有其他线程使用了Notify() 方法或NotifyAllO方法来唤醒

49、它。Notify0方法相当于触发,它将从相应的同步化 对象的Wait集中唤醒一个线程,使它变为可运行态。此外,wait0方法也可令当前线程让出监视器一段时间,由此来解决部分死锁问题。224 Java WebStart技术 (1)JavaWebStart简介Java WebStart(JSw)是部署基于Java TM技术的应用程序的一种新技术,是SUN公司提供的一个实现JNLP(JavaNetwork Launch Protocol,iava网络加载 协议)的软件【l。通过JavaWeb Start可以使一个程序很容易地通过web部署在各 个平台上,包括Windows,Linux,Solaris

50、等。由于Java Web Start是基于J2SE 平台,故拥有Java平台的健壮性和安全性。使用Java Web Start,可以将客户端程序放在服务器上,客户端第一次从服 务器上下载安装此程序,以后在客户端再运行此程序时,Java Web Start可以自 动判断客户端计算机上的程序是否是最新版本,是否已修改,如果此程序已经修 改或版本较旧,客户端自动从服务器下载安装,然后在客户计算机上启动此程序。 这样所有的工作只需在服务器端进行即可。Java Web Start的工作流程如下:14硕士学位论文 第二章系统需求分析与相关技术研究图24 Java Web Start工作流程图首先,单击准备

51、启动应用程序,这个应用程序可以已经安装在本地或未安装。 这时会先启动Java WebStart,由它来检查并判断应用程序所需要的资源是否都已 经存在于本地了,同时检查服务器上是否已经有更新的文件,如果没有就自动从 服务上下载最新的应用程序执行,否则执行从本地直接启动应用程序,这样可以 保证运行程序与服务器端保持同步。(2)JNLP协议说明 JNLP是一个为应用程序提供基本元素描述的XML文件,一个后缀为JNLP的文件包含了应用程序的说明以及如何启动这个应用程序的所有信息,所 以部署应用程序的关键就在于JNLP文件的编写以及发布,其协议范例如下【19。JWS 1estYOUR Namehomep

52、age href=-”JWSllesthtml”胁JWS Test15硕士学位论文 第二章系统需求分析与相关技术研究icon href=-”imagesJWSTestjpg”胁j2se version=”13”胁jathref=-”libJWSTestjar”胁铆nlp部分JNLP的关键语法说明:元素:spee,必须是10及以上版本,这里用1O+,不需修改。 Codebase,资源的URL,是JNLP指向各连接的起始处。Href,JNLP文件相对 codebase的存放位置,和JNLP文件的全名,需自行修改。元素:Title,发布的应用程序简单标题。Vendor,发行商信息。 Homepage

53、,存放有关应用程序的相关文档的URL,如help文件等,可有可无。 Description,对应用程序的描述,可以有多对,可有可 无。Icon,用户下载你的应用程序后,在JWS里显示的图标的URL,应是gif 或jpeg格式。Offiineallowed,选择项,允许用户离线运行应用程序,一般都会 有。元素:选择项,如果没有指IN,默认是不允许应用程序 访问用户的本地资源,即应用程序是沙箱运行。如果设定为, 则表示允许应用程序访问用户的本地资源。元素:。元素:main-class,应用程序运行启动的主类。:应用程序运行时的参数,可以有多个,每一个参数用一对 参数。16硕士学位论文 第二章系统需

54、求分析与相关技术研究23本章小结本章首先描述了系统需求分析,提出系统的建设目标、系统应实现的功能、 系统特性;结合Java语言的特点,对实现该系统所需的各种技术基础如Java 通信技术、数字签名技术、多线程技术、Java WebStart技术等进行简要介绍。17硕士学位论文 第三章移动白助服务系统总体设计第三章移动自助服务系统总体设计系统总体设计是建立在对用户需求分析基础之上的阶段,它从宏观角度来描 述系统的设计原则、系统总体结构、通信方式以及安全性方面的考虑,体现设计 者对于该系统需求的理解。31设计原则移动自助服务系统是一个集模式识别、机电、通信以及计算机技术为一体的 现代化综合性时事业务

55、处理系统f2。系统设计是否考虑全面,将决定后一阶段 的系统实现能否顺利进行,为保证系统设计和实现的正确性,体现自助服务的便 捷特点,增强系统安全性、稳定性,现将系统设计开发过程中的原则予以总结:(1)实用性原则 自助服务系统出现的最大目的就是要能给广大用户提供便利的服务,系统终端将直接面对社会不同类型的用户,因此终端要尽量符合大多数用户的使用习惯 和使用方式,操作方法要简单明了,用户界面要直观友好、通俗易懂,结果表达 要无二义性。对于自助终端管理系统,功能模块划分应该简单、清晰,数据表现 和报表制作要符合行业标准,操作要简单。(2)先进性原则 系统采用三层的CS结构和BS结构相结合的模式,该系

56、统结构是先进的、开放的体系结构,能提供充分的系统扩展能力。采用的计算机技术应当是先进的, 符合未来发展方向,同时能得到产品厂家的全面支持。采用的管理技术和开发、 管理工具应当是先进的和有发展前途的。(3)标准性原则 考虑到现有和规划建设的系统和网络完美的相容性,将提供移动交易服务中心与终端,终端和用户、移动后台和银联后台之间数据通信的专用网络。在网络建设中应遵循统一的标准,统一的网络协议。 (4)安全和可靠性原则 应充分考虑系统运行的安全策略和机制。系统必须满足自助应用环境的特殊要求,具备故障自诊断和自恢复的功能,保证系统能24小时不间断地运行。硬件 设备和模块的可靠性要求高,必须采用安全性能

57、高的设备并通过软件机制的辅助 来保证数据的安全性和完整性;通过现金处理技术的综合运用,保证现金识别的18硕士学位论文 第三章移动自助服务系统总体设计准确性,防范各种假币的攻击;对于网络数据包要有加密和验证机制,保证数据 包在网络过程中不被泄漏和纂改。能在网络环境较为脆弱的条件下(如无线网络) 实现数据的可靠性传输。(5)可移植性好和易扩展性原则 系统设计须考虑今后系统的可移植性问题,尤其是终端系统可能分布在不同的平台上,要确保系统功能的正常实现。可扩展性表现在要不仅要充分考虑当前 系统业务模块的划分,还要考虑到便于今后业务功能新增或修改,以及自助服务 终端更换硬件产品时不会影响终端的运行,最好

58、采用分层设计的思想将相应的硬 件控制部分划分为独立抽象模块。(6)易于管理和维护 系统要易于管理和维护。能实时监控系统运行情况,反馈个终端的运行状态、交易状况、告警信息,同时能保证系统管理员对各自助终端工作状态作出及时调 整,保证系统不问断运行。能实现系统终端软件的自动升级和更新,减少维护工 作量。32系统结构321系统总体框架 从总体框架上来说,系统为CS和BS相结合的结构,业务功能的实现采用CS结构,系统管理与维护采用BS架构21卜22】。整个系统分为前台和后台两个 部分,前台为自助终端,后台为在服务器端运行的业务逻辑处理程序、数据库等 程序。系统通过终端与服务器端Socket通信方式实现

59、业务功能,通过访问WEB 服务器实现终端管理和系统升级。l自嬖里务【一坷wEB服务器 、l终端卜 7l“。“7。 监通信 控蚓篓曩曩鲁1管自助服务l r、鬈楞坍朴砸 理Socketll终端lc+l、+Tr甜也科”7 - 通信通信1l月R万ii垧端图31系统总体框架图19硕士学位论文 第三章移动自助服务系统总体设计322系统网络结构 系统依靠移动运营商的自有网络将分布在各地的自助服务终端连成一体,并接入到移动公司的BOSS(Business and Operation Support System)系统和银联系 统等外部系统【231,因而系统的总体网络模型将涉及到终端、移动和银联方面的 信息交流

60、渠道。移动网络中心局域网可以根据终端的应用或者按地域划分成不同的网段或 者若干个虚拟子网。各终端通过移动通信公司的局域网络,与移动的专用网关设 备相连,通过防火墙,进入移动通信公司的内部专网。而移动后台与银联后台可 通过专线连接。自助服务系统平台是自助服务系统的核心部分,由WEB服务器、 应用服务器、接口服务器、数据库服务器等组成,系统网络结构如图32所示:银联BOOS圄国圜L一型至苎塑一端图32系统网络结构图(1)WEB服务器用来接收和响应终端和管理员的各种操作请求。负责响应 向终端发布Java终端运行软件的请求,负责提供Java系统运行环境JRE(Java Runtime Environm

温馨提示

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

评论

0/150

提交评论