[发明专利]一种基于SEDA的ESB组件实现方法在审

专利信息
申请号: 201410070382.5 申请日: 2014-02-28
公开(公告)号: CN103870337A 公开(公告)日: 2014-06-18
发明(设计)人: 闫鹏 申请(专利权)人: 浪潮集团山东通用软件有限公司
主分类号: G06F9/50 分类号: G06F9/50
代理公司: 暂无信息 代理人: 暂无信息
地址: 250101 山东*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 seda esb 组件 实现 方法
【说明书】:

技术领域

发明属于涉及ESB架构技术领域,涉及一种基于SEDA的ESB组件实现方法。

背景技术

随着互联网的高速发展,各种各样的互联网服务相继出现,现在不再局限于静态页面的访问,如股票交易,电子商务,即时消息服务,这些动态的服务,每一请求需要消耗更多的CPU,I/O等资源,导致管理和分发这些服务的系统日益复杂,包括Web Server, ESB等。

在ESB领域中,封装这些服务功能的部件称之为服务组件,服务组件实现提升效率的主要途径之一是并发模型的实现,传统的并发编程模型主要有两种,一种是基于线程的并发模型, 另一种是基于事件的并发模型。

基于线程模型为每一个请求分配一个线程(进程)。每一个被接受的请求被指派给一个线程(进程)去处理。锁信号量等被用于同步线程(进程)对共享数据结构的访问。操作系统负责调度这些处理每个请求的线程,来保证每个请求可以透明的分享计算机的CPU,I/O等资源。

随着线程(进程)数的上升,这个模型引起了更高的资源消耗,操作系统在这些线程(进程)之间的频繁切换,内存交换,缺页更加频繁,锁竞争更加激烈等,将急剧降低系统的性能,急剧降低系统的吞吐量和增加每个请求的响应时间。更重要的是一个系统所能支持的线程(进程)数是有限的,线程(进程)数超过一个理想值后,就会出现等待,将引起系统的性能急剧下降。引入线程(进程)池可以缓解这种情况,但仍然不够理想。

基于事件的模型中,服务器由每个CPU循环处理各种来自队列的事件(Event)。应用都可以产生这些事件,表示某些操作需要执行。每一个请求在系统被表示成一个有限状态机(FSM),系统分配线程组中的一个线程处理这个请求的对应状态的操作,操作一般很短,处理完后请求转换到FSM的下一个状态等待系统处理,这个线程又会被系统分配去处理下一个请求的这个状态。如果设计的好,事件模型可以支持很高的并发度,并且随着并发度的增加,系统的整体性能的降低在一个可以接受的范围内。

随着请求数的增加,系统的吞吐量增加,每个请求的响应时间缓慢线性上升,直到达到饱和,这受限于计算机的物理硬件,CPU,内存等,达到饱和后每个请求的响应时间急剧上升,因为系统中有太多的请求等待调度。事件模型要求每一个状态的操作是短暂的并且是非阻塞的,所以一般都采用非阻塞的I/O接口;其关键是设计一个高效公平的事件调度器,同时考虑高效和公平。事件模型对具体的应用提出较高要求,所以其通用性不太理想。

发明内容

为解决上述问题,本发明的目的在于提供一种基于SEDA的ESB组件实现方法,以解决传统并发模型的缺点。

为实现上述目的,本发明的技术方案为:

一种基于SEDA的ESB组件实现方法,包括如下步骤:

S10:提供一个线程池,以负责服务组件内部并发处理服务组件接收到消息;

S11:提供一个业务相关的事件处理器,以负责封装服务组件具体业务逻辑、以及对消息的处理;

S12:提供一个输入事件队列,以负责作为服务组件请求消息入口,并对大量消息请求缓存;

S13:提供一个或多个资源控制器,以负责控制服务组件的消息多列深度和并发线程数的关系,保证处理消息的通道稳定运行。

进一步地,步骤S10中:

线程池在每个服务组件内部,批量处理获取处理消息,通过有限的线程池中获取的线程维持并发;

使用线程池驱动服务组件的运行,将事件处理同线程的创建和调度分离,服务组件为顺序或者并行执行。

进一步地,步骤S11中,业务事件处理是每个ESB服务组件的逻辑实现,采用从消息队列中读取消息,处理这些消息,然后执行并向下一个服务端点的输入队列。

进一步地,业务事件处理器封装为统一接口,入参为输入的消息内容对象,具体处理逻辑封装在接口之内。

进一步地,步骤S12中,输入事件队列对应ESB内部虚拟总线的实现,采用内存队列或持久化消息队列来实现。

进一步地,步骤S12中,服务通过队列分解成服务组件,每个服务组件代表FSM的一个状态集合。

进一步地,步骤S13中,控制器控制队列消息和后面并发线程数保持在稳定数值的控制环节,其中,服务组件控制器负责资源的分配和调度,控制派发给事件处理器的事件的数量和顺序,事件处理器可能在内部丢弃、过滤、重排序事件。

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮集团山东通用软件有限公司,未经浪潮集团山东通用软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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