miucos什么情况发生分布式任务调度度

具有电能质量统控制功能的风电微网并网功率接口研究.pdf -max上传文档投稿赚钱-文档C2C交易模式-100%分成比例文档分享网
具有电能质量统控制功能的风电微网并网功率接口研究.pdf
文档名称:具有电能质量统控制功能的风电微网并网功率接口研究.pdf
格式:pdf&&&大小:3.97MB&&&总页数:76
可免费阅读页数:76页
下载源文档需要:30元人民币
预览与实际下载的一致,文档内容不会超过预览的范围,下载前请务必先预览,自行甄别内容是否完整、是否存在文不对题等情况(本网站为文档分享平台性质),一旦付费下载,本站不支持退款
我已知晓:实际下载内容以预览为准!
文档介绍:--------------------------Page1------------------------------TheResearchonGridofGird—connectedWindwithIntegrationUnifiedPowerControlFunctionsQualityZHENGQianof10B.E.(ChangshaUniversityAthesissubmittedinsatisfactionofthepartialfortheofRequirementsdegreeMasterofEngineeringlnElectricPowerandAutomationSystemofChangshaUniversityScience&TechnologySupervisorProfessorSUShipingApril,2013--------------------------Page2------------------------------长沙理工大学学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名:埤庸日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权长沙理工大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。同时授权中国科学技术信息研究所将本论文收录到《中国学位论文全文数据库》,并通过网络向社会求解随机机会约束规划的免疫克隆混合算法及其应用.pdf -max上传文档投稿赚钱-文档C2C交易模式-100%分成比例文档分享网
求解随机机会约束规划的免疫克隆混合算法及其应用.pdf
文档名称:求解随机机会约束规划的免疫克隆混合算法及其应用.pdf
格式:pdf&&&大小:1.83MB&&&总页数:64
可免费阅读页数:64页
下载源文档需要:30元人民币
预览与实际下载的一致,文档内容不会超过预览的范围,下载前请务必先预览,自行甄别内容是否完整、是否存在文不对题等情况(本网站为文档分享平台性质),一旦付费下载,本站不支持退款
我已知晓:实际下载内容以预览为准!
文档介绍:太原理工大学硕士研究生学位论文求解随机机会约束规划的免疫克隆混合算法及应用摘要随着随机优化理论的多应用化、随机规划模型的多样化及模型求解的复杂化,随机理论研究及其应用领域均急需寻求一套求解模型的方法。基于此本文提出一种求解随机机会约束规划模型的混合算法,并将其应用于水库优化调度策略的求解。具体内容如下:首先,提出一种改进的免疫克隆选择算法。采用双克隆策略,引入浓度调节机制抑制种群中相似的抗体以保证种群多样性,利用亲和力向量机制保证抗体的优良性;提出双变异策略,引入分布估计变异算子在整个优秀解空间内搜索全局最优解,利用Gauss变异算子在局部范围内搜索最优解,从而保证算法能快速稳定地以较高的精度找到全局最优解。基准函数的测试结果表明与已有算法相比,改进的算法的收敛速度及精度都得到了很大的改善。其次,提出一种基于文中改进的免疫克隆选择算法,MonteCarlo算法及神经网络的混合智能优化算法。采用MonteCarlo算法产生随机向量样本矩阵训练BP网络以逼近不确定函数,之后在改进的免疫克隆选择算法中利用MonteCarlo算法检验个体的可行性、利用训练好的BP网络计算其适应度,从而得到优化问题的最优解。仿真结果表明与已有算法相比混合智能算法在100代时已取得比较满意的结果,且其精度在单目标优化问题中提高了1.3%、在多目标优化问题中首要目标提高了65%。T太原理工大学硕士研究生学位论文最后,考虑到随机机会约束规划模型更能精确描述水库调度时段径流的随机性及策略实施的风险性。本文根据内蒙古大河口西山湾水库实例的环境特性及径流特性建立水库调度的随机机会约束规划模型,之后利用本文提出的免疫克隆混合算法进行求解。仿真结果表明随机模型及改进的算法的可行性和有效性,能够为解决复杂的水库长期优化调度问题提供一条有效、可行的解决方案。关键词:免疫克隆,机会约束规划,水库调度,MonteCarlo您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
基于S5L8450X芯片的便携式MP3播放器的系统研究和设计实现.pdf75页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
文档加载中...广告还剩秒
需要金币:200 &&
你可能关注的文档:
··········
··········
沈阳理工大学硕士学位论文 基于S5L8450X芯片的便携式MP3播放器的 系统研究与设计实现 摘要 本文介绍了MPEG III的解码算法及其在三星S5L8450X芯片卜的实现。 Layer 作为一种十分有效的音频编码手段,MPEG III以压缩比高,压缩质量好,算 Layer
法复杂度适中丽在数字声音的存储、Internet上的多媒体传输、数字音频广播等领域都
得到了广泛的应用。随着数字多媒体技术和嵌入式技术在我国的飞速发展,高质量的便
携式MP3播放器已经显示出它巨大的市场机会,研究和拥有在这方面的技术也具有蓬
大的意义。 然而,MPEG声音编解码算法相当复杂,对运算量和存储量都有很高的要求,奉
文对MPEG III标准进行了比较深入的分析,研究了MP3文件的解码算法.并对 Layer
于其运算量较大的特点提出了快速算法,确保了解码的实时性。
理器,精简指令集结构,运算速度快,在便携式MP3开发中主要负责外部设备管理,
用户界面和高扩展性的附加功能。它的协处理器CalmADM是商性能的定点式数字信号
处理器,是便携式MP3播放器的解码器。本文在对MPEG1II解码算法研究的基 Layer
础上完成了DSP解码器的实现、周边设备管理硬件连接和MP3播放器系统软件功能的
实现。较为全面的完成了一个整体的研究与系统实现。
MP3;嵌入式技术:便携式MP3播放器;ARM940T;数字信号处理器: 沈阳理工大学硕士学位论文 The and of MP3 studydesignportable playersystem basedonthe S5L8450X chip Abstract Thisthesisdescribesthe ofMPEGAudio IlIandthereal―time algorithm Layer onthe S5LM50Xof
implementation SANSUNG chip Asa audio Audio IIIhas wide hiigIl―efficientcodingmethod,MPEG Layer very on sound and datatransmission
applicationdigital
store,multimedia digital duetoits andmoderat
正在加载中,请稍后...基于Spring和Hibernate框架的Jini技术Web开发研究及实现
武汉理工大学 硕士学位论文 基于Spring和Hibernate框架的Jini技术Web开发研究及实现 姓名:彭小辉 申请学位级别:硕士 专业:信号与信息处理 指导教师:王虹
摘要随着电信技术的迅速发展,网络的规模越来越庞大,而且网络的种类和需 求也越来越多,并且网络都伴随着大量的数据,需要通过网络共享各种资源。传统EJB(EnterpriseJavaBeans,Java企业Bean)容器,虽然是完整的服务策略,但是,EJB也带来了许多负面效果:部署复杂、运行缓慢、内在服务多、 启动慢、规则特多、空间很小等。目前,轻量级容器得到了广泛的认可,作为 下一代J2EE构架的基础有着无法比拟的优势。轻量级容器使用依赖注入的设计 原理,可以动态地使系统主要组件之间的耦合变得松散,提高代码的复用度、更好的面向对象。本论文的研究重点是利用Spring和Hibernate开源框架来整合成一个轻 量级整体架构,实现应用服务层。首先是分析Spring和Hibernate的基础理论 知识,Spring就是一种多层的轻量级框架,是为解决企业应用程序开发复杂性而创建的。Hibemate是一种开源的持久层框架,它全面减轻了数据库开发的复杂度,使系统具有更好的性能和移植性,而且它实现了对象模型到关系数据模型之间的映射。然后研究了一种全新的基于Java技术的分布式计算平台J硒。主要介绍了 Jini的基本概念、工作原理、基本结构,然后对构建服务体系的选择作了分析, 在分析研究的基础之上,设计出了实现核心功能的基于Jini技术的ONE.CM(一 个集团公司)理念的GSM/GPRS投诉支援系统。利用了开源项目Jini的包,设 计出了一个服务注册中心系统的主备冗余单播注册、分布式Jilli服务接入点、分 布式数据库和本地服务单元等功能,实现了服务层。 最后通过应用层和服务层结合的清晰聚会,使得上层应用能够灵活的组装 各类服务单元,实现了一个具体的GSM/GPRS投诉支援系统。另外系统还提供 了严格的安全认证功能,保障了服务调用的安全性,使之成为高可用性的电信 级投诉处理平台。 实验结果表明,基于Jini技术构建的GSM/GPRS投诉支援系统运行稳定, 可以实现各种省移动公司的“网络即插即用"和远程访问与控制,达到了对各 个移动运营商的各种资源高效共享的目的。 关键词:Web开发,Spring,Hibernate,Jini AbstractWiththe rapid developmentof telecommunications technology,increasinglythe type of large size of the network,andnetwork and demandfor more and more,and networks are accompanied by large amounts of data through the resources.Traditional although it isanetwork toshareEJB(EnterpriseJavaBeans,JavaEnterpriseBean)container,effects: complete service strategy,EJB has also brought many negativethe deployment ofcomplex,runningSOslow,internal services more,startslowly,manyof the rules.very little room andon.At present,thelightweightcontainer is widelyreco嘶zed asthe basis for thenext generation of J2EE architecture hasincomparableadvantages.Lightweightcarlcontainer using dependencyinjectiondesign principles thatdynamically make the couplingbetween themain components of the system havebecome loose,to improvethe complexcode such extent,betteruseobject。oriented.open’sourceThe research focus of this paper is tothe Springand Hibernateframework integrated intoalightweight overallframeworktoto achieve applicationservice layer.First,The Spring and Hibernate isknowledge,The Spring isaanalyze thebasis of theoretical is to address thelightweightmulti-layeredframeworkis an open complexity of enterprise application development created.Hibernate was developed to reduce the source persistence framework,a comprehensive database it achieved the complexity,the system has better performance and portability,andobject modelto the mapping between relational data model?aAnd then studynew Javatechnology-baseddistributed computingplatform for。Jini.Mainlyintroduces the basic concepts of Jini,working principle,basic structure,athen the choice of buildingservice system arecoreanalyzed,basedonthe analysis of thestudv developed to achieve thefunctionality of Jini technology-based ONE?CM(agroupcompany)thesourceconcept of complaintsGSM/GPRSsupportsystem?Advantageaof the openproj ectJini package,respectively,devisedservice reglstryJini Service Access Point, system,standby redundant unicast registration,distributed distributed databases,and local service units,to achieve the service layer. Finally the application and service applications toalayerasaclear party,the upper levelaflexible aSsembly of various types of service modules,to completeⅡ specific task to support GSM/GPRS complaints.Another system also providesarigorous security certification and safeguards the security of the service call,makinglli曲。availability carrier-grade platformfor complainthandling.basedon callExperimental results show that theGSM/GPRSJini technology to achieveaccess abuild support systems and stable operation of complaints,you provincial mobile companies”network plug andto achieve the variousvariety ofplay”and remoteand control,mobile operators foravariety ofresourcestohigh.efficientpurpose of entitlements.Keywords:Web development,Spring,Hibernate,JiniIII 独创性声明本人声明,所呈交的论文是我个人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得武汉理工大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。签名:乏k鳖日期:霉:竺丝学位论文使用授权书本人完全了解武汉理工大学有关保留、使用学位论文的规定,即: 学校有权保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。本人授权武汉理工大学可以将本学位论文的全部内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段保存或汇编本学位论文。同时授权经武汉理工大学认可的国家有关机构或论文数据库使用或收录本学位论文,并向社会公众提供信息服务。 (保密的论文在解密后应遵守此规定)研究生(㈣:抄坪导师(㈣:砂杪日期 武汉理工大学硕士学位论文第1章绪论1.1研究背景Jini是一种与协议无关的分布式计算体系结构,可以与任何分布式对象采用 任何协议进行交互,允许服务动态地加入或离开,而不会对网络或网络用户造 成任何影响。其中服务指的是任意实体提供的一组功能,实体可以是计算机硬 件设备(如计算机、打印机、扫描仪等),也可以是电子设备(如声频、视频等)、 电气设备(如微波炉、电视等),另外,软件(软件组件)或软硬件组合也可以 是一个实体。Jini的设计理念就是要让用户在使用计算机周边产品或嵌入式设备 时,能像使用电话一样方便,通过网络拨号即插即用。Jini利用网络动态、灵活变化的特性形成服务群体,以网络为基础在群体中注册服务,发现服务,使用服务,这与传统系统力图隐藏网络的真实情况相反。Jini的主题思想是提供一种 机制使得服务可以被灵活的添加和删除,以形成~个动态的、自愈合的而且无 需管理的分布式体系结构。 Jini代表着分布式计算技术的深刻革命,其目的是通过对分布式资源的高效 处理,提供一种以服务网络为中心的体系结构。它将网络逐渐变成一个方便灵 活且易于管理的工具,不同的网络用户在任何网络群体自然地完成发现、加入、 和参与,即“网络即插即用"【11,同时不会影响到其他的网络用户,从而免去 了耗时的安装、配置和管理。 目前湖北移动已经建设了多样化的投诉处理系统,如双向支撑系统,信令 监测系统,但是这些系统的功能各不相同,在处理一个具体的投诉时,用户需 要打开多个应用界面,并在不同系统中切换操作,使用非常不方便和灵活:同 时对于新员工来说,使用的难度也很大;每一个投诉处理完毕以后,并未实现 投诉的闭环分析,每一例投诉为形成有效的知识管理,影响了维护经验的整体 提升。正是在Jini技术的支持之下,湖北移动集团公司为了更好的提升客户满意 度,加快投诉处理的效率,网管中心集中监控部门特此规划相关的基于Jini技术 的ONE.CM(一个集团公司)理念的GSM/GPRS投诉支援系统,能够让移动集 团现有的系统的功能直接动态地加入或离开,而不会对网络或系统的其他用户 造成任何影响,从而提高工作人员办公的效率,提升客户满意度。 武汉理工大学硕士学位论文1.2Jini技术的发展现状Jini由Sun公司的Bill Joy所提出,在1999年1月25日正式发布后,立刻得到业界的广泛支持,Sun与业界37家领先公司一道积极支持这一突破性的技 术并使之能开发更多新品牌的产品与服务,目前Sun放弃了对Jinj的全权控制, 而把它交给了一个J“群体,这是一个对此项技术有兴趣的开发人员组成的开放 组织。Jini源码可以通过Apache许可协议免费获得,最新的版本为2.1【11。任何 人只要遵循SCSL(Sun community 改有关代码。 目前国外对Jini的研究应用进展的比较多,进行了集成实验和应用【2】。许多 大公司对Jini开展了技术研究,并推出了支持Jini的产品【3】,如Lightflow等公 司正在使用它来实现其在线商店的基础设施。澳大利亚研究中心(AustrianResearchsourcelicense,Sun群体资源许可)都可以修Center)使用J“和WAP技术开发了一个具有完全功能的气象工作站【4】。Nokia正在打算将生产的电话配上Jini功能,Ericsson公司已经推出支持Jini 的代理网络软件。Intuit(Quicken的制造商)则将它应用于其交互式401(K)投资顾问产品中。Zucotto Systems公司正在研究蓝牙与Jinj的互连接性,开发了 基于Jini与蓝牙的无线网络点歌器JBMP3。Eko Systems组织使用Java和Jinj技术开发了一个应用,以创建高敏性环境中的医疗记录,如操作间、急救室等。GeminiObservatory组织同样使用Java和Jini技术来开发了一个关于太空探索的Gemini工程,从而可以支持全世界的太空探索数据(资料)共享。国内对Jini研究应用相对比较晚,国内对Jini研究应用比较成熟的有中国科 学院软件研究所的基于Java和Jini技术的嵌入式系统的分布式浏览器,该浏览‘器实现了把页面解析部分根据需要随时进行扩充,’而嵌入各种信息电器的页面显示端不用重新调整,从而满足日益复杂的Web页面显示要求。海尔集团基于 Jini技术的网络家电【5J等。所以对于国内的计算机厂商和家电厂商来说,需要联 合起来,利用Jini技术进行家电的数字化改造和家电联网关键技术的研究开发, 争取在后PC时代的竞争中处于领先的地位。 Jini技术的出现为后台企业系统的人员建立人员提供了一种方式,使其能够 将软件实现得更具有动态性、更可配置和可升级,同时也更易于部署。Jini最终 会在Intemet设备和企业应用中确立地位,为数字化电子设备和现有计算机网络 之间的连接构筑了一条通道,各种电子设备的联网将产生许多服务,生成新的 经济增长点,推动计算机产业和信息家电产业的发展。2 武汉理_丁大学硕士学位论文1.3本论文的研究内容本论文主要研究以下内容:(1)基础理论研究大量阅读相关文献资料,了解相关的编程技术,熟悉Java编程语言,研究 现有的流行框架如Spring、Hibernate和Jini技术,熟悉掌握MyEclipse开发环境, 熟悉系统开发所采用的相关技术。这些相关理论的研究工作是后面系统分析、 设计和实现的基础。(2)系统分析与设计 深入分析几种流行的框架,设计出一种适合本论文的框架。建立归一化的投诉处理支援系统界面,依托该界面,维护人员将实现基于一个界面统一解决 各类移动业务投诉处理。根据系统分析时得到的功能需求说明和流程图,设计 出系统总体框架,划分子模块,确定各模块的功能和模块间的相互依赖关系, 根据各模块的功能将要用到的数据库表的逻辑结构详细设计成模板确定该系统 的数据库分布,建立数据库表,确定表与表之间的依赖关系,提高系统开发效率。 (3)系统关键技术的实现研究Jini技术的工作原理,实现基于Jini技术的系统服务层。为全国其他 省市和集团公司提供漫游投诉支援功能。湖北地区的系统部署成功以后,他将 作为一个服务工厂(Service Factory)来为各省漫游到湖北的用户提供合适漫游 处理支援服务。1.4本论文的章节安排论文内容主要安排如下: 第1章为绪论,主要介绍相关的研究背景,研究动机和方法以及Jini技术在 国内外的发展现状,论文的研究内容和组织结构。 第2章为开发框架的研究,深入分析几种流行的框架,设计出一种适合本 论文的框架。首先介绍了Web开发的基础平台和框架,接着介绍了几种常用的 开发框架:Spring和Hibernate,最后对于当前应用开发技术在扩展性、重用性 和维护性等方面的问题,研究整合了框架和技术,结合Spring和Hibernate框架 的特点,提出了一种整合Spring+Hibernate的框架,构建了一个模型,形成了一 武汉理工大学硕士学位论文个由Spring负责表现层、业务层,Hibernate负责数据持久层的新的轻量级框架, 实现了层间的松散耦合,为快速构建高效、稳定的Web应用系统提供了基础框架环境。第3章为Jini技术的研究,对Sun公司的Jini技术作了简要介绍,分析了 Jini的几个核心概念:服务、查找服务、代理、租用和事件。研究了基于Jini服 务的分布式体系结构及工作原理。最后根据系统需求设计出系统服务层和部分 代码。系统服务层主要包括以下技术点:1+1冗余单播注册、省市联盟、安全认 证、JavaSpace与资源模型、对象与SPACE。 第4章主要是系统的总体框图设计和实现,实现移动运营商基于Spring和 Hibernate框架下Jini的GSM/GPRS投诉支援系统。同时介绍了本系统的主要技 术特色:Jini群统一访问控制、敏感数据在JavaSpace中的保护方法、桥接服务。 最后论文给出了系统的实现视图和系统的发布情况。 第5章为总结与展望,首先对论文的研究和实践工作进行回顾和总结,阐 述了作者在本文的研究过程中所做的一些相关工作及主要解决的问题,最后对 本文系统如何进行下一步的研究提出了展望。4 武汉理工大学硕士学位论文第2章应用框架分析与设计企业应用软件的开发变得越来越庞大,软件技术也越来越复杂。为此,软件开发人员常常忙于对技术的研发和应用,而忽略了对业务本身复杂性的分析。为了减少软件开发人员花费在软件技术上的时间,而把精力放在对业务本身的 理解,市场上出现了很多解决这个问题的应用框架【6】。这样软件开发人员可以避免繁杂的代码工程,将充裕的时间用来分析、构建业务逻辑的应用。随着J2EE技术的大规模应用,很多技术论坛组织开发了多种框架,其中比较典型的框架 如Struts、Spring和Hibernate。本章首先对这些框架做详细分析,最后根据各个 框架的特点设计出由Spring和Hibernate整合的框架。2.1框架分析2.1.1MVC设计模式MVC(Model.View-Controller)是一个经典的软件设计模式,已经得到广泛 应用。它的主要思想是在各个对象之间取得高层接口【7】。MVC设计模式把用户 界面设计、流程控制和事务逻辑进行了分离,实现了表示与数据的分离。MVC 是~种交互界面的组织结构模型,使用MVC能够实现软件的计算模型与界面模 型的分离;同时它也是一种通用的设计模式,不局限于某一种特定的编程语言 以及应用。MVC设计模式对Web应用开发产生了深远影响,它使得开发人员分 工更加明确,软件维护更加方便。 MVC设计模式将一个完整的应用分为3个组件:Model(模型)、View(视图)、Controller(控制器),每个部分负责不同的功能。在实际应用中,这3个组件既相互独立又相互关联。它把一个应用的输入、处理、输出流程按照模型、 视图、控制的方法进行分离解藕;’(1)Model(模型):模型是应用程序的核心【81。它表示解决方案真正的逻辑采用面向对象的方法,将问题领域中的对象抽象为应用程序对象。在这些抽象的对象中封装了对象的核心数据、对象所隐含的逻辑和功能实现,独立于具体 的界面显示以及I/O操作,是程序执行的关键部分。 武汉理工大学硕士学位论文(2)View(视图):该组件将表示模型数据、逻辑关系及状态信息,以某种 形式展现给用户。视图组件从模型组件获得显示信息,并且对于相同的显示信 息可以通过不同的显示形式或视图展现给用户,视图组件不包括业务逻辑的实 现。 (3)Controller(控制器):控制器是流程控制模块,是视图与模型的接口, 控制模型和视图之间的交互过程,控制模型状态变化的传播,以确保用户界面与模型状态的统一。Web应用中当用户请求到来时,控制器本身不输出任何信息也不作任何处理,它只是接收请求并决定调用哪个模型区处理该请求,然后 确定使用哪个视图组件来显示模型处理返回的数据。控制层的实现和具体应用 无关。 基于MVC模型的W|eb应用的基本工作流程如图2.1所示:图2.1 MVC模型的基本原理图如图2.1所示,整个工作流程可以分为4个步骤。(1)用户通过视图(一般是JSP页面或HTML页面)发出请求: (2)控制器接收请求后,.调用相应的模型并改变其状态;, (3)当模型状态改变后,控制器选择对应的视图组件来反馈改变后的结果; (4)视图根据改变后的模型,将正确的状态信息显示回显给客户端用户。 MVC系统模型明确地将数据的显示和数据业务的处理分开,从而使得逻辑 结构更为清晰。如果数据的显示方式有所改变,只需更改对应的JSP视图页面,6 武汉理工大学硕十学位论文而并不要求更改数据处理模块;反之,如果业务要求发生变化,也只需更改相 应的处理数据模块。因而系统很容易加入新的业务,可以灵活适应各种需求的变化。2.1.2Spring框架Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。 Spring框架是一个分层架构,由7个定义良好的模块组成【81:核心容器、Spring 上下文、SpringAOP、Spring DAO、SpringORM、Spring Wreb模块、Spring MVC框架。Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理bean的方式,如下图2.2所示:SpringORMSpring WebHibernate support iBats support Spring AOP Source.1evelWebApplicationContext Mutipart resolver Web utilities MVC?jSpring Web’.IDO supportWebMVCSpring Context Spring DAO Transaction infrastrucmre JDBC support DAO support Application context UI support Validation JNDI EJB support and remodeling Framework,MetadataAOP in疗2LStructureWeb Views‘JSP/Velocitty PDF/ExportMail蛙j●,之多;Spring Core Supporting utilities Bean container●图2.2 Spring框架的7个模块Spring框架的主要优势是其良好的设计和分层架构,组成Spring框架的每 ‘个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现【9】。软 件开发人员可以只选择Spring提供的某项技术,例如Spring Web模块,而不需 要使用它提供的其他技术。同时,Spring还提供了和其他开源软件的无缝结合, 为J2EE应用程序开发提供了集成的框架。 本文只对到核心容器和Spring MVC框架部分作相应介绍:7 武汉理工大学硕士学位论文(1)核心容器核心容器提供Spring框架的核心功能【lo】。BeanFactory是Spring核心容器 的主要组件,它是工厂模式(定义一个用于创建对象的接口,让子类决定实例 化哪一个类。Factory Method是~个类的实例化延迟到其子类)的实现。BeanFactory使用控制反转(InversionofControl,不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个 组件需要哪一项服务,将设计好的类交给系统去控制)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。(2)Spring MVC框架Spnng提供了MVC模式的实现,通过策略接口,MVC框架变成为高度可 配置的,MVC容纳了大量视图技术,其中包括JSP、Velocity、Tiles、iText和 POI,使用起来非常方便,但它不强迫开发人员使用。如果开发人员对其他的 MVC框架比较熟悉,仍然可以使用它们。Spring对此提供了很好的支持,例如 Spring可以和Struts集成在一起,本文正是利用Spring的此特点与Hibernate开源集成一个框架。Spring框架的功能可以用在任何J2EE服务器中,大多数功能也适用于不 受管理的环境。Spring采用了IOC(InversionofControl,控制反转)使代码对Spring的依赖减少,根据W曲应用,小应用程序,桌面应用程的不同,对容器的依赖程度也不同。Spring将管理的Bean作为POJO(PlamOrdinary JavaObjects,简单的Java对象)进行控制,通过AOP(面向切面)能够增加其它的功能。2.1.3Hibernate框架Hibernate是目前流行的ORM(对象关系映射)开源框架,已经被广泛的应 用于在各类软件开发中。Hibernate是一种对JDBC做了轻量级的对象封装,所 谓轻量级封装是指没有完全的封装JDBC,Java应用即可以通过HibernateAPI访问数据库,也可以绕过Hibernate API,直接通过JDBC API来访问数据库。使 得Java程序员可以随心所欲的使用对象编程思维来操纵数据库【ll】。.Hibernate的核心接El和类一共有5个【l 31,如图2.3所示,分别为:Session 接口、SessionFactory接口、Transaction接121、Query接口和Configuration类。 这5个核心接口和类在任何开发中都能用到。通过这些接口和类,可以对持久 化对象进行存取,也能够进行事务控制。 武汉理工大学硕士学位论文l―[,: JND―I 7――JD匠BC]―[二,口rA l L一一一一一一一…一…一一…一一…一…一…一一…一一一一一一jJ图2-3Hibernate框架的五个的核心接El下面对这五个的核心接口分别加以介绍: (1)Session接El:Session接口是Hibernate中的核心接口[14】,Session对象 是Hibernate技术的核心,持久化化对象的生命周期、事务的管理和持久化对象 的查询、更新和删除都是通过Session对象来完成的。 (2)SessionFactory接口:SessionFactroy接口负责初始化Hibernate。它充 当数据存储源的代理,并负责创建Session对象。SessiortFactory接口使用了工 厂设计模式。通过SessionFactory对象可以获取Session对象。 (3)Configuration类: Configuration类的主要作用是解析Hibernate的配置文件和持久化映射文件中的信息,然后通过Configuration对象的buildSessionFactory0方法创建SessionFactory对象,所以Configuration对象一般只有在获取SessionFactory对象时需要使用。 (4)Transaction接口:Transaction接口是对实际事务实现的一个抽象,这 些实现包括JDBC事务或者JTA等。这样设计允许开发人员能够使用一个统一 的事务操作接口使得自己的项目可以在不同的环境和容器(Container)之间方便 地迁移。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。 (5)Query接口:使用Query对象可以方便查询数据库的数据,它使用QBC、QBE、HQL或者原生SQL(Native SQL)查询数据【15】。Query对象不仅能查询数据,还可以绑定参数、限制查询记录数量,以及批量删除和批量更新等。9 武汉理T大学硕十学位论文2.2Spring整合Hibernate的框架设计在Spring整合Hibernate的架构中,Spring充当了一个容器的作用,Spring框架有成熟的标签库,所以Web层主要由Spring框架实现;同时Spring框架拥 有依赖注入和事务管理功能,因此同时可以用于业务逻辑层;数据持久层主要 使用Hibernate实现O/R Mapping,对JDBC进行轻量级的对象封装,建立Java 对象模型的持久化对象【l 61。Spring使用IOC接管了Hibernate的DAO,因而能 充分管理事务和代理request请求。经过IOC容器的处理后,针对面向接口的编程使软件项目的分层更明确。 整合架构的总体结构如图2.4所示:图2-4Spring和Hibernate整合总体结构图如图2.4所示,MVC分别对应使用以下几层: (1)M(Model)层:Spring; (2)V(View)层:JSP: (3)C(Comroller)层:Spring; (4)持久层:Hibernate。10 武汉理丁大学硕士学位论文Spring对Hibernate的DAO进行了非常好的封装,使程序开发者完全不用 理会事务,只需要一心一意地开发业务。Spring作为统的整体基础架构,它负责MVC的分离f17】,同时提供业务层的支持,整合Hibernate来提供持久层支持。表示层通过本系统的应用目录下的webapps\gprs\W.Ea―INF\gprs,-,controller.xml和 业务层(Spring)相互动,动态获取和返回显示表示层的数据,数据持久层(Hibernate)通过webappS\gprS\WEB―INF\gprs_data.xml和Spring相交互,实时访问数据库。组合之后框架更加灵活,更容易维护,从而消除了单独使用这些框架开发系统的不足【18l。 具体整合实现方法是在servlet容器中的webapps\gprs\WEB一1NF\web.xml文 件中加入如下代码:<context-param> <param-name>contextConfigL,,oeation</param?-name><param―value>WEB?INF/gpm-data.xml,WEB-INF/gprs,-controller.xml</param?.value></context.?param>2.2.1表示层分析与实现表示层是面向用户的界面,是用户与系统之间交互的媒介。本文系统以自 己的定义的配置文件webapps\gprs\WEB?INF\gprs?controller.xml为核心,使用 Spring实现表示层,由Spring的控制组件Controller类承担MVC模式中Controller 的角色【191,用于控制Httprequest,调用业务逻辑层及处理返回的HttpResponse。 Controller类封装用户界面的数据元素,Controller类实现业务逻辑、动作处理和 链接转向。 本文实现表示层方法部分代码如下: (1)在gprs.controller.xrnl配置文件里配置指向控制器的URL(UniformResourceLocator,统一资源定位符,也被称为网页地址)。部分代码如下:<property name2”mappings’2> <props> <prop key=”/mairdlogin.ocg”'>loginController</pmp> <prop key=”/main/modelSelect.ocg”>modelSelectController</prop> <propkey=”/main/stateQuery.ocg”>stateQueryController</prop> 武汉理工大学硕士学位论文。<prop <prop <prop <propkey=”/main/logQuery.ocg”>logQueryController</prop>key=”/main/cdrQuery.ocg”>cdrQueryController</prop> key=”/main/trace.ocg”>traceController</prop> key=”/main/stateres.ocg”>stateMsgController</prop>如上代码所示,login.ocg等为指向控制器的URL,由自己定义,一般符合规范即可,其中ocg为后缀,需在webapps\gprs\WEB-INF\web.xml文件映射配置相同参数,不可变。(2)在webapps\gprs\WEB-INF\gprs-controller.xml配置文件里配置Controller 类。部分代码如下:<bean id=”queryBlackUserController’’class=”corn.wri.hy.onecgs.web.sins.controller.QueryBlackUserController”></bean><bean id=”queryBlackUserlnfoController” class=”tom.wri.hy.onecgs.web.sms.controller.QueryBlackUserlnfoController”></bean><beanid=”deleteBlackUserController”class--”corn.wri.hy.onecgs.web.sms.controller.DeleteBlackUserController”> </bean>如上代码所示,queryBlackUserController等为bean的具体对应id,必须在gprs.controller.xml文件中是唯一值,不可重复,指向对应的class,即对应的相 关业务层。2.2.2业务层分析与实现业务逻辑层在体系架构中的位置很关键,处于表示层和持久层之间,是表 示层与持久层之间交互的媒介,起到了数据交换中承上启下的作用。主要职责 是实现业务逻辑,由Spring通过依赖注入实现业务组件的组装关联,降低业务 组件之间的耦合性。 本文实现业务逻辑层方法如下:在gprs―controller.xml配置文件里配置依赖注入,部分代码如下:<beanid=’’loginController”class=”corn.wri.hy.onecgs.web.sgsn.controller.LoginController”>12 武汉理工大学硕十学位论文<property name=”commandClass”><value>tom.wri.hy.onecgs.web.form.User</value></property> <property name=”userService”><ref bean=”userService”/></property> </bean> <bean id=”userService”class=”corn.wri.hy.onecgs.dao.UserServicelmpl”> <property name=”hibemateTemplate”> <ref bean=”hibemateTemplate”/> </property></bean>如上代码所示,对应的控制器引用的相关接口都在所对应bean的property 属性中配置。接口又可在下一个bean中配置,实现接口和接口实现的依赖注入。2.2.3持久层分析与实现本论文设计的框架是集成Spring和Hibernate,同时Spring倡导的是非侵入 式的开发,也就是无需为Hibernate特别修改之前开发的代码就可以将当前的应 用程序平滑过渡到Hibernate。 (1)在使用Hibernate之前,首先应当配置dataSource,使用BasicDataSource 作为dataSource,接着在此Bean里面的配置对应的数据源属性:包括驱动名称、 数据源URL、数据库的名称和密码。在配置文件gprs?data.xml配置数据源代码如下:<beanid=”dataSource”class=”org.apache.commons.dbcp.BasicDataSource”><property name=”driverClassName”><value>corn.mysql.jdbc.Driver</value></property><property name="url”><value>jdbc:mysql://202.1 14.172.139:3306/gprs?characterEncoding=GBK&useUnicode=true&autoReconnect=true</value> </property><property nanle2”usemanle’’> <value>root</value>‘13 武汉理工大学硕士学位论文</property> <property name=”password”> <value></value> </property></bean>如上述代码所示,本文数据源,URL中加入了“characterEncoding=GBK& useUnicode=true&autoReconnect=true”这段代码,专门解决显示层和数据库 之间的中文乱码问题。(2)持久层需要配置的是sessionFactory(-r_V模式㈣),一个包含Hibernate公用信息的Bean,该Bean将作为Hibernate DAO所使用,在对应配置文件中只 需定义一个org.springframework.orm.hibernate3.LocalSessionFactoryBean,然后指 出它的多个属性。本论文是在配置文件gprs.data.xrnl配置sessionFactory,部分 代码如下: <beanid=”sessionFactory”class=”org.springframework.orm.hibernate3.LocalSessionFactoryBean”singleton=”true”lazy-init=”default”autowire=”default” dependency-check=”default”> <property name=”dataSource”> <ref bean=”dataSource”/> </property> <property <list>name=”mappingResources”><value>/hibemate/log.hbm.xml</value> <value>/hibemate/user.hbm.xml</value> </list> </property></bean>如上述代码所示,sessionFactory中有对应的dataSource和mappingResources 属性,本文的数据库映射文件主要包括代码所示的log.hbm.xml和user.hbm.xml 两个文件。 (3)映射文件的内容。 本文的映射文件包括2个:log.hbm.xrnl、user.hbm.xml。现展示109.hbm.xrnl14 武汉理工大学硕士学位论文部分代码如下:<hibernate-mapping> <class name=”corn.wri.hy.onecgs.VO.LogPOJO”table=”l094cml”> <idname=”id”type=”int”column2”id”><generator class=”increment”/> </id> <propertyname=”account”length=”30”/><property name=”title”length=”1 00”侈 <property nalTle=”result”type=”int”/> <propertyname=”createtime”></property></class> </hibernate―mapping>如上述代码所示,log.hbm.xml、user.hbm.xml主要配置对应的日志对象和用户对象,实现通过映射文件的配置,在数据库自动生成对应的数据库表结构和属性值。2.3本章小结本章首先介绍了Web开发的基础平台和框架,接着介绍了几种常用的开发 框架:Spring和Hibernate。最后对于当前应用开发技术在扩展性、重用性和维 护性等方面的问题,结合Spring并n Hibernate框架的特点,提出了一种整合Spring、 Hibernate的框架。根据整合框架构建了一个模型,形成了一个由Spring负责表 现层、业务层,Hibernate负责数据持久层的新的轻量级框架。本文框架的优点 是实现了层间的松散耦合,为快速构建高效、稳定的Web应用系统提供了基础框架环境。15 武汉理工大学硕士学位论文第3章基于Jini技术的系统服务层需求分析与设计Jini是一个阿拉伯语中的单词,其含义是“神奇”【211,Microsystems的官方文 档定义为【22】:Jim是一个基于由用户群组和用户群组所需资源所结成的联盟思想 的分布式系统。系统的总体目标是将网络转变为一个灵活的、易于管理的工具, 使资源可以由人或者其它客户发现。系统的中心就是通过灵活地增加和删除服 务使网络成为一个能更好地反映工作群组动态特性的更加动态的实体。 Jinj是一种与协议无关的分布式计算体系结构,可以与任何分布式对象采用 任何协议进行交互,允许服务动态地加入或离开,而不会对网络或网络用户造成任何影响。其中服务指的是任意实体提供的一组功能,实体可以是计算机硬件设备(如计算机、打印机、扫描仪等),也可以是电子设备(如声频、视频等)、 电气设备(如微波炉、电视等),另外,软件(软件组件)或软硬件组合也可以是一个实体。J觚的设计理念就是要让用户在使用计算机周边产品或嵌入式设备时,能像使用电话一样方便,通过网络拨号即插即用。Jini利用网络动态、灵活 变化的特性形成服务群体,以网络为基础在群体中注册服务,发现服务,使用服务,这与传统系统力图隐藏网络的真实情况相反。J“的主题思想是提供一种机制使得服务可以被灵活的添加和删除,以形成一个动态的、自愈合的而且无 需管理的分布式体系结构。3.1Jini的基本概念Jini所支持的动态地自配置、自管理、自恢复都是基于其基本概念。分别为以下几个基本概念:查找、发现、加入、租约和远程事件【241。 (1)查找 查找服务是Jini对动态的分布式定位需求而做出的解答,在Jini系统中是一 个关键的组件,查找服务就是联盟的Jinj网络中的中心命名和目录服务(一般称 之为djinn)。在查找服务中,服务提供者得以注册其服务,同时向Jini群体中的 其他成员公布服务的可用性,也是服务请求者(客户)利用一个已经协商好的查询模板(服务模板匹配类ServiceTemplate)[251寻求所需服务提供者的主要场所。 武汉理工大学硕士学位论文(2)发现发现协议定义了一个服务提供者或一个服务请求者如何找到某个查找服务, 在Jini中,发现协议允许服务提供者和服务请求者通过使用多点传送请求、多点 传送宣布和单点传送协议从而动态地确定附近的或已知的查找服务的位置。服 务请求者通过一个多点传送请求协议来表示其感兴趣的需求,而查找服务对此 则通过一个基于TCP的单点传送协议做出响应【261。服务请求者通过与查找服务 交互从而结束整个协议,并且获得其所需的服务代理。如查找服务的位置是已 知的,则服务请求者就使用单点传送协议。(3)加入加入协议定义了一个服务应该如何在查找服务中注册,并如何在群体中作 为一个良行为(well.behaved)的服务。服务提供者要在查找服务中以相同的服 务ID和服务属性进行注册。(4)租约租约是一种合约,从而可以在一个已经约定好的时间段内使用资源或服务。 租约使用了一个基本接口,出租者必须利用此接口向承租者提供一个租用对象。 承租者则使用此租用对象来完成一些租用维护工作,如续租、取消和租用映射 等。无论是出租者还是承租者都可以选择将这些工作委托给一个第三方服务来 负责,该第三方服务能够代表其来处理所有与租用相关的任务【27】。 (5)事务 Jini事务模型是一个完成协议,使用两段提交作为其完成协议,并提供了 相应机制在事务管理器、事务参与者和事务接口采用此协议【281。通过事务中提 供租用,可以使其相对于传统的事务系统功能更加强大。(6)代理代理是Jini的核心概念之一【291,所谓代理就是为其他对象提供一种代理以 控制对这个对象的访问,Jini是分布式体系结构,远程调用比较频繁,代理一般 代表远程对象的本地对象,方便本地操作。17 武汉理工大学硕士学位论文3.2基于Jini服务的工作原理Jini服务的工作原理一般分为2个步骤:服务提供者注册到Jini群体和服务 请求者请求Jini群体中的服务。现对这2个步骤进行分析如下:3.2.1服务注册服务提供者注册到Jini群体【30】一般有下面3个步骤: (1)服务在网络中利用发现协议在一个公开的端口向网络发送一个多路广 播发现包,该包包含对自己的引用,找到一个或多个查找服务。 (2)Jini群体中的查找服务在一个公开的端口进行监听,当接收到发现包后,就对此服务提供者做出响应。(3)服务收到查找服务的响应之后,加载到此查找服务,同时服务的特征、 描述以及其类型都作为一个代理对象得到了封装。这样此服务就加入到网络中的Jini群体。3.2.2请求服务服务请求者请求Jini群体中的服务f30J一般有下面4个步骤: (1)需要某个服务的服务请求者使用发现协议加入Jini群体。它可以在Jini 群体中找到一个或多个查找服务。 (2)定位查找服务后,服务请求者将基于服务类型在查找服务中寻找自己需要的服务。(3)如果找到自己需要的服务,服务请求者利用代理将此服务移动到客户 端。现在服务请求者就可以通过调用代理对象控制此服务的相关属性和方法,就像调用本地服务一样。(4)服务代理下载到客户端之后,某个服务请求者就能根据其自己的需求 创建、协商或终止服务提供者的租用。 3.3 JavaSpaceJavaSpaces是用Java所发展的技术,是以RMI(Remote MethodInvocation,远程方法调用)实现其网路通讯的功能。在分布式计算应用程序中,对象之间 应当能够相互通信、共享信息。JavaSpaces提供了对象的提供者和请求者可用 武汉理工大学硕士学位论文来方便地进行通信的共享虚拟空间,这允许以Java对象的形式对任务、请求和 信息进行简单的交换p”。JavaSpaees技术是基于Jini技术,为Java软件对象的 相关组件的通信和存储而提供的Jini服务。JavaSpace是一个强大而有效的网络 分布式计算的编程模型和工具t32]. Jini提供了在分散式环境中寻找(100k-up)、注册(registration)、租借(1eEtsing) 等功能。而JavaSpaces则负责管理分散式物件的处理程序(processing)、分享 (sharing)、咀及流通(migration)等p3】。具体协作关系如图3-I所示:I■■p口图3-1 Jinl与JavaSpace的协作关系图罚■o如上图3-1所示,Jini与JavaSpaces彼此存在着相互合作的关系。JavaSpace 是一个利用Jini基础结构并向其他Jini客户机和服务提供其功能的一个Jini服 务。JavaSpace的主要特性是可以存储数据而且可以系列化存储对象,这些对象 是数据和方法的集合,其中的方法可以在任何Java虚拟机上执行。这样做的结 果是获得了“分布式系统中对象的连续性”,这意味着JavaSpaee中的对象可以 从一个机器传到另一个机器而保持原来的特性不变。JavaSpaees就好像Jini群体 上的一个市场,汇集了Jini服务提供者、服务请求者的一个平台。它提供一个简 单、快速、统一的介面,让Jini群体上分散的服务可以被分享、协调与流通p4I。 在JavaSpace里,含有数据的对象、应用程序和计算机本身都被打上标识.用户 们没有必要知道计算资源确切的位置,只需要通过抽象的逻辑地址就可以使用 它们。服务请求者不必考虑怎样去找到服务提供者以及它的物理地址,只需要 通过JavaSpace,服务请求者和服务提供者就可以相互通讯。 武汉理_亡大学硕士学位论文3.4系统服务层需求分析GSM移动通信网络的特点是用户能够在网络中自由的移动,当用户在拜访 地发生业务使用故障时,投诉处理的流程是由归属地的投诉处理人员联系漫游 地的投诉处理人员,整个业务的处理流程较长。另外为了支持用户投诉处理, 目前湖北移动已经建设了多样化的投诉处理系统,如双向支撑系统、信令监测 系统、网络运行分析系统,但是这些系统的功能各不相同,在处理一个具体的 投诉时,用户需要打开多个应用界面,并在不同系统中切换操作,使用非常不 方便和灵活,同时对于新员工来说,使用的难度也很大。同时,每一个投诉处 理完毕以后,并未实现投诉的闭环分析,每一例投诉为形成有效的知识管理, 影响了维护经验的整体提升。由于上述三个问题的存在,影响了湖北移动GSM/GPRS投诉处理的效能。为了能够让移动集团现有的系统的功能直接动态地加入或离开,而不会对网络或系统的其他用户造成任何影响,从而提高工作人员办公的效率,提升客户满意度。网管中心集中网管部在2008年技术攻关成功开发GPRS投诉支援系 统的基础上,考虑到全国的移动公司网管中心都有相类似投诉处理需求,规划 了一套基于Jini技术服务于整个中国移动网络维护部门的GSM/GPRS投诉支援 处理系统,该系统建设完成以后将完成以下四大方面的主要功能: (1)建立归一化的投诉处理支援系统界面。依托该界面,维护人员将实现 基于一个界面统一解决各类移动业务投诉处理。 (2)为全国其他省市和集团公司提供漫游投诉支援功能。例如:湖北地区 的系统部署成功以后,他将作为一个服务工厂(Service Factory)来为各省漫游 到湖北的用户提供合适漫游处理支援服务。 (3)建立投诉处理相关的知识管理。系统将实现对投诉案例的闭环处理, 归纳投诉案例中蕴涵的知识结构,为后续的投诉处理形成知识库支持。 (4)集团公司提供对全网服务节点的服务注册,服务发布,服务桥接和服 务管理,构建用于支援全国投诉处理的核心支援平台。 系统建设完成以后最终形成一个基于Jini技术的全国投诉处理服务可以动 态的加入或离开、自愈合的而且无需管理的分布式网络,从而提高工作人员办 公的效率,提升客户满意度。20 武汉理工太学硕士学位论文3.5系统服务层总体设计3.5.1总体框架本论文主要采用SOA架构口”(Service-oriented architectⅢ'e,面向服务架构), 将应用程序的不同功能单元(服务)通过这些服务之间定义良好的接口和契约 联系起来,服务层可以直接被应用调用,从而有效控制系统中与软件代理交互 的人为依赖性。这样进行系统两级建设,会更加真实地反映出与业务模型的结 合,更加精确地表示业务模型、更好地支持业务流程,提升了开发效率、加快 开发速度、降低在客户端和人员技能的投入,总体组网如图3-2所示:图3.2基于ONE-CM架构的投诉支援系统总体架构 武汉理工大学硕七学位论文从图3.2可见基于ONE.CM架构(~个集团公司)的投诉支援系统分为两层架构,其中第一层是集团核心层,而第二层是各省的集群层。各层完成的功 能如下: (1)集团核心层:实现对全国各省的服务器(LSU)提供投诉支援服务注 册,服务发现,服务桥接,全国服务节点管理四大功能,实现将全国各省的服 务器形成服务联盟:(2)省级服务器群集:实现对本地的各类投诉支援服务器的接入,服务注册,服务发布,本地服务调用,异地服务调用,和异地服务支援。 基于上述的结构,集团公司的核心层的关键任务是规划各省GSM/GPRS投 诉支援系统需要向集团提供的服务接口规范和网管接口规划,并依托上述规范 集成一个1+1备份服务注册中心(2个服务中心,避免只有一个服务中心崩溃影响业务的正常操作),实现全国服务联盟的组建功能。相关的核心技术是基于 开源计算平台J诚技术实现。而在各省层面,需要完成的工作有两部分,首先是根据集团公司规划的服务接口规范和网管接口规范集成本地的服务注册中心,实现本省服务联盟的组建;其次是整合本省现有的各类投诉支援平台,建设本省的GSM/GPRS投诉支援系 统,并以服务方式发布到本地的服务注册中心,进而发布到集团的服务注册中 心,相关的核心技术是基于ESB(企业级服务总线)136】,具体的实现是基于开 源计算平台MULE。3.5.2核心逻辑结构目前分布在各省的GSM/GPRS投诉支援系统的核心软件结构,主要来讲分为四大部分:分布式Jirti服务接入点(SAP),Jini服务注册中心(几S),分布式数据库(JAVA SPACE)和本地服务单元(LSU)。 上述四部分的功能描述如下: (1)分布式Jinj服务接入点(SAP):为上层人机界面和外省的GPRS/GSM投诉支援系统提供归一化的服务接入点,进而实现服务的单点接入和单点提供功能,保障了系统清晰的分层结构。 (2)Jini服务注册中心(JLS):为本地的服务实体提供服务的注册,查找功能和下载功能,实现分布方式环境下本省多个服务单元的协同工作;另外和外省的Jini服务注册中心实现互相注册的功能,实现联盟的计算环境,实现跨省的 武汉理工大学硕士学位论文协同工作。 (3)分布式数据库(J SPACE):为本地的各个服务单元间提供服务对象的存储,转发功能,成为分布式应用下的消息交换中心,简化各个服务单元的消息交换。 (4)本地服务单元(LSU):实现对本省已经建设好的各类投诉支援的系统 进行服务封装和服务注册功能,使得这些服务能够统一的被本地和异地所调用。 一个LSU可以管理一个和多个不同的LSAU(本地服务接入单元),从而实现服 务的接入功能。各省的GSM/GPRS投诉支援系统的核心软件结构如图3.3所示:厂 、User function\ServiceAdmin Function Service,/\/\7/t/弋//\、/,,.//j(JINI SAP)tLSU service\、\\//JLS胄私、状念查询 用户日志查泡 Q球查询 用户跟踪磊套\// ,/ /JINI~~~一j― 一。^.,..,,,p// 、、、、、、-.-.、~~~一L一:N乳儿interfi lCe~0 LAU0图3―3基于ONE.CM理念的GPRS/GSM投诉处理支援系统软件架构图综合上面的分析,我们可见Jini服务注册中心是系统运营的核心,实现各类 投诉处理支援服务以及公共支援服务的自适应管理,保障了服务的健壮性和灵 活特性;Jini服务接入点是服务调用的关键,基于归一化的接入点管理,使得各 省投诉支援系统支持的各类功能都能够简便的被本地用户和异地系统所调用, 保障了系统的互操作性能。本地服务单元是服务封装的内核,通过本地服务单 元的适配工作,能够将本省的各类服务实现标准化重用,实现了各省现有投诉支援系统的可重用性,保护了各省公司的投资。而分布式数据库是系统运营必 武汉理工大学硕士学位论文要的支持,基于这一数据库屏蔽不同应用之间对象传递的细节,极大的简化了 分布式系统设计的工作,保障了多个服务单元协同工作的效能。3.6系统服务层详细设计3.6.11+1冗余单播注册实现Jini的群名由系统读取配置文件outrigger.config确定,配置文件 outrigger.con.fig由co竭iniservice.exe读取配置文件conf.properties生成,配置文 件conf.properties内容如下:initialMemberGroups2cm llocalhostip=1 92.1 68.0.1grouplookupurl=jfini:H 192.168.0.1;jin\://192.168.0.2password4JavaSpaceEncrypt-tttttttttttttttttttttttttttt netld=0#netname=中国移动主netname=\u4E2D\u56FD\u79FB\u52A8\u4E3B#netname=中国移动备#nemame=\u4E2D\u56FD\u79FB\u52A8\u5907#netname=湖北移动#nemame=\u6E56iu5 3 1 7\u79FB\u52A8#netname=江苏移动#netname=\u6C5Fku82CF\u79FB\u52A8#nemame=jk京移动#netname=\u53 1 7\u4EAC\u79FB\u52A8 netEname=china mobileuser4rsap=cm2 pwd4rsap=1 1 1 isGroup=true isFederate=false各省启动时从自己的启动配置文件outrigger.config中获取初始单播注册地址,代码如下: initialLookupLocators---newLookupLocator[]{ newLookupLocator(’3im:H192.168.0.1”),newLookupLocator(’'jini://192。168.0.2”)>; 武汉理工大学硕士学位论文集团启动时从自己的启动配置文件outfigger.config中获取初始单播注册地 址,代码如下:initialMcmberGroups=newString[]{”Ⅲl”);initialLookupAttributes=newErW[I{newLookupEntry4Cm(呻国移动主”,’’chillamobile“,newInteger(O),ncwBoolean(fal蚋,“192.168 newIntege峭160),new0.1”,Long(System currgntTimeMillisO))};各省JLS根据initialLookupLoeators属性中的SMU地址逐一向集团SMU中 JLS发送TCP单播发现协议中请求消息报文。集团SMU中JLS接收到请求消息 报文后给出响应消息。在各省的LSU上,能够通过“服务管理”÷“m管理” 查看本省SMU配置了哪些单播注册的地址,同时可以同步更新单播地址。1+1 冗余单播注册具体示意图如图3-4所示:一+单赫注量图3-4 1+1冗余单播注册示意图在实现1+1冗余单播注册的时候,UML(UnifiedModelingLanguage,统一建模语言)口1类图’(包含主要元素有类、接口、协作和关系).用来显示1+1冗余单播注册中的类、接口以及他们之间的静态结构和关系。本系统是按照如下方式实现的:通过调用接口R晒strar来实现1+1冗余单播注册,接口Re西str缸继承接I=1 JionAdmin,同时被类Regista'arlmpl实现注册功能。具体效果见国3-5 所示: 武汉理工大学硕士学位论文<<Jnterfa―、mbaku畔InbmBs0’|ddLookup*~tfibutes0 ’mDd■h口kup^nrIbmBsORo自Im∞r帅mmlgii) ’”gistenO,Dokup0 )ook.PO.nm竹0≈:器黜篙o―――伊 ..日=Sw’icmTypesO..gwtLocutor0 .|dc眦inb=elO'9etLookupGmups0’mm嗍Loaku_0mu口s0’setLookupGmups0'|ddLagkupGcoups0匿\\、‘_阜mc口h口Ben、、≈裟船哿” ●cjn…IS’etLeokopLocztomO %ddLaOkLlpLac=omOV、’mm哪LookupLacatom0~mLookupLoc=tomO“5im…■1日 gImtm“…{-―Tmns?mR。glmmnmplOJ图3.5 1+1冗余单播注册具体实现实现效果如图3-6所示:“磷‰图3-6 1;1冗余单播注册实现效果图‰如图3-6,l+l集团SMU分别用“中国移动1”和“中国移动2”表示;。北 京移动”、“江苏移动”和“湖北移动”分别表示省市SMU,这些省市SMU同 时向“中国移动1”和“中国移动2”进行单播注册。“中国移动1”和“中国移 动2”为主各关系,只要一个正常运行就可以,此举提高集团服务的稳定性。 武汉理工大学硕士学位论文3.6.2省市联盟联盟管理中心向集团SMU中JLS服务的事件中心订阅JLS服务变化事件。 当省SMU进行注册或者退出时,集团SMU事件中心发出通知。联盟管理中心 接收到通知后启动联盟任务,联盟任务从集团SMU中查找当前已经注册的省 SMU,将省¥MU的服务属性LookapEntry4Cm(类LookupEnta'y4Cm实现如下 属性:查找服务所在地中文名称、查找服务所在地英文名称、所在地编号、是 否联盟标志,集团查找服务是不需要进行联盟的,应该设置为false,各省公司 需要联盟、查找服务主机P地址、查找服务监听端口、系统启动时间,单位毫 秒)中支持联盟的省SMU挑选出来进行一一联盟。省市联盟具体示意图如图3.7 所示:省SIVIU集团SIvlIJ4通知l订凶成d1订阅 r――――――――――]r――――――――――――1T ’煮一纛一r联盟任务1.三旦i叫联盟管理中心l图3-7省市联盟示意图具体实现:Service,EvcaatListenex继承RcmoteEvcntListencc接口,se州∞Evcn也is咖疵gigH碰∞实现ScrviccEventListeneri类LookupEntry4Cm实现AbstractEnlry接口,具体见图3-8和图3-9: 武汉理工大学硕士学位论文<<Interface>> Remote EventLastener 婶om●V-n々◆notify0LDokupEnt ry4CmSer“ceE-ventListenorcrtOm lieIrvie●){tram ent∞妒homeChName:Logical Vie、^r:java;:Ian口::String ohomeEnName:Log ucal View::java::lang::String 妒homeld’Logical View::iava::lang::Integer <>isFederate:Logical View::iava::lanq::Boolean 诊ipAdress:Logcal View:java::lang:St ring 妒port:Logical View:iava::Iang::Intefler ostartUpTime:Logical View:java::lang.:Long◆se~IceEventUst日nBr0 ◆getStub0 4l'notffy0|卜Se rvicoEventLintene rl≈eg ist rationarom sqltvio-)◆ServiceEventListenarRegistration0●'reg=ster0’LookupEntry4CmO 1-LaokupEntry4Cm0图3-8接口关系省市联盟过程如下: (1)湖北移动JLS启动并向集团JLS进行注册;图3-9 JLS服务属性(2)联盟管理中心接收JLS服务变化通知,并启动联盟任务; (3)联盟任务从集团JLS中查找出湖北移动JLS服务,判断不满足联盟条件后退出;(4)江苏移动JLS启动并向集团JLS进行注册; (5)联盟管理中心接收JLS服务变化通知,并启动联盟任务; (6)联盟任务从集团JLS中查找出服务属性LookupEntry4Cm中属性isFederate 为true的JLS服务,找到湖北移动和江苏移动;(7)联盟任务通过湖北移动JLS管理接口JoinAdmin中方法addLookupLocators增加江苏移动几S的单播地址; (8)联盟任务通过江苏移动JLS管理接口JoinAdmin中方法addLookupLocators 增加湖北移动JLS的单播地址; (9)湖北移动和江苏移动JLS互相发送单播发现协议中请求消息并分别给出响应消息:(10)湖北移动和江苏移动JLS联盟成功。3.6.3安全认证安全认证接口实现策略效果图如图3.10: 武汉理工大学硕士学位论文1!通过后 访问外{是:GIobalSMURServiceAP图3.10安全认证协助效果图安全认证过程如下:(1)集团Jini群中提供一个认证服务LSU,该认证服务启动时将各省用户认证 信息保存到JavaSpace中; (2)当A省请求B省远程服务时,首先需要进行鉴权; (3)B省远程服务向集团SMU查找认证服务,并要求鉴权。 (4)认证服务找到集团Jini群中的JavaSpace服务;(5)认证服务根据请求用户名定制查找模板。 (6)将从JavaSpace查找获得的密码进行解密;(7)判断两个密码是否一致;(8)如果一致则鉴权通过并告知B省远程服务;(9)B省提供远程服务给A省。 具体实现:类AuthenEntry继承抽象类AbstractEntry,封装如下属性:userName(用户名)、passwordEncrypted(加密口令)、companyNarne(公司名称)三个字段。UML类图如图3.11所示: 武汉理工大学硕士学位论文图3―1 AuthenEntry实现代码如下:1JavaSpace存储的鉴权对象public class AuthenEntry extends AbstractEntry{ f|甩产韬public String userName;//Dn密口令public String passwordEncrypted;//公司名称public String companyName; publicAuthenEntry(){ superO; >publicAuthenEntry(String userName,StringStringpasswordEncrypted,cornpanyName){ super();this.userName=userNarne;this.passwordEncrypted=passwordEncrypted;this.companyName=companyName;) } 武汉理]二大学硕士学位论文SecurityCenter和JSpace的操作关系如下图3―12所示:图3-12 SecurityCenter和JSpace的操作关系从图3.12可知,将每个用户的鉴权对象密码存储在JSpace,存入到JavaSpace 中的密码采用MD5加密算法【3引,对一段信息(Message)产生信息摘要 (Message―Digest),产生一个“数字指纹”,以防止被篡改。3.6.4JavaSpace与资源模型资源模型在JavaSpace中的存储过程如下: (1)各省公司周期性向集团远程服务同步资源模型; (2)集团远程服务收到同步请求后将省公司资源进行加密并标上时间戳(后期 用于判断资源模型是否过期); (3)集团远程服务首先获取Jini群中JavaSpace服务; (4)集团远程服务根据网络编号设置查找模板; (5)集团远程服务将原有存储在JavaSpace对应的资源模型删除: (6)集团远程服务将新的资源模型添加到JavaSpace中。 (7)集团网络节点对象存储示意图如图3.13: 武汉理T大学硕士学位论文图3.13集团网络节点对象存储示意图实现代码如下:JavaSpacejs=ServiceGetter.getJavaSpace(100kupGroups,null);//设置查找模板AuthenEntry template=new AuthenEntry0;template.userName=userName;AuthenEntryauthenEntry=(AuthenEntry)JavaSpaceUtil.readEntryWithNoWaitAndNoTrM(j s,template);if(null===authenEntry){.ruie=null;) //进行合法性检查if(EncryptUtil.checkPassword(password, authenEntry.passwordEncrypted))32 武汉理工大学硕士学位论文ruie=IlewRemoteUserlnfoEntry0;ruieuserName=userName; nilecompanyName=authenEntrycompanyName;rule rcrnoteIp2null;,3.6.5对象与JavaSpace使用JavaSpace的优势,Java¥pace服务为Java对象提供分布式的共享存储 器,任何与Java兼容的客户端都可以将共享对象放进这个存储器中,JayaSpaces 采用了以Java为中心的策略,它不是数据存储服务,而是对象存储服务,也就 是说,它保存完全的、有效的Java对象;事实上,它也只能保存Java对象, JavaSpaces彻底理解Java类型系统,可利用类型语义使需要存储、寻找和取出 Java对象的应用更加自然贴切。具体应用如下图3―14;图3-14 SAP访问日志存储示意图 武汉理工大学硕士学位论文如上图3.14所示,所有服务对象直接写入JavaSpace中,同时向操作记录 模板写入一个事件。当JavaSpace中有更新对象时,通知操作记录模板来提取相 应对象进行持久化操作保存对象到数据库。使用JavaSpace集中存储SAP访问日志有如下优势:(1)避免在各分布式系统安装数据库驱动,降低了系统的维护成本; (2)避免采用特殊的设计策略来保证各分布式系统对数据库表的操作冲突; (3)实现了分布式系统之间基于对象(更接近真实环境)进行交互。3.7本章小结本章对Sun公司的Jini技术作了简要介绍,分析了Jini的几个核心概念:查 找、加入、发现、租约、事件和。研究了基于Jini服务的分布式体系结构及工作 原理。最后根据系统需求设计出系统服务层的UML类图、协作图和部分代码。 最后设计实现了系统服务层几个主要技术点:包括1+1冗余单播注册、省 市联盟、安全认证、JavaSpace与资源模型、对象与SPACE等。 第4章GSM/GPRS投诉支援系统实现4.1系统实现 4.1.1系统软件框架西函厕广面目广藉i两]WEB ‘>H丌P≮7童’用 晨 现_『赢鬻艄网前端控制器(用尸访问控制、服务调度、<3 J¨aAP[<7[。)县7静用 服 务f、la、aAPII县_!::――/S‘SL习[Kerb哆eros壤圈务服证认 本地sAP服务远程sAP服务一服国匮劐匿鳓翻瞪嗣舄 l塑兰!二旦垡9翅堡垒堕到母纠蛙『垒尘墼∥q墨二:些垒∥层一I图囊哥面f1磊ij;―。“…”夏!高§}赢厂确蠢矗九线总啪㈣譬銎裂港盆‰登畿糕j:SOAPHMS。…I~絮囊厉斓怒登飘廉翻蒙时管服务sor务ehreKILSS/IMR;{。,一_“.静;” ”PA…7{.接口服 务 层圈4-1软件实现框架 武汉理工大学硕士学位论文从图4.1所见,是真实的软件实现框架,具体来说有四层组成,分别是接口 适配层,服务层,应用服务层,和服务展现层。四层的功能简要展现如下: (1)接口适配层:实现对湖北移动现在已经建设好的各类投诉支援系统实 现服务封装和整合功能,目前已经整合的现有系统有GPRS投诉支援系统,HLR 查询系统,双向支援系统。 (2)服务层:服务层分为两个子层,分别是服务组件层和访问控制层。其 中服务组件层负责根据底层封装的各类服务,进一步根据Jini规范封装成可以序 列化输出的基础服务对象,这些服务对象可以在服务注册中心中注册,并可以 被其他应用查找,下载和使用。 而访问控制层将各类基础服务对象聚合成服务接入点,方便上层用户的使用和租借,并实现对异地调用的鉴权管理。 (3)应用服务层:实现具体的业务投诉处理,知识库管理,以及相关系统 管理功能,保障本地GSM/GPRS投诉业务的应用效能。 (4)应用展现层:实现客户的UI接入和使用。 通过四层结构的合理规划,保障了我省现有各类投诉处理的规范封装,服 务结合的清晰聚会,使得上层应用能够灵活的组装各类服务单元,完成一个具体的GSM/GPRS投诉支援任务;另外系统还提供了严格的安全认证功能

我要回帖

更多关于 分布式任务调度 的文章

 

随机推荐