基于Web Dynpro Java平台的查询技术应用分析_第1页
基于Web Dynpro Java平台的查询技术应用分析_第2页
基于Web Dynpro Java平台的查询技术应用分析_第3页
基于Web Dynpro Java平台的查询技术应用分析_第4页
基于Web Dynpro Java平台的查询技术应用分析_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、基于Web Dynpro Java平台的查询技术应用分析48082021,30(20)计算机工程与设计ComputerEngineeringandDesign?开发与应用?基于WebDynproJava平台的查询技术应用分析张志宽,罗晓沛(中国科学院研究生院,北京100049)摘要:为了解决以"大集中"方式设计的企业管理系统的查询性能下降的问题,提出了完善的查询性能优化模型.该模型是在对通用查询性能优化模型进行分析与的对SAP系统查询性能优化方法的研究根底之上,参加了业务规那么优化层,从而使软件技术与业务规那么优化相结合而形成的.通过完善的查询性能优化模型在电力系统开展建设

2、的应用实例,验证了所提模型在提高以"大集中"方式设计的企业管理系统的查询性能方面的有效性.关键词:查询性能优化模型;缓存技术;分页技术;业务规那么;业务逻辑中图法分类号:TP311.52文献标识码:A文章编号:10007024(2021)20?480804WebDynproJavabasedplatformtechnologyanalysisofqueryZHANGZhi.kuan.LUOXiao.pei(GraduateUniversity,ChineseAcademyofSciences,Beijing100049,China)Abstract:Inordertosol

3、vequeryperformancedegradationproblemsoftheenterprisemanagementsystemdesignedby''bigfOCUS"approach,andproposeasoundqueryperformanceoptimizationmode1.ThemodelisageneralpurposequeryperformanceanalysisandoptimizationmodelagainsttheSAPsystem,queryperformanceoptimizationmethodbasedonthesmdNjo

4、inedthebusinessrules,op-timizationlayer,SOthatsoftwaretechnologyandbusinessrules,optimizationofacombinationformed.Byimprovingthequeryperformanceoptimizationmodelofdevelopmentandconstructioninthepowersystemapplicationexampletoverifytheproposedmodelinimprovingthe"bigFocus"approachenterprisem

5、anagementsystemdesignedtoqueryperformanceeffectiveness.Keywords:queryperformanceoptimizationmodel;cachetechnology;pagingtechnology;businessrules;businesslogic0引言SAP是目前比拟先进的ERP软件.它代表着最先进的管理思想,最优秀的软件设计.近年,电力公司根据自身实际提出了"5E"的思路,即EAI(企业级信息技术集成平台),ERa(企业经营管理系统),EAM(数字化电网生产管理系统),EcM(客户管理系统)和EMS/M

6、OS(-体化能量管理/电力市场技术支持系统).SAP系统以其先进的业务实践理念与系统开放性,作为"5E"系统的载体,在电力企业得到推广性实施.电力企业逐步形成了以"5E"为核心,其他应用系统为辅的信息化系统建设格局.SAP管理系统采用了大集中的建设方案实现"5E"工程,即系统数据库与系统主站设置在总公司,分公司作为客户端通过网络调用系统中的业务数据.在大集中的设计方案中,SAP系统集中了以前分别存放于各分公司的业务数据,从而造成系统中的数据量比以前各分公司系统的数据量成倍增长.在这种情况下,提高数据访问效率,减少系统响应时间是SAP系

7、统需要重点解决的问题.本文将针对查询性能优化的问题进行论述,并接合SAP系统提供的性能优化实例进行详细分析.通过分析,提出完善的查询性能优化模型.1优化查询技术概述目前,优化查询技术主要分为数据库层优化和软件层优化.数据库层查询优化是指在数据库内部进行查询优化,其技术已经比拟成熟,主要通过创立索引,优化查询语句和使用表分区等技术提高数据库查询性能.随着数据库层查询优化技术的提高与应用,整个系统查询性能的瓶颈已经从数据库查询性能转移到软件层查询性能.软件层查询性能的优化,直接影响到整个系统的运行效率.软件层查询性能优化是指软件应用系统内的查询性能优化,需要解决的主要问题是减少数据库读取操作,减少

8、网络数据重复传输次数.软件系统主要通过数据缓存和分页技术对查询进行优化.数据缓存技术,就是将数据库中的数据缓存在内存中,当客户程序再次访问的时候,可以直接从内存中读取数据,从而减少对数据库的访问操作,减少网络数据传输;分页技术,是将客户程序请求的数据进行分页,从而减少客户程序一页收稿日期:2021.11-13;修订日期:20210208.作者简介:张志宽(1978一),男,河北廊坊人,硕士研究生,工程师,研究方向为计算机应用技术方向;罗晓沛(1933一),男,北京人,教授,研究方向为数据库技术.Email:zzkylm163.corn张志宽,罗晓沛:基于WebDynproJava平台的查询技术

9、应用分析2021,30(20)4809内显示数据量,进而提高数据显示速度.软件层查询性能优化的通用模式如图l所示.软件加速层数据库层图1通用查询性能优化模型2SAP系统查询性能优化的实现SAP查询系统优化方式是基于软件层通用查询性能优化模式设计的典型实例.SAP系统查询性能优化是基于WebDynproJava(WDJ)开发环境实现的.其中,WebDynpro是SAP用来为企业应用系统创立网页式用户界面的开发工具集.WDJ是WebDynpro工具集中支持实现Java编程的工具.WDJ为开发者提供了查询性能优化的实例程序,该实例程序的结构图如图2所示"1.用户界面组件WDTablePag

10、UIComp用户界面层J业务逻辑实现层企业逻辑组件WDPagingBOLCompSomePagingIffBOLModel1lITSearchResult.SomePagingSearchResultObservableItemListBOLServiceJavaBeanOperationsAttributesIDSize0ValuesearchResultGel(intindex)Cache分页逻辑实现层+loadResults;懿)通用模型接口层Java.util IAlstlact-ObservableListHrvaM1bleobsLisetAbstractList图2WebDynpr

11、oJava查询优化技术结构正如实例程序的结构图所示,整个查询性能优化实例依照"业务逻辑,显示逻辑和控制逻辑相别离"原那么进行设计.实例划分为用户界面层,业务逻辑实现层,分页逻辑实现层和通用模型接口层.其中,用户界面层对用户是可见的,业务逻辑层以下都是在后台实现的,对用户是不可见的.各层功能相互配合,相互调用,共同实现了提高查询性能的缓冲技术与分页技术.2.1通用模型接口层通用模型接口层是通过Java编程语言定义的接口,它说明实现了通用模型接口层中的接口的类,应当具有的变量数据,及应当实现的方法.通用模型接口层通过实现并扩展AbstractList接口,规定从数据库表中读取出

12、来的数据,以列表的形式进行存储.本层由AbstractList接口与抽象类ICMIObservableList和CMIAbstractObservableList组成.ICMIObservableList作为实现了Abstract-List接口的抽象类,提供了对列表中的数据进行定位的方法get(hatindex),这个方法完成的工作需要在继承类中进行实现,明确通过get(hatindex)方法返回哪些数据,以及如何返回数据.2.2分页逻辑实现层分页逻辑实现层包括SearchResultObservableList和Some.PagingBOLService两个类,主要完成数据缓存与分页功能.S

13、earchResultObservableList继了通用接口层的CMIAbstractObse.rvableList抽象类,实现了Java.util.AbstractList接口中的size()方法与get0方法.以下是SearchResultObservableList的是实现代码.代码1SearchResultObservableList.javaimportjava.util.List;impocorn.sap.tc i.util IAbstractObservableList;publicclassSearchResultObserval:lleListextendsf1eListp

14、rivateSomePagingBOLServicecallback;publicSearch_ResultObServableList(SomePagingBOLServicesomeBOL)supeff);this.callback=someBOL;')publicObjectget(intindex)returncallback.getResult(index);)publicintsize()returncallback.getResultSize();)SearchResultObservableList类定义了类型为SomePagingBOLService的私有变量call

15、back,并在get(intindex)方法中,通过调用callback的getResultO方法,返回数据表中指定的数据;通过调用callback的getResultSize0方法,获得表中总记录数.SomePagingBOLService类是实现数据缓存和分页的关键类.当searchResultObject类通过callback调用getResult()和getResultSize0方法时,这个类从后台数据中获取分页后的表数据,并把数据缓存在HashMap.中.当这些数据再次被请求的时候,这些数据就可以从内存中直接获取,从而防止不必要的数据库读取操作.SomePagingBOLServic

