[发明专利]一种利用自扩展的阻塞算法将同步服务调用转换为异步并行式调用的方法无效
申请号: | 201210337286.3 | 申请日: | 2012-09-06 |
公开(公告)号: | CN103164273A | 公开(公告)日: | 2013-06-19 |
发明(设计)人: | 黄智彬;汤湛成;丁保剑 | 申请(专利权)人: | 佳都新太科技股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/38 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 510665 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 利用 扩展 阻塞 算法 同步 服务 调用 转换 异步 并行 方法 | ||
技术领域
本发明涉及Web环境应用领域,特别是涉及一种利用自扩展的阻塞算法将同步服务调用转换为异步并行式调用的方法,实现将长耗时阻塞的同步服务调用解耦为独立的多线程非阻塞式异步调用,通过使用本发明在Web领域下,在面向可拆分的批量服务请求时,如数据库操作、文件传输,批量短信email发送等,分流分批地异步并行处理,可以提高服务的吞吐量,并有设定超时阻塞等待时间,保证可靠响应速度。
背景技术
Web开发者们熟知,一个同步服务调用请求往往是在“接收消息->处理消息->送回消息”这种trivial式的同步阻塞式流程上,当遇到长耗时阻塞的同步服务调用时,如数据库操作、文件传输,批量短信email发送等,同步服务调用通常会被长时间阻塞,从而是调用者响应体验较差;
本策略基于Web应用环境下,实现了一种利用自扩展的阻塞算法将同步服务调用转换为异步并行式调用的方法,将长耗时阻塞的同步服务调用解耦为独立的多线程非阻塞式异步调用,提高服务的吞吐量,并有设定超时阻塞等待时间,保证可靠响应速度。
发明内容
本发明所要解决的技术问题是在Web环境下,同步服务调用请求往往是在“接收消息->处理消息->送回消息”这种trivial式的同步阻塞式流程上,当遇到长耗时阻塞的服务调用时,调用者通常要等待很长的时间才得到返回结构,响应速度极差。当遇到服务调用的是批量可拆分的服务时,只能串行执行等待结果,导致时间浪费,资源利用率不高等问题;
为实现上述发明目的,本发明提供一种利用自扩展的阻塞算法将同步服务调用转换为异步并行式调用的方法,将长耗时阻塞的同步服务调用解耦为独立的多线程非阻塞式异步调用,提高服务的吞吐量,并有设定超时阻塞等待时间,保证可靠响应速度;
本转换器由主调入口部分、等待对象池部分、转换器部分、资源服务组件等几部分组成,转换过程分为服务分发并阻塞等待、资源服务调用、应答唤醒并归并返回三个步骤;
其中,其中所述第一步骤的服务分发并阻塞等待,单线程的,体现在主调入口部分,这部分包括一个单线程调度的主调线程和自定义的分发策略,用于:当有请求进入调用Web服务方法,主调线程将根据已定义的策略将服务方法及数据包分拆,并dispatch分发起独立资源服务调用,然后主线程进入限时阻塞等待;
其中所述第二步骤的资源服务调用,多线程并行,体现在资源服务组件部分,这部分的接口调用通过共享队列解耦,使用主调服务方法与资源服务方法接口解耦合,用于:子线程执行资源服务调用,异步并行地进行,并将执行结果封装为应答消息返回;
其中所述第三步骤的应答唤醒并归并返回,单线程的,体现在转换器部分,有结果收集器,专门收集应答结果,用于:专门的接收线程接收应答并归并,唤醒被阻塞的主调线程并返回归并的结果。利用同步对象的等待通知功能,使主调用线程能够在分拆并dispatch送出资源服务请求之后挂起,应答到来之际被唤醒;
如果调用过程,某个资源服务失败或者超时,异常将会被抛出,并会唤醒被阻塞的主线程并返回超时结果,以保证限时响应;
由上述方案可以看出,本发明提供一种利用自扩展的阻塞算法将同步服务调用转换为异步并行式调用的方法实现,在Web环境下,将长耗时阻塞的同步服务调用解耦为独立的多线程非阻塞式异步调用,提高服务的吞吐量,在面向可拆分的批量服务请求时能拆分并行处理,这样可以保证可靠的限时响应。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一中系统结构原理示意图;
图2为本发明实施例一中转换过程时序图;
图3为本发明实施例一中数据处理过程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一,参见图1,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于佳都新太科技股份有限公司,未经佳都新太科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210337286.3/2.html,转载请声明来源钻瓜专利网。