交易中间件的单线程多任务处理方法及服务器技术

技术编号:10292147 阅读:228 留言:0更新日期:2014-08-06 19:41
本发明专利技术适用于信息技术领域,提供了一种交易中间件的单线程多任务处理方法及服务器,所述方法包括:第一中间件接收到处理请求后,判断所述请求是否满足转发处理条件;当满足转发处理条件时,第一中间件的业务处理线程将所述请求转发给第二中间件,第一中间件保存所述请求对应的业务执行环境;第一中间件将执行所述请求的业务处理线程置为空闲态,使得所述业务执行线程空闲。本发明专利技术提供的技术方案具有资源利用率高,吞吐率高的优点。

【技术实现步骤摘要】
交易中间件的单线程多任务处理方法及服务器
本专利技术属于信息领域,尤其涉及一种交易中间件的单线程多任务处理方法及服务器。
技术介绍
中间件,与操作系统、数据库并列为三大基础软件平台。现有的中间件已经包括了许多分支,包括通讯中间件、交易中间件、对象中间件、安全中间件、数据访问中间件、应用服务器等等。IDC是这样定义中间件的:中间件是一种独立的系统软件和服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务其的操作系统之上,其用于管理计算资源和网络信息。实际上,在计算机软件系统的层次结构中,中间件位于操作系统、数据库、网络层之上,在应用程序之下,是一个中间层,因此得名。交易中间件是中间件的一个重要分支,主要用在OLTP中。90年代以前建设的商业应用系统结构比较单一,主要以主机-终端模式及客户-服务器模式为主,客户-服务其模式也称为二层结构。到了90年代,随着计算计应用水平的飞速发展,企业信息化水平的不断提高,企业客户的不断增加,以及新业务的不断出现,越来越多的用户计算机应用系统在并发处理、关键业务联机交易处理、跨平台、跨广域网、多数据源等方面提出了更高的要求,为了解决这些实际需求,诞生了以交易中间件为基础框架的应用模式,这种架构业界称之为三层结构。三层结构的核心概念是利用中间件将用户界面、业务逻辑和数据逻辑分为三个不同的处理层。以中间件为基础的三层结构系统,不仅具备大型机的系统稳定、安全、处理能力高的优点,同时也具有开放式系统成本低、可扩展性强、开发周期短、易维护等优点。目前的交易中间件产品,包括商业中间件CICS、TUXEDO、也包括各种J2EE中间件,以及各种国产中间件,事实上都遵循线程单并发原则,线程单并发原则具体包括:中间件有M个业务处理线程(进程),在某一时刻最大并发处理能力是M笔业务,即每个业务处理线程处理一笔业务。这种实现方式虽然较为简单,但存在业务处理线程利用率不高的问题。例如在某些业务处理耗时比较长时(例如访问第三方系统,第三方系统上的处理时间长),这种场景下,交易中间件的业务处理线程将请求委托给第三方系统后,将等待第三方系统处理完成后返回结果,在等待期间,虽然处理线程是空闲的,但该线程仍然处于占用状态,所以该线程不能处理相应的外部请求,导致整个系统的资源利用率降低,吞吐率下降。
技术实现思路
本专利技术实施例的目的在于提供一种交易中间件的单线程多任务处理方法,旨在解决现有技术中系统的资源利用率降低,吞吐率下降的问题。本专利技术实施例是这样实现的,一种交易中间件的单线程多任务处理方法,所述方法包括:第一中间件接收到处理请求后,判断所述请求是否满足转发处理条件;当满足转发处理条件时,第一中间件的业务处理线程将所述请求转发给第二中间件,第一中间件保存所述请求对应的业务执行环境;第一中间件将执行所述请求的业务处理线程置为空闲态,使得所述业务执行线程空闲。可选的,所述方法在使得该业务执行线程空闲之后还包括:第一中间件接收到第二中间件返回的所述请求的处理结果时,恢复所述该请求对应的业务执行环境,继续对所述请求进行处理。可选的,所述判断所述请求是否满足转发处理条件的实现方法具体包括:设置请求类型列表,查询所述请求是否在该请求类型列表内,如所述请求对应的类型存在所述请求类型列表内,则判断为满足转发处理条件,如所述请求对应的类型不存在所述请求类型列表内,则判断为不满足转发处理条件。可选的,所述判断所述请求是否满足转发处理条件的实现方法具体包括:估算该请求处理的预算时间,如该预算时间大于或等于时间阈值,则判断为满足转发处理条件;如该预算时间小于时间阈值,则判断为不满足转发处理条件。第二方面,提供一种服务器,所述服务器包括:第一中间件,用于接收到处理请求后,判断所述请求是否满足转发处理条件;当满足转发处理条件时,所述第一中间件的业务处理线程将所述请求转发给第二中间件,所述第一中间件保存所述请求对应的业务执行环境;第一中间件,还用于将执行所述请求的业务处理线程置为空闲态,使得所述业务执行线程空闲。可选的,所述第一中间件,还用于接收到第二中间件返回的所述请求的处理结果时,恢复所述该请求对应的业务执行环境,继续对所述请求进行处理。可选的,所述服务器还包括:设置请求类型列表;所述第一中间件,还用于查询所述请求是否在该请求类型列表内,如所述请求对应的类型存在所述请求类型列表内,则判断为满足转发处理条件,如所述请求对应的类型不存在所述请求类型列表内,则判断为不满足转发处理条件。可选的,所述第一中间件,还用于估算该请求处理的预算时间,如该预算时间大于或等于时间阈值,则判断为满足转发处理条件;如该预算时间小于时间阈值,则判断为不满足转发处理条件。本专利技术实施例与现有技术相比,有益效果在于:中间件能够在等待时间中处理其他的外部请求,所以其具有资源利用率高,吞吐率高的优点。附图说明图1是本专利技术实施例提供的一种交易中间件的单线程多任务处理方法的流程图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术具体实施方式提供一种交易中间件的单线程多任务处理方法,该方法由服务器内的中间件完成,该方法如图1所示,包括如下步骤:S11、第一中间件接收到处理请求后,判断该请求是否满足转发处理条件;当满足转发处理条件时,执行S12、S13;S12、第一中间件的业务处理线程将该请求转发给第二中间件,第一中间件保存该请求对应的业务执行环境;S13、第一中间件将执行该请求的业务处理线程置为空闲态,使得该业务执行线程空闲。需要说明的是,上述第一中间件和第二中间件仅仅是为了方便区分的标号,并没有什么实际的含义,另外,上述正在运行的业务处理线程列表具体可以为:包含有服务器当前正在运行的所有业务处理线程的标识(例如名称)的列表。当然在实际应用中,上述列表的表述方式还可能有其他的表述方式,这里不一一赘述。本专利技术具体实施方式提供的方法在将请求转发给第二中间件后,将该业务处理线程修改成空闲,这样该业务处理线程就可以在等待时间接收其他的外部请求,并对外部请求进行处理,所以该方法具有资源利用率高,吞吐率高的优点。通过这样的处理方法,达到了在系统间通讯进行等待时,不占用中间的处理线程,可以并行处理其他业务,大大提高了业务处理线程的使用率,从而使得整个交易中间件的吞吐量得以提高。可选的,上述方法在S13之后还可以包括:第一中间件接收到第二中间件返回的该请求的处理结果时,恢复所述该请求对应的业务执行环境,继续对该请求进行处理。可选的,上述判断该请求是否满足转发处理条件的实现方法可以为多种,例如:设置请求类型列表,查询该请求是否在该请求类型列表内,如存在该请求类型列表内,则判断为满足转发处理条件,如不存在该请求类型列表内,则判断为不满足转发处理条件。上述请求类型列表具体可以为:包含所有需要进行转发处理请求的类型的列表。估算该请求处理的预算时间,如该预算时间大于或等于时间阈值,则判断为满足转发处理条件;如该预算时间小于时间阈值,则判断为不满足转发处理条件。上述估算该请求处理的时间的方法具体可以为:记录每个请求所处理的时间本文档来自技高网
...
交易中间件的单线程多任务处理方法及服务器

