CN103164282A - 一种调整交易中间件服务进程最大数的方法和系统 - Google Patents
一种调整交易中间件服务进程最大数的方法和系统 Download PDFInfo
- Publication number
- CN103164282A CN103164282A CN2011104255010A CN201110425501A CN103164282A CN 103164282 A CN103164282 A CN 103164282A CN 2011104255010 A CN2011104255010 A CN 2011104255010A CN 201110425501 A CN201110425501 A CN 201110425501A CN 103164282 A CN103164282 A CN 103164282A
- Authority
- CN
- China
- Prior art keywords
- service
- maximum
- middleware
- data
- performance
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种调整交易中间件服务进程最大数的方法和装置,其方法为:首先,在预设周期内采集任一中间件服务的性能数据并按照预定格式保存为服务性能文件存入数据库;实时获取所述中间件服务的性能数据,通过比较服务排队数和性能预设基准值判断服务是否排队,如是则从所述数据库获取所述中间件服务的性能数据,计算排队服务最大服务进程数的修改值并修改所述中间件服务进程最大数,否则退出本次执行。本发明能够有效改变中间件服务的最大进程数,以实现中间件服务最大进程数的自动优化。
Description
技术领域
本发明涉及业务支撑技术领域,尤其涉及一种调整交易中间件服务进程最大数的方法和系统。
背景技术
目前,随着电信运营商用户规模持续稳定扩大和业务种类的不断增长,随之而来的是业务量的大量增长,尤其是月末月初、营销活动开展期间或者新业务上线初期,支撑系统不仅要对大量的客户进行集中的业务处理,同时还需满足客户巨量的业务变更和业务查询需求,这种情况往往在短时间内对支撑系统(BOSS)处理能力提出较高要求,若支撑系统处理能力不足,会导致多个业务功能不可用或系统瘫痪,从而引发批量用户投诉,造成恶劣影响。支撑系统(BOSS)的处理能力反映到支撑系统内部的则是交易中间件服务的处理能力和资源调配灵活性。
典型的联机交易处理系统由展示层、应用层和数据层组成,交易中间件作为应用层的核心,连接数据层与展示层,将核心业务逻辑封装成服务,然后将服务信息,包括服务名、服务ID、服务进程数、服务最大进程数等,注册到交易中间件的管理模块中。客户程序按服务名提出服务请求,交易中间件在管理模块中根据服务名查找并分配服务请求,服务根据服务请求向数据层提交数据操作,并将处理结果返回给请求者-客户或其他服务器。交易中间件中的每个服务会有多个进程实现并发处理,同时为每个服务设置进程最大数,称为服务进程最大数,以控制每个服务的进程上限。主流的交易中间件,如TUXEDO,提供了在其服务进程最大数范围内自动调整服务进程数量的方法。该方法通过判断每个中间件服务是否排队,在其最大数的范围内自动调整服务进程的数量。当服务的进程数达到其最大数,仍无法满足业务并发量时,就需要手工调整服务进程的最大数,增加服务的并行处理能力。如果调整不及时,发生长时间的服务排队现象,就会影响前端的业务响应。
在交易中间件的范围内,调整服务最大进程数时,往往无法确定最佳修改值,目前的处理方法是先通过经验判断出合适的修改值,然后手工进行修改,尚无自动调整服务进程最大数的技术和方案。但在交易中间件以外的领域,存在一些方法或系统可以进行资源上限的自动调整。如在一篇申请号为“201010549790.0”的中国专利申请文件中公开了一种应用服务器的优化方法及系统。
其中,所述方法包括:获得预设时间内单条sql的平均处理时间或预设时间段内单条SQL的最大处理时间;在应用服务器负载稳定的情况下,根据处理sql的历史记录,得到应用服务器处理单条sql的平均处理时间,以预定倍数的所述平均处理时间作为预设基准值;在应用服务器负载稳定的情况下,根据处理sql的历史记录,得到应用服务器处理单条sql的最大处理时间,以预定倍数的所述最大处理时间作为预设基准值。
目前交易中间件服务进程最大数的调整只能通过手工修改的方式,尚无自动化调整的技术和方案。而手工调整及时性非常差,当人为的发现交易中间件服务发生排队时,再分析应该调整到的最大数,后再进行调整,会耽误很长时间。而手工处理不及时,往往引起前端的业务响应速度缓慢,严重影响业务支撑系统的业务办理,乃至造成业务支撑系统退服的现象。
而针对应用服务器的资源上限调整技术存在如下缺陷:是针对中间件的连接池进行自动扩展,连接池是整个中间件所能提供的连接数,是中间件中所有服务的连接上限,仍然无法解决单个服务的进程上限自动扩展的问题。
发明内容
本发明的目的是针对上述技术问题提出的一种调整交易中间件服务进程最大数的方法和装置,能够解决单个服务进程上限自动扩展的问题。
本发明主要思想是提出一种交易中间件服务进程最大数自动调整的方法和系统,能够自动调整交易中间件每个服务的最大进程数,以交易中间件每个服务为基本粒度,通过实时获得每个服务的资源消耗,包括CPU使用率和执行效率的相关数据,将所述相关数据与预设基准值进行比较,并根据比较结果自动改变中间件服务的最大进程数,以实现中间件服务最大进程数的自动优化。
根据本发明的一方面,提供了一种调整交易中间件服务进程最大数的方法,包括步骤:
A.在预设周期内采集任一中间件服务的性能数据,将所述性能数据按照预定格式保存为服务性能文件并存入数据库;
B.实时获取所述中间件服务的性能数据,通过比较服务排队数和性能预设基准值判断服务是否排队,如是执行步骤C,否则执行步骤D;
C.退出本次执行;
D.从所述数据库获取所述中间件服务的性能数据,计算排队服务最大服务进程数的修改值;
E.修改所述中间件服务进程最大数。
优选地,步骤A中所述中间件服务的性能数据包括:采样时间、启动服务用户名、服务进程数、服务请求数和CPU使用率。
优选地,步骤B中所述服务排队数等于服务请求数减去服务进程数。
优选地,步骤D中所述排队服务最大服务进程数的修改值为小于预设资源基准值除以平均资源消耗值结果的最大整数。
优选地,所述步骤E进一步包括:
根据所述启动服务用户名确认所述服务所在的组名和服务ID;
通过所述服务组名和服务ID得到所述服务的指针地址,根据所述最大服务进程数的修改值修改所述服务的最大进程数。
根据本发明的另一方面,还提供了一种调整交易中间件服务进程最大数的系统,包括:
数据采集模块,用于在预设周期内采集任一中间件服务的性能数据,将所述性能数据按照预定格式保存为服务性能文件;
数据存储模块,用于将数据采集模块保存的数据存储入库,同时提供对外查询接口,供数据分析模块查询历史数据;
数据分析模块,用于连接数据采集模块与数据存储模块,通过数据采集模块实时获取所述中间件服务的性能数据,通过比较服务排队数和性能预设基准值判断服务是否排队,如是则退出本次执行,否则从所述数据库获取所述中间件服务的性能数据,计算排队服务最大服务进程数的修改值;
服务处理模块,用于处理数据分析模块的处理请求,根据服务名在系统中获得该服务的服务ID,结合服务ID和修改值更新管理模块中的服务进程最大值。
本发明的技术效果在于:
实现了依据“资源消耗控制方法”计算可调整的最大值,并根据该最大值自动调整服务最大进程数的方法和系统。填补了交易中间件无法自动调整服务最大进程数的空白,提高了业务支撑系统的在应对业务量突增,尤其是在月初月末和营销活动开展期间的处理能力,保障了业务支撑系统的连续性,能够大大提高内外部客户的感知和满意度。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明调整交易中间件服务最大进程数方法的具体实施方式一的流程图。
图2是本发明调整交易中间件服务最大进程数方法的具体实施方式二的流程图。
图3是修改服务最大进程数的流程图。
图4是本发明调整交易中间件服务最大进程数装置的结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
如图1所示,为本发明调整交易中间件服务最大进程数方法的具体实施方式一的流程图。
步骤101:在预设周期内采集任一中间件服务的性能数据,将所述性能数据按照预定格式保存为服务性能文件并存入数据库;
步骤102:实时获取所述中间件服务的性能数据,通过比较服务排队数和性能预设基准值判断服务是否排队,服务排队数等于服务请求数减去服务进程数。性能预设基准值可以人工设定,将服务排队数与性能预设基准值进行比较,如果大于预设基准值则执行步骤104,如果小于则执行步骤103;
步骤103:退出本次执行;
步骤104:从所述数据库获取所述中间件服务的性能数据,计算排队服务最大服务进程数的修改值,增加的服务进程数为小于预设资源基准值除以平均资源消耗值结果的最大整数,资源预设基准值可以人工设定;
步骤105:修改所述中间件服务进程最大数。
如图2所示,为本发明调整交易中间件服务最大进程数方法的具体实施方式二的流程图。其中
步骤201:指定周期内采集每个服务的采样时间、启动服务用户名、服务进程数、服务请求数、CPU使用率。并将采集的数据按照指定格式保存成服务性能文件。
步骤202:指定周期内读取中间件主机上的服务性能文件,根据规定好的格式存入数据库。
步骤203:实时获取中间件主机每个服务的性能数据,通过比较服务排队数和性能预设基准值判断服务是否排队。服务排队数等于服务请求数减去服务进程数。性能预设基准值可以人工设定,如20。将服务排队数与预设基准值进行比较,如果大于预设基准值则执行步骤204,如果小于则执行步骤205。
步骤204:退出本次执行。
步骤205:通过与数据存储模块进行交互,确认排队服务CPU使用率的历史均值。
步骤206:通过标准的SQL接口,向数据存储模块发出请求,获得指定服务CPU的历史均值--平均资源消耗。
步骤207:数据存储模块将查询后的数据返回给数据分析模块。
步骤208:数据分析模块接收步骤7的查询结果后,依据资源消耗控制方法,计算排队服务最大服务进程数的修改值。资源消耗控制方法能够在可允许的资源消耗范围内最大化的增加服务数。根据该方法,增加的服务进程数为小于预设资源基准值除以平均资源消耗值结果的最大整数。资源预设基准值可以人工设定,如10%。计算完成后,数据分析模块将需要修改的服务名和修改值传给服务处理模块进行修改。
步骤209:服务处理模块接收步骤8确认的服务数和服务名称后,自动修改该服务的最大进程数。
本领域技术人员应该明了,具体实施方式二为一种更优选的实施方式,不能作为对本发明的限制。
如图3所示,为修改该服务最大进程数的流程。
步骤301:服务处理模块接收图2中步骤8确认的服务数和服务名称,开始自动修改服务进程最大数流程。
步骤302:服务处理模块根据服务名,在交易中间件管理模块中确认该服务所在的组名和服务ID。
步骤303:服务处理模块通过服务组名和服务ID找到该服务在管理模块中的指针地址,根据步骤301中传入的修改值,修改管理模块服务的最大进程数。
至此,自动调整服务最大数流程结束。
如图4所示,为本发明调整交易中间件服务最大进程数装置的结构示意图,包括数据采集模块、数据分析模块、数据存储模块和服务处理模块。其中
数据采集模块主要实现对所有中间件主机监控数据的采集。在每台中间件主机上部署监控定时程序,在周期范围内采集中间件服务监控指标,并形成文件形式加以保存。指标包括:
(1)服务资源指标。指定周期内采集每个交易中间件服务的CPU使用率。该指标反映了服务本身的资源消耗。
(2)服务性能指标。指定周期内采集每个服务在采集周期内的排队情况和服务个数。该指标反映了服务的执行效率。
(3)指标通过文件的方式保留在采集主机上。为方便数据存储,规定了标准的格式。其中:
服务资源指标格式如下,第一列为采样时间,第二列为CPU使用率,第三列为服务所属用户名,第五列为服务名。
2011-7-21 14:550.2 bosstux1 GWTDOMAIN
服务性能指标格式如下,第一列为采样时间,第二列服务所属用户名,第三列为服务名,第四列为服务进程数,第五列为服务请求数。
2011-7-21 14:55crmtux3 RCustMsg 10 8
数据存储模块负责将数据采集模块保存的数据存储入库,同时提供对外查询接口,供数据分析模块查询历史数据。
数据分析模块连接数据采集模块与数据存储模块,通过数据采集模块实时获得服务的性能指标。当服务请求数(指同一时间来自客户端的请求数,每个服务的一个进程,同一时间只能处理一个请求)大于服务进程数(指当前服务启动的进程数量)时,表明服务整体队列处于排队状态,服务排队数等于服务请求数减去服务进程数。
将服务排队数与排队预设基准值进行比较,如果大于排队预设基准值则在确认修改值后,将服务名和修改值传给服务处理模块,修改该服务的最大服务数。数据分析模块连接数据存储模块获得单个服务进程的资源消耗历史数据,通过资源消耗控制方法,计算最大服务进程数的修改值。资源消耗控制方法是指在可允许的资源消耗范围内最大化的增加服务进程数。根据该方法,增加的服务进程数为小于预设资源基准值除以平均资源消耗值结果的最大整数。如,预设资源基准值为5%,该服务当前最大进程数的值为10,服务单进程的平均资源消耗值为0.6,则根据资源消耗控制方法,修改后的服务最大进程数为18,计算过程为:5%除以0.6%等于8.3,小于8.3的最大整数为8,10加上8等于18.
服务处理模块处理数据分析模块的处理请求,自动根据服务名在管理模块中获得该服务的服务ID,结合服务ID和修改值更新管理模块中的服务进程最大值。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种调整交易中间件服务进程最大数的方法,用于电信业务支撑系统,其特征在于,包括步骤:
A.在预设周期内采集任一中间件服务的性能数据,将所述性能数据按照预定格式保存为服务性能文件并存入数据库;
B.实时获取所述中间件服务的性能数据,通过比较服务排队数和性能预设基准值判断服务是否排队;
D.如服务排队,则从所述数据库获取所述中间件服务的性能数据,计算排队服务最大服务进程数的修改值;
E.修改所述中间件服务进程最大数。
2.如权利要求1所述的方法,其特征在于,步骤A中所述中间件服务的性能数据包括:采样时间、启动服务用户名、服务进程数、服务请求数和CPU使用率。
3.如权利要求1所述的方法,其特征在于,步骤B中所述服务排队数等于服务请求数减去服务进程数。
4.如权利要求1所述的方法,其特征在于,步骤D中所述排队服务最大服务进程数的修改值为小于预设资源基准值除以平均资源消耗值结果的最大整数。
5.如权利要求2所述的方法,其特征在于,所述步骤E进一步包括:
根据所述启动服务用户名确认所述服务所在的组名和服务ID;
通过所述服务组名和服务ID得到所述服务的指针地址,根据所述最大服务进程数的修改值修改所述服务的最大进程数。
6.一种调整交易中间件服务进程最大数的装置,其特征在于,包括:
数据采集模块,用于在预设周期内采集任一中间件服务的性能数据,将所述性能数据按照预定格式保存为服务性能文件;
数据存储模块,用于将数据采集模块保存的数据存储入库,同时提供对外查询接口,供数据分析模块查询历史数据;
数据分析模块,用于连接数据采集模块与数据存储模块,通过数据采集模块实时获取所述中间件服务的性能数据,通过比较服务排队数和性能预设基准值判断服务是否排队,如是则从所述数据库获取所述中间件服务的性能数据,计算排队服务最大服务进程数的修改值;
服务处理模块,用于处理数据分析模块的处理请求,根据服务名在系统中获得该服务的服务ID,结合服务ID和修改值更新管理模块中的服务进程最大值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110425501.0A CN103164282B (zh) | 2011-12-19 | 一种调整交易中间件服务进程最大数的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110425501.0A CN103164282B (zh) | 2011-12-19 | 一种调整交易中间件服务进程最大数的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103164282A true CN103164282A (zh) | 2013-06-19 |
CN103164282B CN103164282B (zh) | 2016-12-14 |
Family
ID=
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104809070A (zh) * | 2015-05-13 | 2015-07-29 | 上海新炬网络信息技术有限公司 | 基于数据库交易类中间件的性能分析方法 |
CN105740073A (zh) * | 2016-01-21 | 2016-07-06 | 浪潮(北京)电子信息产业有限公司 | 一种动态控制操作系统进程数量的方法及装置 |
CN106020986A (zh) * | 2016-05-26 | 2016-10-12 | 中国建设银行股份有限公司 | 一种数据处理方法及装置 |
CN109800124A (zh) * | 2018-12-15 | 2019-05-24 | 中国平安人寿保险股份有限公司 | Cpu使用率监控方法、装置、电子设备及存储介质 |
CN111078372A (zh) * | 2019-12-20 | 2020-04-28 | 北京思特奇信息技术股份有限公司 | 一种自动化进程管理方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080294712A1 (en) * | 2007-05-22 | 2008-11-27 | Bea Systems, Inc. | System and method for web services gateway server |
CN101364185A (zh) * | 2008-09-02 | 2009-02-11 | 中国科学院软件研究所 | 线程池容量自适应调节方法及应用服务器并发控制方法 |
CN102033784A (zh) * | 2010-11-18 | 2011-04-27 | 山东中创软件工程股份有限公司 | 一种应用服务器的优化方法及装置 |
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080294712A1 (en) * | 2007-05-22 | 2008-11-27 | Bea Systems, Inc. | System and method for web services gateway server |
CN101364185A (zh) * | 2008-09-02 | 2009-02-11 | 中国科学院软件研究所 | 线程池容量自适应调节方法及应用服务器并发控制方法 |
CN102033784A (zh) * | 2010-11-18 | 2011-04-27 | 山东中创软件工程股份有限公司 | 一种应用服务器的优化方法及装置 |
Non-Patent Citations (2)
Title |
---|
孙惠琴等: "交易中间件的设计与实现", 《计算机工程与应用》 * |
杨开杰等: "线程池的多线程并发控制技术研究", 《计算机应用于软件》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104809070A (zh) * | 2015-05-13 | 2015-07-29 | 上海新炬网络信息技术有限公司 | 基于数据库交易类中间件的性能分析方法 |
CN105740073A (zh) * | 2016-01-21 | 2016-07-06 | 浪潮(北京)电子信息产业有限公司 | 一种动态控制操作系统进程数量的方法及装置 |
CN106020986A (zh) * | 2016-05-26 | 2016-10-12 | 中国建设银行股份有限公司 | 一种数据处理方法及装置 |
CN109800124A (zh) * | 2018-12-15 | 2019-05-24 | 中国平安人寿保险股份有限公司 | Cpu使用率监控方法、装置、电子设备及存储介质 |
CN111078372A (zh) * | 2019-12-20 | 2020-04-28 | 北京思特奇信息技术股份有限公司 | 一种自动化进程管理方法及系统 |
CN111078372B (zh) * | 2019-12-20 | 2023-08-08 | 北京思特奇信息技术股份有限公司 | 一种自动化进程管理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111522636B (zh) | 应用容器的调整方法、调整系统、计算机可读介质及终端设备 | |
US10572285B2 (en) | Method and apparatus for elastically scaling virtual machine cluster | |
CN103295147B (zh) | 投放广告的方法、装置和系统 | |
CN103368986A (zh) | 一种信息推荐方法及信息推荐装置 | |
CN106815254A (zh) | 一种数据处理方法和装置 | |
CN111737168B (zh) | 一种缓存系统、缓存处理方法、装置、设备及介质 | |
CN106933868A (zh) | 一种调整数据分片分布的方法及数据服务器 | |
CN110191168A (zh) | 在线业务数据的处理方法、装置、计算机设备和存储介质 | |
CN114064204A (zh) | 一种微服务环境下基于业务预测动态扩容的方法 | |
CN112163001A (zh) | 高并发查询方法、智能终端及存储介质 | |
CN106021512A (zh) | 一种页面刷新方法及装置 | |
CN107886352B (zh) | 一种广告结算的方法及系统 | |
CN107451227A (zh) | 分页查询方法及装置 | |
CN108629653A (zh) | 一种低延时库存扣减服务系统及方法 | |
EP2662783A1 (en) | Data archiving approach leveraging database layer functionality | |
CN108563504A (zh) | 一种资源管控方法和装置 | |
CN110069565A (zh) | 一种分布式数据库数据批量处理的方法及装置 | |
CN111160991A (zh) | Pdb广告流量优选方法、装置、存储介质及电子设备 | |
CN104391947A (zh) | 海量gis数据实时处理方法及系统 | |
CN109450672B (zh) | 一种识别带宽需求突发的方法和装置 | |
CN107229424B (zh) | 一种分布式存储系统数据写入方法及分布式存储系统 | |
WO2015096791A1 (en) | Method and system for releasing media content | |
CN103164282A (zh) | 一种调整交易中间件服务进程最大数的方法和系统 | |
CN106648874B (zh) | 一种批量任务的处理方法及装置 | |
CN114819947A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |