CN108958893B - 高并发业务的资源控制方法、装置和计算机可读存储介质 - Google Patents
高并发业务的资源控制方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN108958893B CN108958893B CN201710372138.8A CN201710372138A CN108958893B CN 108958893 B CN108958893 B CN 108958893B CN 201710372138 A CN201710372138 A CN 201710372138A CN 108958893 B CN108958893 B CN 108958893B
- Authority
- CN
- China
- Prior art keywords
- service
- transaction request
- resource
- synchronous
- mode
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种高并发业务的资源控制方法、装置和计算机可读存储介质。该方法包括:实时获取用于处理当前并发业务的当前可用资源;接收并发的业务交易请求;基于当前可用资源和业务交易请求的并发数量,判断当前可用资源是否足够发起同步交易请求;如果当前可用资源不足发起同步交易请求,则计算并发的业务交易请求的优先级,并根据优先级,发起异步交易请求或者发起强制同步交易请求。由此,本发明实施例不仅可以在常规软件和硬件配置的基础上,合理控制有效资源,优先同步处理,保障了业务的一致性,而且可以根据优先级灵活处理,保证了重要请求的时效性,提升了高并发业务的处理效率。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种高并发业务的资源控制方法、装置和计算机可读存储介质。
背景技术
随着在线交易平台的火爆,高并发业务的处理备受关注。并发操作是一种可以使用多个线程或者多个进程,同时处理(即并发处理)不同业务的操作。高并发可以用并发数量来表示高并发的程度。通常,高并发时的并发数量要相对较大。目前大型IT在线交易系统在处理高并发业务时,一般采用同步处理或者异步处理两种方式。同步处理是指:消息发出者在发出交易消息后,一直要等待系统反馈后再关闭通道。异步处理是指:消息发出者在发出交易消息后立即关闭通道,待系统处理完成后,由系统再通知消息发出者。
申请人经研究发现:现有的大型交易系统仅采用单一的请求入口对高并发业务进行统一处理,具体可以按照硬件配置和数据库的性能来选择同步处理或者异步处理的方式。其中,同步处理的方法虽然能保障事务的一致性,且交易成功或失败都会立即通知消息发出者,但是同步处理对系统能力要求较高。在高并发的交易模式下,数据库最容易成为性能瓶颈。数据库性能直接决定了交易系统的整体吞吐量。异步处理的方法因为将交易请求分阶段执行,任一阶段执行失败都需要回退整个业务,所以往往会造成事务不一致情况。
如何在常规软件和硬件配置的基础上,合理控制有效资源,提升高并发业务的处理效率,成为业界亟待解决的技术问题。
发明内容
为了在常规软件和硬件配置的基础上,无法合理控制有效资源,高并发业务处理效率低下的问题,本发明实施例提供了一种高并发业务的资源控制方法、装置和计算机可读存储介质。
第一方面,提供了一种高并发业务的资源控制方法。该方法包括以下步骤:
实时获取用于处理当前并发业务的当前可用资源;
接收并发的业务交易请求;
基于当前可用资源和业务交易请求的并发数量,判断当前可用资源是否足够发起同步交易请求;
如果当前可用资源不足发起同步交易请求,则计算并发的业务交易请求的优先级,并根据优先级,发起异步交易请求或者发起强制同步交易请求。
第二方面,提供了一种高并发业务的资源控制装置。该装置包括:
资源管理模块,用于实时获取用于处理当前并发业务的当前可用资源;
流量控制模块,用于接收并发的业务交易请求;以及基于当前可用资源和业务交易请求的并发数量,判断当前可用资源是否足够发起同步交易请求;
排位计算模块,用于如果当前可用资源不足发起同步交易请求,则计算并发的业务交易请求的优先级;
流量控制模块,还用于如果当前可用资源足够发起同步交易请求,则发起同步交易请求;如果当前可用资源不足发起同步交易请求,则根据优先级,发起异步交易请求或者发起强制同步交易请求。
第三方面,提供了一种高并发业务的资源控制装置。该装置包括:
存储器,用于存放程序;
处理器,用于执行所述存储器存储的程序,所述程序使得所述处理器执行上述各方面所述的方法。
第四方面,提供了一种计算机可读存储介质。该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
由此,本发明实施例可以基于当前可用资源和业务交易请求的并发数量,判断当前可用资源是否足够发起同步交易请求,当资源足够时,发起同步交易请求,当资源不足时,根据业务交易请求的优先级,发起异步交易请求或者发起强制同步交易请求,不仅可以在常规软件和硬件配置的基础上,合理控制有效资源,优先同步处理,保障了业务的一致性,而且可以根据优先级灵活处理,保证了重要请求的时效性,提升了高并发业务的处理效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例的高并发业务的资源控制系统的架构示意图。
图2是本发明一实施例的高并发业务的资源控制方法的流程示意图。
图3是本发明一实施例的计算实时资源的流程示意图。
图4是本发明一实施例的排队重试的流程示意图。
图5是本发明一实施例的高并发业务的资源控制装置的结构示意图。
图6是本发明一实施例的高并发业务的资源控制系统进行高并发业务的资源控制的流程示意图。
图7是本发明一实施例的实时资源申请管理的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1是本发明一实施例的高并发业务的资源控制系统的架构示意图。
如图1所示,该架构可以包括:外围平台100、资源控制装置200和业务受理装置300。资源控制装置200接收来自外围平台100高并发的业务请求,并根据业务受理装置300当前在用资源进行灵活的业务请求。资源控制装置200可以包括:流量控制模块210、排位计算模块220、业务代理模块230和资源管理模块240。
本架构可以通过业务代理模块230与业务受理装置300对接,确保校验通过的用户可完成业务受理。本架构还可以通过排位计算模块220计算业务处理优先级,再通过流量控制模块210控制业务同异步切换。本架构还可以通过资源管理模块240计算系统动态资源以控制处理任务。
在该架构中,高并发业务的资源控制系统的控制步骤可以如下所示:S1,资源管理模块240通过探针实时获取业务受理装置300当前在用资源并计算出可使用资源,并将相关资源数据更新到共享内存。S2,外围平台100将业务请求(例如缴费业务请求)发送到业务代理模块230,业务代理模块230向流量控制模块210发送交易方式请求。S3,流量控制模块210获取当前并发请求数和系统可用资源,如果当前资源足够发起同步交易请求,如果资源不足则向排位计算模块220发起业务优先级计算申请。S4,流量控制模块210根据业务优先级计算结果修正请求方式,发起异步交易请求或强制同步交易请求。S5,异步交易进程在处理任务时,首先可以调用资源管理模块240进行资源申请,如申请成功,则可以根据缓存的数据发起充值交易请求;如果申请失败,则可以根据重试算法等待重试。
下面各个实施例均可以在本架构的场景下进行资源控制,本架构中的功能模块可以作为下面方法实施例中动作的实施主体,具体执行相应的高并发业务的资源控制操作。
图2是本发明一实施例的高并发业务的资源控制方法的流程示意图。
如图2所示,高并发业务的资源控制方法可以包括以下步骤:S210,实时获取用于处理当前并发业务的当前可用资源;S220,接收并发的业务交易请求;S230,基于当前可用资源和业务交易请求的并发数量,判断当前可用资源是否足够发起同步交易请求;S240,如果当前可用资源足够发起同步交易请求,则发起同步交易请求;S250,如果当前可用资源不足发起同步交易请求,则计算并发的业务交易请求的优先级,并根据优先级,发起异步交易请求或者发起强制同步交易请求。
在一些实施例中,步骤S240可以省去。在步骤S210中,当前可用资源(实时资源)计算的实现方式可以是:使用探针获取当前各业务处理服务器和数据库当前在用资源,并计算出可用资源,并刷新入内存磁盘(Mem Cache),该部分内容下文还将详细描述。
在步骤S220中,并发的业务交易请求可以是高并发的业务请求。因为高并发是个相对的概念,例如,同时并发的数量达到10000,所以本发明实施例不对高并发做具体的限制,本发明实施例同样可以应用于低并发的场景中,只是,在并发数高时本发明实施例的有益效果尤为明显。
在步骤S230中,本发明实施例可以基于当前可用资源和业务交易请求的并发数量,判断当前可用资源是否足够发起同步交易请求。例如,当业务交易请求的并发数量没有达到阈值时,当前可用资源就足够发起同步交易请求。
在步骤S240中,因为同步处理的方法可以保障业务的一致性,且交易成功或失败都会立即通知消息发出者,所以本发明实施例在现有的软硬件配置下,优先选择同步处理的方式。
在步骤S250中,如果当前可用资源不足发起同步交易请求,则计算并发的业务交易请求的优先级,并根据优先级,发起异步交易请求或者发起强制同步交易请求。例如,优先级较高时,需要发起同步交易请求,以保证业务的可靠性。又例如,优先级较低时,可以发起异步交易请求。具体发出什么情况,可以根据业务情况进行灵活设置,本发明实施例不对此进行限制。该部分内容下文还将继续描述。
由此,本发明实施例可以基于当前可用资源和业务交易请求的并发数量,判断当前可用资源是否足够发起同步交易请求,当资源足够时,发起同步交易请求,当资源不足时,根据业务交易请求的优先级,发起异步交易请求或者发起强制同步交易请求,不仅可以在常规软件和硬件配置的基础上,合理控制有效资源,优先同步处理,保障了业务的一致性,而且可以根据优先级灵活处理,保证了重要请求的时效性,提升了高并发业务的处理效率。
在一些实施例中,步骤S210可以包括:利用探针实时获取用于处理当前并发业务的当前在用资源;基于当前在用资源计算当前可用资源。由此,本发明实施例根据探针实时获取当前在用资源,并基于当前在用资源计算当前可用资源,计算结果准确,保障了后续高并发业务资源的处理精度。
在一些实施例中,当前在用资源可以包括以下一种或者两种以上信息:服务器资源信息、数据库资源信息、资源基线配置信息。由此,因为服务器资源信息、数据库资源信息、资源基线配置信息这三个参数对当前可用资源影响较大,所以本发明实施例可以根据这些影响较大的参数来计算当前可用资源,可以提高计算结果的精度,并可以保障后续高并发业务资源的处理精度。
图3是本发明一实施例的计算实时资源的流程示意图。
如图3所示,计算实时资源可以包括以下步骤:S310,从业务系统的获取业务服务器的资源信息;S320,从数据库获取数据库的资源信息;S330,对业务资源进行基线配置;S340,按业务计算可用资源;S350,刷新计算的可用资源至Mem Cache。
在步骤S310中,采集的业务服务的资源信息可以包括:应用服务器总服务数,应用服务器当前使用服务数。
在步骤S320中,数据库的资源信息可以包括:业务级表并发数。
在步骤S330中,业务资源基线配置的实现方式可以包括:配置受理该笔业务所需资源及该类资源的最大并发数。
在步骤S340中,通常情况下,业务服务资源最大并发数配置与应用服务总数保持一致。数据库业务级表并发数配置可以根据表索引进行计算。数据库业务级表并发数的计算公式可以为:
Tn=2000/(∑5*N+∑M) (1)
其中,Tn可以数据库业务级表并发数,N可以为唯一索引,M可以为普通索引。
根据当前并发数计算系统各类可用资源,计算公式可以为:
Rn=Min({S1,S2,..Sn,T1,T2…Tn}) (2)
其中,Rn可以为可用资源,S1,S2,…Sn可以为该业务能够使用的服务数,T1,T2,…Tn可以为该业务能够使用的数据库表并发数。
在步骤S350中,将最新计算的可用资源存入Mem Cache。
在一些实施例中,可以使用探针获取当前各业务代理并发量,同时从资源管理模块获取可用资源,根据可用资源和当前并发量决定该笔交易采用同步模式还是异步模式,具体实现方式如下:
1、各业务探针从业务代理实时采集当前业务并发量,并将并发量数据刷新入MemCache中。
2、资源管理将当前系统可用资源刷实时刷新入MemCache中。
3、流量控制模块从MemCache中获取当前并发量和可用资源,并计算交易方式。交易方式计算方法如下:
MODE=(T1+T2+T3.....+Tn)/(Sn*(1-ΔP-ΔM))-1 (3)
其中,T1、T2、T3……Tn可以为业务代理并发数,Sn可以为资源管理模块可用资源,ΔP可以为强制同步方式预留资源值,通常设置为5%,ΔM可以为高并发水线保护值,通常设置为10%,MODE可以为交易方式结果。例如,当MODE>0时,可以采用异步方式,当MODE≤0时,可以采用同步方式。具体,采用同步还是异步的方式可以根据实际需求进行灵活设置,此方面内容不做限制。
在一些实施例中,在图2的基础上还可以在接收并发的业务交易请求(即S220)之后增加如下步骤:响应于业务交易请求,申请当前可用资源;根据申请的当前可用资源,调整业务处理模式。由此,本发明实施例通过根据当前可用资源调整业务处理模式,可以实现受理业务总量动态计算交易方式,弥补了现有系统中同步模式无法应对交易峰值,异步方式模式无法解决业务优先级的缺陷。
在一些实施例中,业务交易请求可以包括:同步交易请求、强制同步交易请求、异步交易请求或者强制异步交易请求。
在一些实施例中,可以通过业务代理模块与外围系统和业务系统交互,接收外围系统交易请求,并解析报文,根据报文请求业务类型发送流量控制返回结果调用校验或受理接口。其中,与业务系统交易模式包括以下四种模式:同步交易处理模式、强制同步交易处理模式、异步交易处理模式或者强制异步交易处理模式。
其中,同步交易处理模式的实现方式可以包括:直接向业务系统发送交易请求。强制同步交易处理模式的实现方式可以包括:交易请求在业务代理队列中排队等待,根据重试算法发起资源申请,获得资源后发起同步交易请求。异步交易处理模式的实现方式可以包括:业务代理调用资格校验模块,发起资格校验申请并返回校验结果,缓存请求数据,通过异步处理进程匀速处理。强制异步交易处理模式的实现方式可以包括:同步交易在多次尝试仍无法获取到资源后交易方式切换为强制异步。
在一些实施例中,调整业务处理模式的步骤可以包括如下子步骤:获取当前能够代理的所述业务交易请求的阈值;
如果所述并发数量大于所述阈值,则由非强制异步模式切换为强制异步模式;
如果所述并发数量小于所述阈值,则在等待预设时间后,重新申请所述当前可用资源,在重新申请所述当前可用资源成功的情况下,则由非强制同步模式切换为强制同步模式;
如果所述并发数量小于所述阈值,则在等待预设时间后,重新申请所述当前可用资源,在重新申请所述当前可用资源的失败次数达到预设次数的情况下,则由非强制异步模式切换为强制异步模式。
上述调整业务处理模式可以通过排队重试算法来完成。
图4是本发明一实施例的排队重试的流程示意图。
如图4所示,排队重试算法的实现方式可以包括以下步骤:
S410,接收并发的业务请求,并将业务请求排成队列;
S420,获取当前代理请求量阈值X,并判断队列中排队数量(即当前并发数)是否大于阈值X;
S430,如果当前并发数大于阈值X,则直接切换为强制异步模式;
S440,如果当前并发数小于或者等于阈值X,则等待Y毫秒后重新申请资源;
S450,如果重新申请资源未成功,则继续重试,并判断重试的次数是否超过阈值Z次;
S460,判断在重试Z次后申请资源是否成功,如果此时申请资源成功,则转步骤S470进行强制同步;如果此时申请资源失败,则转步骤S420并继续判断。
在本发明实施例中,X取值可以为代理最大队列量的70%,Y取值可以为10、20或者50,第一次重试取值可以为10,第二次重试取值可以为20,第三次重试取值可以为50,Z取值可以为3。
在一些实施例中,计算并发的业务交易请求的优先级可以包括如下步骤:获取并发的业务交易请求中业务的业务参数;基于业务参数,计算业务交易请求的优先级。由此,本发明实施例根据基于业务参数,计算业务交易请求的优先级,计算结果准确,保障了后续高并发业务资源的处理精度。
在一些实施例中,业务参数包括以下参数中的一个或者两个以下参数:业务类型、请求生效方式、请求渠道类型、时延偏移量。由此,因为业务类型、请求生效方式、请求渠道类型、时延偏移量这些参数对优先级的影响较大,所以本发明实施例可以根据这些影响较大的参数来计算优先级,可以提高计算结果的精度,并可以保障后续高并发业务资源的处理精度。
在一些实施例中,可以利用排位计算模块根据业务代理传入业务请求类型,时效性要求,受理渠道进行业务优先级计算,并根据计算出的优先级决定交易方式。优先级计算公式如下:
Priority=ReqType+BusiType+ChType+Δt/120 (3)
其中,Priority可以优先级,ReqType可以为请求业务类型(如缴费类型或者产品变更类型),BusiType可以为请求生效方式(如立即生效方式或者下月生效方式),ChType可以为请求渠道类型(如营业厅、手机客户端或者第三方平台的类型),Δt可以为时延偏移量,Δt可以根据请求时间与排位计算时间计算得出。
在本实施例中,Priority计算结果值大于或等于30采用强制同步方式,小于30采用异步方式。业务代理在处理业务时,强制同步方式优先级高于异步方式,同种交易方式下优先级高的业务先行处理。
优先级基础参数定义可以如下面表(1)所示:
业务类型 | 优先级 | 生效方式 | 优先级 | 渠道类型 | 优先级 |
产品变更 | 5 | 立即 | 10 | 前台 | 10 |
缴费 | 10 | 下日 | 2 | 手机客户端 | 4 |
停机 | 1 | 下月 | 0 | 第三方平台 | 2 |
表(1)
例如,用户通过第三方平台缴费业务,计算出优先级为:
Priority=10+10+2+Δt/120 (4)
当时延Δt≥1080秒采用强制同步方式,Δt<1080采用异步方式。
又例如,该用户通过前台缴费,计算出优先级为:
Priority=10+10+10+Δt/120 (5)
在本实施例中,无论时延多少均采用强制同步方式处理。
需要说明的是,在不冲突的情况下,本领域的技术人员可以按实际需要将上述的操作步骤的顺序进行灵活调整,或者将上述步骤进行灵活组合等操作。为了简明,不再赘述各种实现方式。另外,各实施例的内容可以相互参考引用。
图5是本发明一实施例的高并发业务的资源控制装置的结构示意图。
如图5所示,该装置可以包括:资源管理模块240、流量控制模块210和排位计算模块220。其中,资源管理模块240可以用于实时获取用于处理当前并发业务的当前可用资源;流量控制模块210可以用于接收并发的业务交易请求;以及基于当前可用资源和业务交易请求的并发数量,判断当前可用资源是否足够发起同步交易请求;排位计算模块220可以用于如果当前可用资源不足发起同步交易请求,则计算并发的业务交易请求的优先级;流量控制模块210还可以用于如果当前可用资源足够发起同步交易请求,则发起同步交易请求;如果当前可用资源不足发起同步交易请求,则根据优先级,发起异步交易请求或者发起强制同步交易请求。
需要说明的是,本文各实施例中所示的功能模块、单元或者元件的实现方式可以为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
在一些实施例中,可以在图5的基础上还可以增加:业务代理模块。其中,业务代理模块可以用于响应于业务交易请求,申请当前可用资源;流量控制模块可以还用于根据申请的当前可用资源,调整业务处理模式。
在一些实施例中,流量控制模块210可以包括:阈值获取单元、第一切换单元、第二切换单元和第三切换单元。其中,阈值获取单元可以用于获取当前能够代理的业务交易请求的阈值;第一切换单元可以用于如果并发数量大于阈值,则由非强制异步模式切换为强制异步模式;第二切换单元可以用于如果所述并发数量小于所述阈值,则在等待预设时间后,重新申请所述当前可用资源,在重新申请所述当前可用资源成功的情况下,则由非强制同步模式切换为强制同步模式;第三切换单元可以用于如果所述并发数量小于所述阈值,则在等待预设时间后,重新申请所述当前可用资源,在重新申请所述当前可用资源的失败次数达到预设次数的情况下,则由非强制异步模式切换为强制异步模式。
在一些实施例中,业务交易请求可以包括:同步交易请求、强制同步交易请求、异步交易请求或者强制异步交易请求。业务处理模式可以包括:同步交易处理模式、强制同步交易处理模式、异步交易处理模式或者强制异步交易处理模式。
在一些实施例中,阈值获取单元可以包括:资源探测元件和资源计算元件。其中,资源探测元件可以用于利用探针实时获取用于处理当前并发业务的当前在用资源;资源计算元件可以用于基于当前在用资源计算当前可用资源。
在一些实施例中,当前在用资源包括以下一种或者两种以上信息:服务器资源信息、数据库资源信息、资源基线配置信息。
在一些实施例中,排位计算模块220可以包括:参数获取单元和优先级计算单元。其中,参数获取单元可以用于获取并发的业务交易请求中业务的业务参数;优先级计算单元可以用于基于业务参数,计算业务交易请求的优先级。
在一些实施例中,业务参数包括以下参数中的一个或者两个以下参数:业务类型、请求生效方式、请求渠道类型、时延偏移量。
图6是本发明一实施例的高并发业务的资源控制系统进行高并发业务的资源控制的流程示意图。
如图6所示,该系统可以包括:外围平台100、流量控制模块210、排位计算模块220、业务代理模块230、资源管理模块240和业务受理装置300。该系统的高并发业务动态资源控制的实现方式可以如下所示:
1、资源管理模块240通过探针实时获取业务受理装置300的当前在用资源并计算出可使用资源,并将相关资源数据更新到共享内存;
2、外围平台100将缴费业务请求发送到业务代理模块230,业务代理模块230向流量控制模块210发送交易方式请求;
3、流量控制模块210获取当前并发请求数和系统可用资源。如果当前资源足够发起同步交易请求,如果资源不足则向排位计算模块发起业务优先级计算申请;
4、流量控制模块210根据业务优先级计算结果修正请求方式,发起不同的交易请求。
5、异步交易进程在处理任务时首先调用资源管理模块240进行资源申请,如申请成功,则根据缓存的数据发起充值交易请求,如果申请失败,根据重试算法等待重试。
具体的,本发明实施例可以根据当前并发请求数和系统可用资源判断资源是否足够同步处理,并根据判断情况执行如下四种处理方式。
610:资源足够,同步处理。
如果当前资源足够发起同步交易请求,流量控制模块210向业务代理模块230发起同步受理请求。业务代理模块230向资源管理模块240发起资源申请,业务代理模块230向业务受理装置300发起业务请求,例如,缴纳移动话费请求。业务受理装置300向业务代理模块230返回同步受理业务结果。业务代理模块230向外围平台100返回处理结果。
620:资源不足,强制同步处理。
如果资源不足,流量控制模块210则向排位计算模块220发起业务优先级计算申请。排位计算模块220计算业务优先级,并向流量控制模块210反馈计算的业务优先级。流量控制模块210根据优先级向业务代理模块230发出强制同步受理请求。业务代理模块230向资源管理模块240发起资源申请。如果资源不足,则进行排队等待。业务代理模块230向业务受理装置300发起业务请求。业务受理装置300向业务代理模块230返回同步受理业务结果。业务代理模块230向外围平台100返回处理结果。
630:资源不足,异步处理。
如果资源不足,流量控制模块210则向排位计算模块220发起业务优先级计算申请。排位计算模块220计算业务优先级,并向流量控制模块210反馈计算的业务优先级。流量控制模块210根据优先级向业务代理模块230发出异步受理请求。业务代理模块230向业务受理装置300发起业务校验请求。业务受理装置300向业务代理模块230返回业务校验结果。业务代理模块230向外围平台100返回处理结果。同时,业务代理模块230缓存业务请求,并向排位计算模块220发起排位计算。业务代理模块230向资源管理模块240发起资源申请,并向业务受理装置300发起业务请求。业务受理装置300向业务代理模块230返回异步处理结果。
640:资源不足,强制异步处理。
如果资源不足,流量控制模块210则向排位计算模块220发起业务优先级计算申请。排位计算模块220计算业务优先级,并向流量控制模块210反馈计算的业务优先级。流量控制模块210根据优先级向业务代理模块230发出强制异步受理请求。业务代理模块230在请求排队等待超时的情况下,向业务受理装置300发起强制异步和校验请求。业务受理装置300向业务代理模块230返回业务校验结果。业务受理装置300向业务代理模块230返回业务校验结果。业务代理模块230向外围平台100返回处理结果。同时,业务代理模块230缓存业务请求,并向排位计算模块220发起排位计算。业务代理模块230向资源管理模块240发起资源申请,并向业务受理装置300发起业务请求。业务受理装置300向业务代理模块230返回异步处理结果。
在一些实施例中,业务代理模块230可以用于与外围平台100和业务受理装置300交互,接收外围平台100交易请求,解析报文,根据报文请求业务类型发送流量控制返回结果调用校验或受理接口,与业务受理装置300交易方式包括:同步处理方式、强制同步处理方式、异步处理方式和强制异步等处理方式。
在一些实施例中,流量控制模块210可以使用探针获取当前各业务代理并发量,同时从资源管理模块240处获取可用资源,根据可用资源和当前并发量决定该笔交易采用同步模式或者异步模式等。
在一些实施例中,排位计算模块220可以根据业务代理传入业务请求类型,时效性要求,受理渠道进行业务优先级计算,并根据计算出的优先级决定交易方式。
在一些实施例中,资源管理模块240可以实时资源计算和实时资源申请管理。其中,实时资源计算的实现方式可以使用探针获取当前各业务处理服务器和数据库当前在用资源,并计算出可用资源,并刷新入MemCache中。实时资源申请管理的实现方式可以是
当收到申请资源请求后锁定对应资源,在业务受理完成或超时后释放资源。
图7是本发明一实施例的实时资源申请管理的流程示意图。
如图7所示,该流程可以涉及业务代理模块230、资源管理模块240和业务受理装置300。实时资源申请管理的实现方式可以该包括以下步骤:
S701,业务代理模块230向资源管理模块240申请资源;
S702,资源管理模块240分配锁定资源;
S703,资源管理模块240向业务代理模块230返回申请资源;
S704,资源管理模块240分配完资源后进入超时计数;
S705,如果超时则通知业务代理模块230释放资源;
S706,业务代理模块230释放资源,并将释放资源的结果反馈给资源管理模块240;
S707,资源管理模块240根据返回结果解锁资源;
S708,业务代理模块230向业务受理装置300发起业务受理请求;
S709,业务受理装置300完成受理后向业务代理模块230发起受理消息;
S710,业务代理模块230向资源管理模块240发起资源释放请求;
S711,资源管理模块240释放资源。
综上所述,一方面,上述发明实施例可以实现受理业务总量动态计算交易方式,弥补了现有系统中同步模式无法应对交易峰值,异步方式模式无法解决业务优先级的缺陷。
另一方面,上述发明实施例在系统资源不足时,可以从同步方式切换到异步方式,能够根据业务请求实际情况进行资格校验,避免了拒绝业务请求或等待排队直到超时的情况发生,极大地提升了用户感知。
又一方面,上述发明实施例能够对业务级中间件的高并发请求进行资源管理,还能够对业务级数据库资源进行管理,能够有效地解决交易过程中跨模块高峰值请求的瓶颈问题,保障系统稳定,极大地降低了日常维护工作量。
在一些实施例中,上述装置还可以包括:存储器和处理器。其中:
存储器可以用于存放程序;处理器可以用于执行所述存储器存储的程序,所述程序使得所述处理器执行上述各个实施例所述的方法。
需要说明的是,上述各实施例的装置可作为上述各实施例的用于各实施例的方法中的执行主体,可以实现各个方法中的相应流程,实现相同的技术效果,为了简洁,各个实施例可以相互参考和引用,此方面内容不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (11)
1.一种高并发业务的资源控制方法,其特征在于,包括以下步骤:
实时获取用于处理当前并发业务的当前可用资源;
接收并发的业务交易请求;
基于所述当前可用资源和所述业务交易请求的并发数量,判断所述当前可用资源是否足够发起同步交易请求;
如果所述当前可用资源不足发起同步交易请求,则计算并发的所述业务交易请求的优先级,并根据所述优先级,发起异步交易请求或者发起强制同步交易请求。
2.根据权利要求1所述的方法,其特征在于,所述判断所述当前可用资源是否足够发起同步交易请求之后,还包括:
如果所述当前可用资源足够发起同步交易请求,则发起同步交易请求。
3.根据权利要求1所述的方法,其特征在于,所述接收并发的业务交易请求之后,还包括:
响应于所述业务交易请求,申请所述当前可用资源;
根据申请的所述当前可用资源,调整业务处理模式,并根据调整的业务处理模式发起相应的业务交易请求。
4.根据权利要求3所述的方法,其特征在于,所述根据申请的所述当前可用资源,调整业务处理模式,包括:
获取当前能够代理的所述业务交易请求的阈值;
如果并发数量大于所述阈值,则由非强制异步模式切换为强制异步模式;
如果所述并发数量小于所述阈值,则在等待预设时间后,重新申请所述当前可用资源,在重新申请所述当前可用资源成功的情况下,则由非强制同步模式切换为强制同步模式;
如果所述并发数量小于所述阈值,则在等待预设时间后,重新申请所述当前可用资源,在重新申请所述当前可用资源的失败次数达到预设次数的情况下,则由非强制异步模式切换为强制异步模式。
5.根据权利要求3所述的方法,其特征在于,其中:
所述业务交易请求包括:同步交易请求、强制同步交易请求、异步交易请求或者强制异步交易请求;
所述业务处理模式包括:同步交易处理模式、强制同步交易处理模式、异步交易处理模式或者强制异步交易处理模式。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述实时获取用于处理当前并发业务的当前可用资源,包括:
利用探针实时获取用于处理当前并发业务的当前在用资源;
基于所述当前在用资源计算所述当前可用资源。
7.根据权利要求6所述的方法,其特征在于,所述当前在用资源包括以下一种或者两种以上信息:
服务器资源信息、数据库资源信息、资源基线配置信息。
8.根据权利要求1-5中任一项所述的方法,其特征在于,所述计算并发的所述业务交易请求的优先级,包括:
获取并发的所述业务交易请求中业务的业务参数;
基于所述业务参数,计算所述业务交易请求的优先级。
9.根据权利要求8所述的方法,其特征在于,所述业务参数包括以下参数中的一个或者两个以上参数:
业务类型、请求生效方式、请求渠道类型、时延偏移量。
10.一种高并发业务的资源控制装置,其特征在于,包括:
存储器,用于存放程序;
处理器,用于执行所述存储器存储的程序,所述程序使得所述处理器执行如权利要求1-9中任意一项所述的方法。
11.一种计算机可读存储介质,其特征在于,包括指令,
当所述指令在计算机上运行时,使得计算机执行如权利要求1-9中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710372138.8A CN108958893B (zh) | 2017-05-23 | 2017-05-23 | 高并发业务的资源控制方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710372138.8A CN108958893B (zh) | 2017-05-23 | 2017-05-23 | 高并发业务的资源控制方法、装置和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108958893A CN108958893A (zh) | 2018-12-07 |
CN108958893B true CN108958893B (zh) | 2020-12-08 |
Family
ID=64493824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710372138.8A Active CN108958893B (zh) | 2017-05-23 | 2017-05-23 | 高并发业务的资源控制方法、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108958893B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611151B (zh) * | 2019-02-25 | 2023-05-16 | 阿里巴巴集团控股有限公司 | 一种用户界面过度绘制的检测方法和装置 |
CN110336757A (zh) * | 2019-05-27 | 2019-10-15 | 平安科技(深圳)有限公司 | 连接池并发控制方法、装置及计算机可读存储介质 |
CN110928746B (zh) * | 2019-11-14 | 2023-10-24 | 杭州天宽科技有限公司 | 可调配的业务处理系统、方法、装置及可存储介质 |
CN111161085B (zh) * | 2019-11-28 | 2023-08-22 | 泰康保险集团股份有限公司 | 业务请求处理方法、装置、电子设备及计算机可读介质 |
CN111541620A (zh) * | 2020-06-18 | 2020-08-14 | 南方电网科学研究院有限责任公司 | 一种微服务运行管控方法和装置 |
CN115481309A (zh) * | 2021-05-31 | 2022-12-16 | 中兴通讯股份有限公司 | 业务处理方法、装置、设备、电子设备和可读存储介质 |
CN113298513A (zh) * | 2021-06-21 | 2021-08-24 | 深圳前海微众银行股份有限公司 | 代付请求处理方法及系统 |
CN114238037B (zh) * | 2022-02-28 | 2022-04-29 | 北京金堤科技有限公司 | 高并发服务请求结果存储方法和装置、以及电子设备和存储介质 |
CN114625625B (zh) * | 2022-05-12 | 2022-08-05 | 深圳市艾德网络科技发展有限公司 | 一种基于识别用户行为的事件时序数据处理方法及系统 |
CN115037802B (zh) * | 2022-06-02 | 2024-03-08 | 北京百度网讯科技有限公司 | 一种请求处理方法、装置、电子设备和存储介质 |
CN115328670B (zh) * | 2022-06-27 | 2023-11-17 | 光大环境科技(中国)有限公司 | 一种异步任务处理方法、系统和服务器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101917487A (zh) * | 2010-08-23 | 2010-12-15 | 中国电信股份有限公司 | 移动终端与服务器通信优化方法及系统 |
CN103197968A (zh) * | 2013-03-18 | 2013-07-10 | 焦点科技股份有限公司 | 一种融合同步异步特点的线程池处理方法及系统 |
CN105468784A (zh) * | 2015-12-24 | 2016-04-06 | 北京京东尚科信息技术有限公司 | 处理高并发流量的方法及其装置 |
CN106502769A (zh) * | 2016-09-30 | 2017-03-15 | 华为技术有限公司 | 分布式事务处理方法、装置及系统 |
CN106775990A (zh) * | 2016-12-31 | 2017-05-31 | 中国移动通信集团江苏有限公司 | 请求调度方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9183111B2 (en) * | 2011-05-10 | 2015-11-10 | Microsoft Technology Licensing, Llc | Methods and computer program products for collecting storage resource performance data using file system hooks |
US9323588B2 (en) * | 2013-03-14 | 2016-04-26 | Comcast Cable Communications, Llc | Service platform architecture |
-
2017
- 2017-05-23 CN CN201710372138.8A patent/CN108958893B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101917487A (zh) * | 2010-08-23 | 2010-12-15 | 中国电信股份有限公司 | 移动终端与服务器通信优化方法及系统 |
CN103197968A (zh) * | 2013-03-18 | 2013-07-10 | 焦点科技股份有限公司 | 一种融合同步异步特点的线程池处理方法及系统 |
CN105468784A (zh) * | 2015-12-24 | 2016-04-06 | 北京京东尚科信息技术有限公司 | 处理高并发流量的方法及其装置 |
CN106502769A (zh) * | 2016-09-30 | 2017-03-15 | 华为技术有限公司 | 分布式事务处理方法、装置及系统 |
CN106775990A (zh) * | 2016-12-31 | 2017-05-31 | 中国移动通信集团江苏有限公司 | 请求调度方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108958893A (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108958893B (zh) | 高并发业务的资源控制方法、装置和计算机可读存储介质 | |
CN109684358B (zh) | 数据查询的方法和装置 | |
CN109936511B (zh) | 一种令牌获取方法、装置、服务器、终端设备及介质 | |
US8719297B2 (en) | System for managing data collection processes | |
CN110276182B (zh) | Api分布式限流的实现方法 | |
CN108600005A (zh) | 一种防御微服务雪崩效应的方法 | |
US20150032806A1 (en) | Load distribution in client server system | |
US8191058B2 (en) | Computer processing system for realizing data upgrade and a data upgrading method | |
CN108023953B (zh) | Ftp服务的高可用实现方法和装置 | |
CN110430278A (zh) | 负载均衡配置方法及装置 | |
CN111913818A (zh) | 一种确定服务间依赖关系的方法及相关装置 | |
CN108989413A (zh) | 异常业务补偿方法、装置、计算机设备及存储介质 | |
CN110221927A (zh) | 异步消息处理方法和装置 | |
CN111597041B (zh) | 一种分布式系统的调用方法、装置、终端设备及服务器 | |
US20140201750A1 (en) | Service provider class application scalability and high availability and processing prioritization using a weighted load distributor and throttle middleware | |
CN109587068A (zh) | 流量切换方法、装置、设备及计算机可读存储介质 | |
CN111835809B (zh) | 工单消息分配方法、装置、服务器及存储介质 | |
CN116483570A (zh) | 有状态服务的动态扩缩容方法、装置、设备及存储介质 | |
US20100306780A1 (en) | Job assigning apparatus, and control program and control method for job assigning apparatus | |
CN106713455A (zh) | 一种处理客户端请求的系统、方法及装置 | |
CN113783912A (zh) | 请求分发方法、装置及存储介质 | |
US8549537B2 (en) | Middleware bridge system and method | |
CN114884945B (zh) | 数据传输方法、云服务器、设备、系统及存储介质 | |
CN115586957B (zh) | 一种任务调度系统、方法、装置及电子设备 | |
CN109218376B (zh) | 数据处理的方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |