[发明专利]处理服务请求的方法和装置在审

专利信息
申请号: 201410583384.4 申请日: 2014-10-27
公开(公告)号: CN105630611A 公开(公告)日: 2016-06-01
发明(设计)人: 李东 申请(专利权)人: 青岛金讯网络工程有限公司
主分类号: G06F9/54 分类号: G06F9/54;G06F9/48
代理公司: 暂无信息 代理人: 暂无信息
地址: 266100 山东*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 处理 服务 请求 方法 装置
【说明书】:

技术领域

发明涉及网络计算领域,特别涉及一种异步处理API服务请求的方法和装 置。

背景技术

Continuation是一种可以使HTTP请求可以被暂时挂起,并且当挂起超时 或非同步的事件发生时,被挂起的HTTP请求可以被重新恢复的机制。这个机 制的实现主要在SelectChannelConnector类中。SelectChannelConnector允 许维持每个连接开放而不用消耗一个线程。当连接挂起时,Connector将请求 维持在未决Continuations队列里,用来服务请求的线程返回给TheadPool, 这样,该线程又可以服务于其他请求。暂停的请求停留在未决Continuations 队列里直到指定的过期时间,或者在它的Continuation上调用resume方法。 Continuation.suspend会抛出一个特殊的运行时异常:RetryRequest,这个异 常将传播servlet以外,然后通过过滤器传回再由SelectChannelConnector捕 获,将请求放入处于等待状态的Continuation队列中,此时HTTP连接并不关 闭,而当前的程却可以被放回线程池,供别的请求使用。Continuation机制实 际就是对HTTP协议执行NIO(非阻塞I/O)。每个环节都是异步处理,这样极大 的提高了请求的TPS(每秒能够处理的事务量)以及并发的性能。

然而,Jettycontinuation需要在应用中使用应用级的线程池来完成一些 IO任务,这个在普通的web编程并不常见。在应用的第一次请求中,需要调用 AsyncContinuation.suspend,完成一个状态的转换,以及产生一个超时任务, 将超时任务派发给应用线程池完毕后,Jetty回收该请求,线程IO任务在应用 线程中完成后,然后通过AsyncContinuation.resume或者complete等方法通 知Jetty任务完成Jetty然后会再次分配一个worker线程处理该请求,如果逻 辑复杂,如并行的多次IO会分配多个worker线程。引入Jettycontinuation 带来的负面作用是需要仔细的切割各类IO任务,编程模型因而会变得复杂。

发明内容

为解决上述现有技术所存在的问题,本发明提出了一种处理服务请求的方 法和装置。本发明首先提出了一种处理服务请求的方法,包括:

步骤一,在JettyContinuation的请求处理中建立异步层次结构,包括传 输层,转换内部数据层,转换外部数据层,接出层;

步骤二,利用Continuation异步处理请求;

步骤三,在所述异步层次结构中逐级异步发送请求,并异步返回处理结果, 并通知释放请求。

步骤二包括:取当前请求的Continuation对象,设置监听器,在处理请 求后挂起并释放线程。该方法基于JSR315规范特性来处理异步请求。

所述请求的接入方式包括DHReqContinuationServletHandler和 DHReqAsynServletHandler,均抽象为AbstractDHReqServletHandler。

所述请求接入方式基于servlet3.0和Jetty8的continuation的挂起 消费策略来实现,这针对不同的servlet容器来切换不同的异步请求处理机 制。

所述步骤三进一步包括:所述接出层收到该请求后,进行服务化API调用, 将处理结果逐步返回至转换外部数据层,转换内部数据层,和传输层,通知 Continuation释放请求,返回处理数据至servlet。

该方法还包括,当某一时刻请求大量接入时,不需要等待线程释放,而是 将线程挂起,处理完毕后通知Jetty,此时Jetty再启用一个新的线程再次处 理请求。

根据本发明的另一方面,提供了一种处理服务请求的装置,包括:模型建 立模块,用于在JettyContinuation的请求处理中建立异步层次结构,包括 传输层,转换内部数据层,转换外部数据层,接出层;Continuation模块,用 于利用Continuation异步处理请求;发送和返回模块,用于在所述异步层次 结构中逐级异步发送请求,并异步返回处理结果,并通知释放请求。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛金讯网络工程有限公司,未经青岛金讯网络工程有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410583384.4/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top