16、e代码如代码2所示.SomePagingBOLService类主要实现了loadResultsForPage,getResultSize和getResult这3个方法.loadResultsForPage方法当被请求的数据不在内存中的时候被调用,用来从数据库中蚕48102021,30(20)计算机工程与设计ComputerEngineeringandDesign获取数据;getResultSize方法用来获得记录总数;getResult方法用来获得指定的记录,当记录在内存中的时候,直接在内存中读取数据,数据不在内存中的时候,通过调用loadResultsForPage方法,获取数据.2.3业务

17、逻辑实现层由于通用模型接口层和分页逻辑实现层实现了分页和缓存"的功能,因此本层的功能相对来说比拟简单.本层主要实现组件控制功能,把ICMIObservableList类型的实例与数据节点进行绑定.在设计阶段,数据节点被绑定到JavaBean模型SearchResultltems.在程序运行期,数据节点被绑定到ICMIObservableList实例,通过调用1CMIObservableList类的get(intindex)方法,确保按需要提取列表中的数据.通过这个方法,可以减少内存中的数据量.代码2SomePagingBOLService.javapublicclassSomePag

18、ingBOLServiceprivateintpageSize;pfiveinttotalRecordCount;privateMap<String,SearchResultltem>searchResultCache;publicSomePagingBOLService(intpageSize,intresultListSize)super();this.pageSize=pageSize;this.totalRecordCount=resultListSize;this.searchResultCachenewHashMap<String,Sea?

19、rchResultltem>0;publicvoidloadResultsForPage(intfromlndex)publicintgetResultSize()returntotalRecordCount;publicObjectgetResult(inti)if(!searchResultCache.containsKey(""+I)this.1oadResultsForPage(i);returnsearchResultCache.get(""+订:WDPagingBOLComp类中定义了SomePagingBOLService类的

20、变量,并通过wdDolnit方法,实现数据节点与实例的绑定.3完善的查询性能优化模型通用查询性能模型通过数据缓存与分页技术,使得查询性能在技术层面得到了很大的提高,通用查询性能优化模型主要依靠软件技术实现查询性能的优化.为了进一步提高查询性能,我们还可以结合实际业务特点,对通用查询性能优化模式进行改良.这就是基于规那么的查询性能优化模型.3.1基于子网划分的查询性能优化当前划分子网技术已经普遍应用到集团性的公司中,总公司与分公司分别使用不同的IP地址段.对于采用大集中模式设计的应用程序,可以通过IP地址,把总公司中的数据分类提供应分公司,从而防止每个公司查询数据的时候都在一个数据集中进行,进而

21、提高数据查询效率.3.2基于业务数据应用性质的优化集团公司中的系统数据按应用性质可以分为,通用数据和专用数据.通用数据是总公司与各分公司都需要应用的数据,如机构信息,人员信息等;专用数据是各个公司各自的数据,如业务数据等.根据数据使用性质的不同,可以分别设计查询机制,从而提高整个系统的查询性能.3-3完善的查询性能优化模型将通用查询性能优化模型与基于规那么的查询性能优化技术相结合,就形成了完善的查询性能优化模型,如图3所示.I数据分页f卜_软件加速l数据缓存lLr_JlIp规那么优化,数据使用规那么优化I规那么优化图3完善的查询性能优化模型在完善的查询性能优化模型中,规那么优化层是根据业务实际

22、变化的.它与软件加速层提供的各种性能优化技术相结合,共同实现系统性能优化的功能.完善的查询性能优化模型,已经在电力SAP系统中进行了应用.方法的应用,使得在大集中模式下设计的系统软件的查询性能,与以往分散与各公司的系统查询性能相差无几.在实际业务工作中,在性能上已经感觉不到集中式系统与分散式系统的性能差异.4完善的查询性能优化模型应用实例SAP系统上线后,出现了客户端查询速度慢的显注问题,例如,有的时候一个返回3000条查询结果的操作要等十几分钟才能返回业务数据;有的时候甚至返回等待超时,直接退出在办的业务.这样的情况延长了用电客户办理业务的时间,使得用电客户满意度极大下降.为了解决提高查询速

23、度,提高客户满意度.SAP工程组分析了问题原因,对系统进行了两次改良,从而解决了问题.第一次改良是技术上改良,工程组利用SAP系统提供的数据分页与数据缓存技术,实现了完善的查询性能优化模型的软件加速层的功能.这次改良,显注提高了客户端查询速度.等待超时的情况被消除了.查询影响时间也有一定的减少.第二次改良是在技术改良后的一年后进行的,电力企业数据,以2O万客户的城市为例,平均每年需要递增100万条业务数据,其中包括客户增容,减容,装表,换表等信息.这样在大集中的情况下,SAP集中了多个地市的业务数据,庞大的数据量促使数据查询速度问题再一次显现.为了提高数据查询速度,工程组对数据应用进行深入分析

24、,制定了IP访问规那么,数据访问范围规那么等规那么优化层的数据访问规那么.通过本次改良,极大的提高了客户端查询的速度,减少了用电客户办理业务的时间,提高了用电客户的满意度.前后对SAP系统的两次改良,恰好是技术与业务规那么的完美结合,是完善的查询性能优化模型在实际应用中的效果表达.5结束语随着软件系统在企业管理中的深化应用,数据作为企业的无形资产逐年递增.在浩如烟海的数据中,快速高效的组织信息,应用信息,减少客户的等待时间是提高企业竞争力的有效途径.本文提出了基于规那么的查询性能优化模型,这个模型不仅适用于SAP系统,同时也适用于利用其他工具实现的企业管理系统.软件技术的提高是提高查询性能的关

25、键因素,而与数据应用的具体规那么相接合,设置数据的访问规那么,是提高查询性能的有效手段.只有把软件技术与具体的应用规那么相结合才能最大限度的提高数据查询性能.因此,深入研究与应用系统性能优化具有重要的现实意义.参考文献:【lJBertramGanz.WebDynproJavatablepagingunleashed:OptimizingheavytableperformanceEB/OL】. :/ sap.corn/china/index.epx,2021:1-34.2吕锋,鲍刚.基于客户端缓存提高JavaRMI性能的方法J】.计算机工程与设计,2021,29(9):4451-4457.3】薜

26、颖,闵联营,邱桥春.基于hibernate缓存机制的查询性能优化研究J_开发研究与设计技术,2007(2):13611373.4戴亮,方晓勤,李丽.一种新的基于序列化的JavaRMI方法J1_计算机工程,2006,32(22):99101.5孙卫琴.Java网络编程精解M.北京:电子工业出版社,2007:262.270.【6SeongEunChu,DaeWookKang,Jae-NamKim.EfficientimplementationsofremotemethodinvocationconsideringobjectconsistencyC.ChejuIsland,Korea:Procee

27、dingoflEEEConferenceonHybridInformationTechnology,2006:634641.7刘磊,倪宏,稽智辉.基于 请求的ORM性能优化研究.计算机工程,2021,35(4):3843.【8】方巍,孙涌,崔志明.J2EE数据持久层的应用研究J.计算机技术与开展,2007,17(2):6891.(上接第4807页)这就使得基于行为特征的P2P流识别变得越来越重要.本文提出了一种基于行为特征加权的P2P流识别的算法,并根据此算法建立实验模型,获得实验结果,并对结果进行了分析.此算法不但能识别,未加密的P2P应用,还能识别载荷加密的P2P应用.提出此算法希望能为新

28、一代业务运行管控协同支撑环境的研制和建立提供参考,使得业务支撑环境对P2P业务的可管理性和可监控性得到提高.同时也为新型网络的设计,底层网络资源的控制和部署以及业务识别,流量监控的研究提供技术支持.当然,本文的P2P流识别方法仍需改良,比方对P2P流行为特征进行深度开掘,引入机器智能学习的方法等.参考文献:1李玉行,宋传志.P2P流量识别与监IJEB/OL. :/ xllw.xrdn1836c12.aspx,2007.2】佚名.业务识别与管理系统和网络流量的管理EB/OL. :/network.51cto.eom/art/202109/90119.htm,2021.(3SenS,SpatscheckO,WangDongmei.Accurate,scalableinnet-workidentificatio

温馨提示

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

评论

0/150

提交评论