CN103970592A - 交易中间件的单线程多任务处理方法及服务器 - Google Patents
交易中间件的单线程多任务处理方法及服务器 Download PDFInfo
- Publication number
- CN103970592A CN103970592A CN201310029706.6A CN201310029706A CN103970592A CN 103970592 A CN103970592 A CN 103970592A CN 201310029706 A CN201310029706 A CN 201310029706A CN 103970592 A CN103970592 A CN 103970592A
- Authority
- CN
- China
- Prior art keywords
- middleware
- request
- described request
- process condition
- forward process
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 9
- 238000000034 method Methods 0.000 claims abstract description 76
- 238000012545 processing Methods 0.000 claims abstract description 52
- 230000008569 process Effects 0.000 claims description 53
- 230000008901 benefit Effects 0.000 abstract description 7
- 238000004891 communication Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 238000004883 computer application Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 101001074449 Crotalus durissus terrificus Phospholipase A2 inhibitor CNF Proteins 0.000 description 1
- 241000677635 Tuxedo Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Abstract
本发明适用于信息技术领域,提供了一种交易中间件的单线程多任务处理方法及服务器,所述方法包括:第一中间件接收到处理请求后,判断所述请求是否满足转发处理条件;当满足转发处理条件时,第一中间件的业务处理线程将所述请求转发给第二中间件,第一中间件保存所述请求对应的业务执行环境;第一中间件将执行所述请求的业务处理线程置为空闲态,使得所述业务执行线程空闲。本发明提供的技术方案具有资源利用率高,吞吐率高的优点。
Description
技术领域
本发明属于信息领域,尤其涉及一种交易中间件的单线程多任务处理方法及服务器。
背景技术
中间件,与操作系统、数据库并列为三大基础软件平台。现有的中间件已经包括了许多分支,包括通讯中间件、交易中间件、对象中间件、安全中间件、数据访问中间件、应用服务器等等。
IDC是这样定义中间件的:中间件是一种独立的系统软件和服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务其的操作系统之上,其用于管理计算资源和网络信息。实际上,在计算机软件系统的层次结构中,中间件位于操作系统、数据库、网络层之上,在应用程序之下,是一个中间层,因此得名。
交易中间件是中间件的一个重要分支,主要用在OLTP中。90年代以前建设的商业应用系统结构比较单一,主要以主机-终端模式及客户-服务器模式为主,客户-服务其模式也称为二层结构。到了90年代,随着计算计应用水平的飞速发展,企业信息化水平的不断提高,企业客户的不断增加,以及新业务的不断出现,越来越多的用户计算机应用系统在并发处理、关键业务联机交易处理、跨平台、跨广域网、多数据源等方面提出了更高的要求,为了解决这些实际需求,诞生了以交易中间件为基础框架的应用模式,这种架构业界称之为三层结构。三层结构的核心概念是利用中间件将用户界面、业务逻辑和数据逻辑分为三个不同的处理层。以中间件为基础的三层结构系统,不仅具备大型机的系统稳定、安全、处理能力高的优点,同时也具有开放式系统成本低、可扩展性强、开发周期短、易维护等优点。
目前的交易中间件产品,包括商业中间件CICS、TUXEDO、也包括各种J2EE中间件,以及各种国产中间件,事实上都遵循线程单并发原则,线程单并发原则具体包括:中间件有M个业务处理线程(进程),在某一时刻最大并发处理能力是M笔业务,即每个业务处理线程处理一笔业务。
这种实现方式虽然较为简单,但存在业务处理线程利用率不高的问题。
例如在某些业务处理耗时比较长时(例如访问第三方系统,第三方系统上的处理时间长),这种场景下,交易中间件的业务处理线程将请求委托给第三方系统后,将等待第三方系统处理完成后返回结果,在等待期间,虽然处理线程是空闲的,但该线程仍然处于占用状态,所以该线程不能处理相应的外部请求,导致整个系统的资源利用率降低,吞吐率下降。
发明内容
本发明实施例的目的在于提供一种交易中间件的单线程多任务处理方法,旨在解决现有技术中系统的资源利用率降低,吞吐率下降的问题。
本发明实施例是这样实现的,一种交易中间件的单线程多任务处理方法,所述方法包括:
第一中间件接收到处理请求后,判断所述请求是否满足转发处理条件;当满足转发处理条件时,第一中间件的业务处理线程将所述请求转发给第二中间件,第一中间件保存所述请求对应的业务执行环境;
第一中间件将执行所述请求的业务处理线程置为空闲态,使得所述业务执行线程空闲。
可选的,所述方法在使得该业务执行线程空闲之后还包括:
第一中间件接收到第二中间件返回的所述请求的处理结果时,恢复所述该请求对应的业务执行环境,继续对所述请求进行处理。
可选的,所述判断所述请求是否满足转发处理条件的实现方法具体包括:
设置请求类型列表,查询所述请求是否在该请求类型列表内,如所述请求对应的类型存在所述请求类型列表内,则判断为满足转发处理条件,如所述请求对应的类型不存在所述请求类型列表内,则判断为不满足转发处理条件。
可选的,所述判断所述请求是否满足转发处理条件的实现方法具体包括:
估算该请求处理的预算时间,如该预算时间大于或等于时间阈值,则判断为满足转发处理条件;如该预算时间小于时间阈值,则判断为不满足转发处理条件。
第二方面,提供一种服务器,所述服务器包括:
第一中间件,用于接收到处理请求后,判断所述请求是否满足转发处理条件;当满足转发处理条件时,所述第一中间件的业务处理线程将所述请求转发给第二中间件,所述第一中间件保存所述请求对应的业务执行环境;
第一中间件,还用于将执行所述请求的业务处理线程置为空闲态,使得所述业务执行线程空闲。
可选的,所述第一中间件,还用于接收到第二中间件返回的所述请求的处理结果时,恢复所述该请求对应的业务执行环境,继续对所述请求进行处理。
可选的,所述服务器还包括:设置请求类型列表;
所述第一中间件,还用于查询所述请求是否在该请求类型列表内,如所述请求对应的类型存在所述请求类型列表内,则判断为满足转发处理条件,如所述请求对应的类型不存在所述请求类型列表内,则判断为不满足转发处理条件。
可选的,所述第一中间件,还用于估算该请求处理的预算时间,如该预算时间大于或等于时间阈值,则判断为满足转发处理条件;如该预算时间小于时间阈值,则判断为不满足转发处理条件。
本发明实施例与现有技术相比,有益效果在于:中间件能够在等待时间中处理其他的外部请求,所以其具有资源利用率高,吞吐率高的优点。
附图说明
图1是本发明实施例提供的一种交易中间件的单线程多任务处理方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明具体实施方式提供一种交易中间件的单线程多任务处理方法,该方法由服务器内的中间件完成,该方法如图1所示,包括如下步骤:
S11、第一中间件接收到处理请求后,判断该请求是否满足转发处理条件;当满足转发处理条件时,执行S12、S13;
S12、第一中间件的业务处理线程将该请求转发给第二中间件,第一中间件保存该请求对应的业务执行环境;
S13、第一中间件将执行该请求的业务处理线程置为空闲态,使得该业务执行线程空闲。
需要说明的是,上述第一中间件和第二中间件仅仅是为了方便区分的标号,并没有什么实际的含义,另外,上述正在运行的业务处理线程列表具体可以为:包含有服务器当前正在运行的所有业务处理线性的标识(例如名称)的列表。当然在实际应用中,上述列表的表述方式还可能有其他的表述方式,这里不一一赘述。
本发明具体实施方式提供的方法在将请求转发给第二中间件后,将该业务处理线程修改成空闲,这样该业务处理线程就可以在等待时间接收其他的外部请求,并对外部请求进行处理,所以该方法具有资源利用率高,吞吐率高的优点。通过这样的处理方法,达到了在系统间通讯进行等待时,不占用中间的处理线程,可以并行处理其他业务,大大提高了业务处理线程的使用率,从而使 得整个交易中间件的吞吐量得以提高。
可选的,上述方法在S13之后还可以包括:
第一中间件接收到第二中间件返回的该请求的处理结果时,恢复所述该请求对应的业务执行环境,继续对该请求进行处理。
可选的,上述判断该请求是否满足转发处理条件的实现方法可以为多种,例如:
设置请求类型列表,查询该请求是否在该请求类型列表内,如存在该请求类型列表内,则判断为满足转发处理条件,如不存在该请求类型列表内,则判断为不满足转发处理条件。上述请求类型列表具体可以为:包含所有需要进行转发处理请求的类型的列表。
估算该请求处理的预算时间,如该预算时间大于或等于时间阈值,则判断为满足转发处理条件;如该预算时间小于时间阈值,则判断为不满足转发处理条件。
上述估算该请求处理的时间的方法具体可以为:记录每个请求所处理的时间,并将处理的时间按类型存储在类型时间列表中,获取当前请求的类型,计算该类型在该类型时间列表中的时间的平均值,该平均值即为该请求处理的预算时间。通过上述方法来预算时间能够考虑各种情况,这样对类型的预算时间计算更准确。
本发明通过在交易中间件中创新性的引入单线程多任务处理机制,该机制在处理业务程序时,摒弃现有交易中间件中一个业务处理线程只能处理一个业务的固有思维,由交易中间件判断业务的属性和状态,根据业务属性和状态自动确定是否启动单线程多任务处理机制。如果对当前业务启动单线程多任务处理机制,则将请求发送给远程处理系统,保持当前业务的业务执行上下文,加载其他业务程序进行处理;当远程处理系统的应答返回后,恢复前面保持的上下文,完成保存业务的处理。
对业务程序来讲,单线程多任务是透明的,任务转移、调度、唤醒完全由 交易中间件自动处理,交易中间件的业务处理线程也不会为等待系统间通讯结果而阻塞。
如果业务需要多个系统间协调完成,涉及到系统间通讯,通过本发明能显著提高交易中间件业务处理线程的处理效率,避免了在系统通讯期间的无效等待,提高了整个系统的处理性能和吞吐率。
本发明具体实施方式还提供一种服务器,所述服务器包括:
第一中间件,用于接收到处理请求后,判断所述请求是否满足转发处理条件;当满足转发处理条件时,所述第一中间件的业务处理线程将所述请求转发给第二中间件,所述第一中间件保存所述请求对应的业务执行环境;
第一中间件,还用于将执行所述请求的业务处理线程置为空闲态,使得所述业务执行线程空闲。
可选的,所述第一中间件,还用于接收到第二中间件返回的所述请求的处理结果时,恢复所述该请求对应的业务执行环境,继续对所述请求进行处理。
可选的,所述服务器还包括:设置请求类型列表;
所述第一中间件,还用于查询所述请求是否在该请求类型列表内,如存在所述请求类型列表内,则判断为满足转发处理条件,如不存在所述请求类型列表内,则判断为不满足转发处理条件。
可选的,所述第一中间件,还用于估算该请求处理的预算时间,如该预算时间大于或等于时间阈值,则判断为满足转发处理条件;如该预算时间小于时间阈值,则判断为不满足转发处理条件。
本发明具体实施方式提供的服务器在将请求转发给第二中间件后,将该业务处理线程修改成空闲,这样该业务处理线程就可以在等待时间接收其他的外部请求,并对外部请求进行处理,所以该服务器具有资源利用率高,吞吐率高的优点。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明 的保护范围之内。
Claims (8)
1.一种交易中间件的单线程多任务处理方法,其特征在于,所述方法包括:
第一中间件接收到处理请求后,判断所述请求是否满足转发处理条件;当满足转发处理条件时,第一中间件的业务处理线程将所述请求转发给第二中间件,第一中间件保存所述请求对应的业务执行环境;
第一中间件将执行所述请求的业务处理线程从正在运行的业务处理线程列表中卸掉,使得所述业务执行线程空闲。
2.根据权利要求1所述的方法,其特征在于,所述方法在使得该业务执行线程空闲之后还包括:
第一中间件接收到第二中间件返回的所述请求的处理结果时,恢复所述该请求对应的业务执行环境,继续对所述请求进行处理。
3.根据权利要求1所述的方法,其特征在于,所述判断所述请求是否满足转发处理条件的实现方法具体包括:
设置请求类型列表,查询所述请求是否在该请求类型列表内,如所述请求对应的类型存在所述请求类型列表内,则判断为满足转发处理条件,如所述请求对应的类型不存在所述请求类型列表内,则判断为不满足转发处理条件。
4.根据权利要求1所述的方法,其特征在于,所述判断所述请求是否满足转发处理条件的实现方法具体包括:
估算该请求处理的预算时间,如该预算时间大于或等于时间阈值,则判断为满足转发处理条件;如该预算时间小于时间阈值,则判断为不满足转发处理条件。
5.一种服务器,其特征在于,所述服务器包括:
第一中间件,用于接收到处理请求后,判断所述请求是否满足转发处理条件;当满足转发处理条件时,所述第一中间件的业务处理线程将所述请求转发给第二中间件,所述第一中间件保存所述请求对应的业务执行环境;
第一中间件,还用于将执行所述请求的业务处理线程从正在运行的业务处理线程列表中卸掉,使得所述业务执行线程空闲。
6.根据权利要求5所述的服务器,其特征在于,
所述第一中间件,还用于接收到第二中间件返回的所述请求的处理结果时,恢复所述该请求对应的业务执行环境,继续对所述请求进行处理。
7.根据权利要求5所述的服务器,其特征在于,所述服务器还包括:设置请求类型列表;
所述第一中间件,还用于查询所述请求是否在该请求类型列表内,如所述请求对应的类型存在所述请求类型列表内,则判断为满足转发处理条件,如所述请求对应的类型不存在所述请求类型列表内,则判断为不满足转发处理条件。
8.根据权利要求5所述的服务器,其特征在于,所述第一中间件,还用于估算该请求处理的预算时间,如该预算时间大于或等于时间阈值,则判断为满足转发处理条件;如该预算时间小于时间阈值,则判断为不满足转发处理条件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310029706.6A CN103970592B (zh) | 2013-01-25 | 2013-01-25 | 交易中间件的单线程多任务处理方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310029706.6A CN103970592B (zh) | 2013-01-25 | 2013-01-25 | 交易中间件的单线程多任务处理方法及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103970592A true CN103970592A (zh) | 2014-08-06 |
CN103970592B CN103970592B (zh) | 2017-05-31 |
Family
ID=51240128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310029706.6A Expired - Fee Related CN103970592B (zh) | 2013-01-25 | 2013-01-25 | 交易中间件的单线程多任务处理方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103970592B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445692A (zh) * | 2015-08-12 | 2017-02-22 | 腾讯科技(深圳)有限公司 | 一种网络服务控制方法及装置 |
CN109710390A (zh) * | 2018-12-19 | 2019-05-03 | 沈阳天眼智云信息科技有限公司 | 单线程处理器的多任务处理方法及处理系统 |
CN110633133A (zh) * | 2018-06-21 | 2019-12-31 | 中兴通讯股份有限公司 | 一种任务处理方法、装置及计算机可读存储介质 |
CN112231114A (zh) * | 2020-09-22 | 2021-01-15 | 深圳云天励飞技术股份有限公司 | 一种事件处理方法及相关设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040244004A1 (en) * | 2000-11-02 | 2004-12-02 | Guy Pardon | Decentralized, Distributed Internet Data Management |
US20080294754A1 (en) * | 2007-05-22 | 2008-11-27 | Bea Systems, Inc. | System and method for configuration-driven deployment |
CN101452555A (zh) * | 2008-12-31 | 2009-06-10 | 中国建设银行股份有限公司 | 查询个人信用信息的方法、系统及个人信用查询系统 |
CN102096708A (zh) * | 2011-01-17 | 2011-06-15 | 中国工商银行股份有限公司 | 基于数据库实现联机事务异步处理的装置及方法 |
CN102185902A (zh) * | 2011-04-19 | 2011-09-14 | 北京神州数码思特奇信息技术股份有限公司 | 一种分布式管理系统及该系统实现业务负载均衡的方法 |
-
2013
- 2013-01-25 CN CN201310029706.6A patent/CN103970592B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040244004A1 (en) * | 2000-11-02 | 2004-12-02 | Guy Pardon | Decentralized, Distributed Internet Data Management |
US20080294754A1 (en) * | 2007-05-22 | 2008-11-27 | Bea Systems, Inc. | System and method for configuration-driven deployment |
CN101452555A (zh) * | 2008-12-31 | 2009-06-10 | 中国建设银行股份有限公司 | 查询个人信用信息的方法、系统及个人信用查询系统 |
CN102096708A (zh) * | 2011-01-17 | 2011-06-15 | 中国工商银行股份有限公司 | 基于数据库实现联机事务异步处理的装置及方法 |
CN102185902A (zh) * | 2011-04-19 | 2011-09-14 | 北京神州数码思特奇信息技术股份有限公司 | 一种分布式管理系统及该系统实现业务负载均衡的方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445692A (zh) * | 2015-08-12 | 2017-02-22 | 腾讯科技(深圳)有限公司 | 一种网络服务控制方法及装置 |
CN106445692B (zh) * | 2015-08-12 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 一种网络服务控制方法及装置 |
CN110633133A (zh) * | 2018-06-21 | 2019-12-31 | 中兴通讯股份有限公司 | 一种任务处理方法、装置及计算机可读存储介质 |
CN109710390A (zh) * | 2018-12-19 | 2019-05-03 | 沈阳天眼智云信息科技有限公司 | 单线程处理器的多任务处理方法及处理系统 |
CN109710390B (zh) * | 2018-12-19 | 2020-08-04 | 沈阳天眼智云信息科技有限公司 | 单线程处理器的多任务处理方法及处理系统 |
CN112231114A (zh) * | 2020-09-22 | 2021-01-15 | 深圳云天励飞技术股份有限公司 | 一种事件处理方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103970592B (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102521712B (zh) | 一种流程实例数据处理方法和装置 | |
CN102214187B (zh) | 复合事件处理方法及装置 | |
CN108985937A (zh) | 一种基于区块链技术的计算资源共享方法及区块链系统 | |
WO2019047441A1 (zh) | 一种通信优化方法及系统 | |
US20120239722A1 (en) | Read-only operations processing in a paxos replication system | |
CN113656179B (zh) | 云计算资源的调度方法及装置、电子设备和存储介质 | |
CN110110006A (zh) | 数据管理方法及相关产品 | |
CN106095940A (zh) | 一种基于任务负载的数据迁移方法 | |
US20170132256A1 (en) | Cluster-Based Business Process Management Through Eager Displacement And On-Demand Recovery | |
CN114201278B (zh) | 任务处理方法、任务处理装置、电子设备以及存储介质 | |
CN110751458B (zh) | 一种业务审批方法、装置和系统 | |
WO2019219005A1 (zh) | 一种数据处理系统及方法 | |
US20130074095A1 (en) | Handling and reporting of object state transitions on a multiprocess architecture | |
CN103970592A (zh) | 交易中间件的单线程多任务处理方法及服务器 | |
CN107766160A (zh) | 队列消息处理方法及终端设备 | |
CN104618304A (zh) | 数据处理方法及数据处理系统 | |
CN114691658A (zh) | 一种数据回溯方法、装置、电子设备及存储介质 | |
CN106685902A (zh) | 一种用户权限管理方法及客户端、服务器 | |
CN115150471B (zh) | 数据处理方法、装置、设备、存储介质及程序产品 | |
CN110221927A (zh) | 异步消息处理方法和装置 | |
CN105260244A (zh) | 一种分布式系统任务调度的方法和装置 | |
CN105184452A (zh) | 一种适用于用电信息大数据计算的MapReduce作业依赖控制方法 | |
Althebyan et al. | A scalable Map Reduce tasks scheduling: a threading-based approach | |
CN106250501A (zh) | 报表处理方法及报表系统 | |
CN116383207A (zh) | 一种数据标签管理方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170531 |
|
CF01 | Termination of patent right due to non-payment of annual fee |