[发明专利]一种J2EE架构下业务的处理方法及系统有效
申请号: | 201210535515.2 | 申请日: | 2012-12-12 |
公开(公告)号: | CN103873276B | 公开(公告)日: | 2017-06-20 |
发明(设计)人: | 钟储建;于祥兵;蒋海滨 | 申请(专利权)人: | 中国移动通信集团浙江有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L29/08 |
代理公司: | 北京中誉威圣知识产权代理有限公司11279 | 代理人: | 郭振兴,丛芳 |
地址: | 310006 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 j2ee 架构 业务 处理 方法 系统 | ||
技术领域
本发明涉及通信技术领域,特别涉及一种J2EE架构下业务的处理方法及系统。
背景技术
J2EE(Java 2 Enterprise Edition,Java 2企业版)体系架构由于其可移植性强、可重用性好以及互操作性强等优点,成为IT系统中普通采用的架构。而基于J2EE架构实现的中间件服务器也大量涌现,比较有名的有IBM的WebSphere,Oracle的Weblogic等,在普遍采用的展现层(WEB)、应用层(EJB)、数据库层(Database)三层架构中他们都发挥着各自的重要角色。
遵循该J2EE架构的系统中,如CRM(Customer Relationship Management,客户关系管理)),在数据库层某些表执行慢或是应用层某些业务的应用程序故障的时候,用户或营业员在办理相关的业务时,出现系统白屏死机,无法继续后续业务。例如客服人员在按客户的要求查询某业务时,因为该业务的应用程序出现异常,造成前台界面出现长时间白屏现象,导致客户长时间等待或是必须关闭应用重新登录导致话务中断;再例如某个应用程序出现异常,而运维人员无法及时获得故障告警信息,导致大量请求积压在中间件或数据库端,最终导致整个系统崩溃,无法继续工作。因而必须解决在部分服务出现响应慢、故障的情况下,系统不会白屏死机,用户和营业员可以办理其他正常业务。为了解决以上问题,现有技术通常会有如下2个方案:1)中间件平台提供调用超时控制机制,如Oracle WebLogic平台提供的RMI调用超时时间设置,来控制WEB层到应用层调用的超时时间,防止用户界面出现白屏死机故障。2)在WEB层到应用层的调用采用异步提交模式,即用户提交请求后,马上返回,而不需要等待后台处理完毕,用户界面不会出现白屏死机故障。
但是,现有技术的方案仍旧存在如下技术问题:
方案1):该方法在后台服务故障的情况下,虽然WEB层对业务的调用能够在设定的时间内返回,避免用户长时间等待、白屏死机等问题,但没有解决应用层、数据库层存在的本质问题,系统无法恢复正常,致大量请求积压在应用层或数据库层,容易导致整个系统崩溃。方案2):异步提交方法不需要后台服务处理完成就马上返回,虽然不会造成系统等待和白屏,但是同样没有解决应用层、数据库层存在的本质问题,系统无法恢复正常,致大量请求积压在应用层或数据库层,最终导致整个系统崩溃。
发明内容
为了解决现有技术中J2EE构建下的系统故障时,无法解决发生在应用层和数据库层存在的本质问题,导致大量请求积压在应用层或数据库层的技术问题,本发明提出一种J2EE架构下业务的处理方法及系统。
一种J2EE架构下业务的处理方法,包括:
应用层EJB服务器接收到来自展现层WEB服务器的业务请求和预设的执行时间,并为所述业务请求分配控制所述业务请求的EJB容器线程;
EJB容器线程创建执行所述业务请求的EJB执行线程,所述EJB执行线程设置有执行时限为所述预设的执行时间的限制;
所述EJB执行线程执行所述业务请求,并向数据库发送所述业务请求继续处理;
如果所述EJB执行线程执行所述业务请求,并等待所述数据库处理所述业务请求的时间超过所述预设的执行时间,则所述EJB执行线程向所述数据库发送取消请求,并中止所述业务请求的执行;
所述数据库接收到该取消请求后中止对业务请求的处理,并回滚。
一种J2EE架构下业务的处理系统,包括:WEB容器装置及EJB容器装置;
其中,所述WEB容器装置包括:
WEB容器池模块,用于接收到客户端发送来的业务请求后,为所述业务请求分配控制所述业务请求的WEB容器线程;
WEB容器线程,用于获取用户为所述业务请求预设的执行时间,并创建执行所述业务请求的WEB执行线程,所述WEB执行线程设置有执行时限为所述预设的执行时间的限制;
WEB执行线程,用于执行所述业务请求,调用EJB服务器的应用程序继续执行所述业务请求,以及将所述预设的执行时间传递到所述EJB服务器;如果执行所述业务请求,并调用EJB服务器的应用程序的时间超过所述预设的执行时间,则中止所述调用;否则由EJB服务器继续执行所述业务请求;
其中,所述EJB容器装置包括:
EJB容器池模块,用于接收WEB执行线程发送而来的所述业务请求,并为所述业务请求分配控制所述业务请求的EJB容器线程;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团浙江有限公司,未经中国移动通信集团浙江有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210535515.2/2.html,转载请声明来源钻瓜专利网。