【技术保护点】
一种交易中间件的单线程多任务处理方法,其特征在于,所述方法包括:第一中间件接收到处理请求后,判断所述请求是否满足转发处理条件;当满足转发处理条件时,第一中间件的业务处理线程将所述请求转发给第二中间件,第一中间件保存所述请求对应的业务执行环境;第一中间件将执行所述请求的业务处理线程从正在运行的业务处理线程列表中卸掉,使得所述业务执行线程空闲。

【技术特征摘要】
1.一种交易中间件的单线程多任务处理方法,其特征在于,所述方法包括:第一中间件接收到处理请求后,判断所述请求是否满足转发处理条件;当满足转发处理条件时,第一中间件的业务处理线程将所述请求转发给第二中间件,第一中间件保存所述请求对应的业务执行环境;第一中间件将执行所述请求的业务处理线程从正在运行的业务处理线程列表中卸掉,使得所述业务执行线程空闲;其中,所述判断所述请求是否满足转发处理条件的实现方法具体包括:估算该请求处理的预算时间,如该预算时间大于或等于时间阈值,则判断为满足转发处理条件;如该预算时间小于时间阈值,则判断为不满足转发处理条件;或设置请求类型列表,查询所述请求是否在该请求类型列表内,如所述请求对应的类型存在所述请求类型列表内,则判断为满足转发处理条件,如所述请求对应的类型不存在所述请求类型列表内,则判断为不满足转发处理条件。2.根据权利要求1所述的方法,其特征在于,所述方法在使得该业务执行线程空闲之后还包括:第一中间件接收到第二中间件返回的所述请求的处理结果时,恢复所述该请求对应的业务执行环境,继续对所...

【专利技术属性】
技术研发人员:杜玉巍陈洪涛易其亮
申请(专利权)人:深圳市金证科技股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1