CN112689007A - 资源分配方法、装置、计算机设备和存储介质 - Google Patents
资源分配方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112689007A CN112689007A CN202011537910.5A CN202011537910A CN112689007A CN 112689007 A CN112689007 A CN 112689007A CN 202011537910 A CN202011537910 A CN 202011537910A CN 112689007 A CN112689007 A CN 112689007A
- Authority
- CN
- China
- Prior art keywords
- access request
- priority
- current access
- target node
- target
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请涉及一种资源分配方法、装置、计算机设备和存储介质。所述方法包括:接收当前访问请求,获取当前访问请求的访问参数,当前访问请求为访问web服务器集群的访问请求;根据访问参数计算当前访问请求的资源消耗预估值,根据访问参数确定当前访问请求的优先级;根据资源消耗预估值选取目标节点,目标节点为web服务器集群末端的节点;根据优先级在目标节点下选取目标线程池,通过目标线程池对当前访问请求进行资源分配。采用本方法能够在并发访问场景下提高访问的承载量。
Description
技术领域
本申请涉及web服务技术领域,特别是涉及一种资源分配方法、装置、计算机设备和存储介质。
背景技术
随着web服务技术的发展,当业务数据不断接入web服务平台时,web服务访问请求的量级和单位时间内请求的频度不断增加。
然而,传统的web服务访问过程中,对于单位时间内超量的访问请求,即使在集群的计算资源允许的情况下,也会出现访问失败和无法访问的情况。这是由于在高并发的场景下,web服务集群的资源没有得到合理分配和充分利用,从而影响到了并发访问场景下的最大访问承载量和访问成功率。
发明内容
基于此,有必要针对上述技术问题,提供一种能够在并发访问场景下提高访问承载量的资源分配方法、装置、计算机设备和存储介质。
一种资源分配方法,上述方法包括:
接收当前访问请求,获取当前访问请求的访问参数,当前访问请求为访问web服务器集群的访问请求;
根据访问参数计算当前访问请求的资源消耗预估值,根据访问参数确定当前访问请求的优先级;
根据资源消耗预估值选取目标节点,目标节点为web服务器集群末端的节点;
根据优先级在目标节点下选取目标线程池,通过目标线程池对当前访问请求进行资源分配。
在一个实施例中,根据资源消耗预估值选取目标节点,包括:当资源消耗预估值大于预设阈值时采用轮询方式选取目标节点。
在一个实施例中,根据资源消耗预估值选取目标节点,包括:当资源消耗预估值小于预设阈值时采用随机方式选取目标节点。
在一个实施例中,根据优先级在目标节点下选取目标线程池,包括:根据优先级与线程池预设的对应关系,在目标节点下选取与优先级对应的目标线程池。
在一个实施例中,上述方法还包括:
采集集群末端节点各端口的运行指标,根据运行指标计算可用节点以及可用线程池;
根据资源消耗预估值选取目标节点,包括:根据资源消耗预估值从可用节点中选取目标节点;
根据优先级在目标节点下选取目标线程池,包括:从目标节点下的可用线程池中选取与优先级对应的目标线程池。
在一个实施例中,上述方法还包括:当目标节点下的可用线程池中没有与优先级对应的线程池时,从目标节点下的可用线程池中选取等级低于优先级的目标线程池。
在一个实施例中,根据访问参数计算当前访问请求的资源消耗预估值,包括:根据访问参数获取需要进行访问的数据范围值和需要进行访问的外部系统的接口数量值,根据数据范围值以及接口数量值计算当前访问请求的资源消耗预估值。
在一个实施例中,上述方法还包括:采集当前访问请求的实际执行信息,根据实际执行信息调整资源消耗预估值的计算方式。
在一个实施例中,根据访问参数确定当前访问请求的优先级,包括:根据访问参数分析当前访问请求所属的业务类型,根据业务类型确定当前访问请求的优先级。
在一个实施例中,根据访问参数确定当前访问请求的优先级,包括:采集历史访问请求的实际执行信息,根据访问参数计算当前访问请求的预估访问耗时,根据预估访问耗时以及历史访问请求的实际执行信息确定当前访问请求的优先级。
一种资源分配装置,上述装置包括:
请求接收模块,用于接收当前访问请求,获取当前访问请求的访问参数,当前访问请求为访问web服务器集群的访问请求;
资源估算模块,用于根据访问参数计算当前访问请求的资源消耗预估值,根据访问参数确定当前访问请求的优先级;
节点选取模块,用于根据资源消耗预估值选取目标节点,目标节点为web服务器集群末端的节点;
线程分配模块,用于根据优先级在目标节点下选取目标线程池,通过目标线程池对当前访问请求进行资源分配。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的资源分配方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的资源分配方法的步骤。
上述资源分配方法、装置、计算机设备和存储介质,通过计算当前访问请求的资源消耗预估值并确定当前访问请求的优先级,根据资源消耗预估值和优先级选取目标节点和目标线程池,并通过目标线程池对当前访问请求进行资源分配,可以在并发场景下实现资源的合理分配,从而提高并发访问的承载量。
附图说明
图1为一个实施例中资源分配方法的应用环境图;
图2为一个实施例中资源分配方法的流程示意图;
图3为一个应用实例中基于web服务器集群的资源分配技术构架图;
图4为一个应用实例中线程池的分配示意图;
图5为一个实施例中资源分配装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请提供的资源分配方法,可以应用于如图1所示的应用环境中。其中,终端102和服务器104通过网络进行通信,服务器104为web服务器集群中的任何一台或多台服务器,可以用独立的服务器或者是多个服务器组成的服务器集群来实现,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器104接收终端102发送的当前访问请求,获取当前访问请求的访问参数,根据访问参数计算当前访问请求的资源消耗预估值,根据访问参数确定当前访问请求的优先级,根据资源消耗预估值选取目标节点,根据优先级在目标节点下选取目标线程池,通过目标线程池对当前访问请求进行资源分配。
在一个实施例中,如图2所示,提供了一种资源分配方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S202:接收当前访问请求,获取当前访问请求的访问参数,当前访问请求为访问web服务器集群的访问请求。
其中,web服务器集群的实现方式不限,可以通过多台web服务器主机相互联结而实现,例如,包括负载均衡器和末端多个节点的服务器体系结构,负载均衡器可以是软件也可以是硬件,末端节点可以是同构或异构的服务器;也可以通过在一台物理服务器上集群多个独立工作的web应用服务器的方式实现;还可以基于RSF(Remote Service Framework,远程服务框架)并在RSF平台上注册web服务的方式实现等。
其中,访问参数指的是指示完成web服务访问的相关请求数据,可以包括需要访问的数据库的数据范围、表的数据范围、非结构化数据的范围、需要调用的外部接口、访问所属的类型或包含业务的类型等。
具体地,可以是服务器在接收到终端发送的访问web服务器集群的当前访问请求时,对当前访问请求进行解析,从当前访问请求中解析得到相关请求数据作为访问参数。
步骤S204:根据访问参数计算当前访问请求的资源消耗预估值,根据访问参数确定当前访问请求的优先级。
其中,资源消耗预估值指的是完成当前访问请求处理预计所需要消耗的资源值,即根据该当前访问请求返回对应的响应预计所需要消耗的资源值。优先级可以用来表示当前访问请求的重要程度,优先级越高的访问请求重要程度越高,用户对其正常执行的期待值越高。
具体地,对于资源消耗预估值的计算,服务器可以根据访问参数通过指数退避算法进行过滤因子计算,从而获取需要访问的数据范围和需要访问的外部接口数量等,并基于需要访问的数据范围和需要访问的外部接口数量估算资源的消耗值。对于优先级的确定,服务器可以从访问参数中提取当前访问请求的业务类型、业务场景或业务数据等,从而确定当前访问请求的优先级,也可以通过估算当前访问请求预计消耗的资源值或预计消耗的时长,并结合各优先等级的历史访问请求的相关基准来确定当前访问请求的优先级。
步骤S206:根据资源消耗预估值选取目标节点,目标节点为web服务器集群末端的节点。
具体地,服务器可以根据计算的当前访问请求的资源消耗预估值触发对应的节点选择策略,通过节点选择策略为当前访问请求从集群末端(后端)的节点中挑选合适的节点作为目标节点,并将该当前访问请求推送至该目标节点。
步骤S208:根据优先级在目标节点下选取目标线程池,通过目标线程池对当前访问请求进行资源分配。
其中,目标线程池为下属于目标节点的线程池,具体地,服务器可以根据当前访问请求的优先级触发对应的线程池分配策略,服务器根据对应的线程池分配策略从目标节点下属的线程池中选取合适的线程池作为目标线程池,服务器将当前访问请求推送至目标节点后,通过线程池分配策略指示目标节点将当前访问请求分配至目标节点下的目标线程池,以使目标线程池可以对当前访问请求进行资源分配并进行后续处理。
上述资源分配方法,通过计算当前访问请求的资源消耗预估值并确定当前访问请求的优先级,根据资源消耗预估值和优先级选取目标节点和目标线程池,并通过目标线程池对当前访问请求进行资源分配,可以在并发场景下实现集群资源的合理分配从而提高并发访问的承载量。
在一个实施例中,根据资源消耗预估值选取目标节点,包括:当资源消耗预估值大于预设阈值时采用轮询方式选取目标节点;和/或,当资源消耗预估值小于预设阈值时采用随机方式选取目标节点。
在本实施例中,阈值的设定方式不限,初始化阈值可以从测试环境或压测环境中获取,在生产环境中可以对初始化阈值进行调整和优化。对于资源消耗预估值大于阈值的访问请求,其资源消耗可能较多,执行耗时可能较长,因此可以采用轮询的调度方式,以确保集群末端各节点能够实现负载平衡。对于资源消耗预估值小于阈值的访问请求,其资源消耗可能较少,执行耗时较短,因此采用随机的方式可以提高调度速度。本实施例,根据资源消耗预估值的不同采用不同的节点选择(并发)策略,可以提高并发量和节点资源的利用率。
在一个实施例中,根据优先级在目标节点下选取目标线程池,包括:根据优先级与线程池预设的对应关系,在目标节点下选取与优先级对应的目标线程池。
在本实施例中,可以预先设置优先级与线程池的对应关系,例如,若优先级分为高优先级和低优先级,可以设置与高优先级对应的高优先级线程池和与低优先级对应的低优先级线程池。本实施例,通过根据访问请求的优先级将不同等级的访问请求分配至不同等级的线程池中,可以实现不同等级访问请求的隔离,因此,不同等级的访问请求之间不会相互干扰,尤其是优先级较高的访问不会被排在前面的优先级较低的访问所阻碍,能够降低优先级较高的访问的响应延时,减少资源争抢,从而保证各级业务的承载量。
在一个实施例中,上述方法还可以包括:采集集群末端节点各端口的运行指标,根据运行指标计算可用节点,根据资源消耗预估值选取目标节点,包括:根据资源消耗预估值从可用节点中选取目标节点。
其中,集群末端节点各端口的运行指标的采集方式不限,例如,可以通过实时任务、离线任务进行采集,也可以手工周期性采集。具体如下,实时采集:针对时效性要求高的数据,通过实时计算引擎Flink采集实时数据;离线采集:按时间颗粒度(如分钟、小时等)自动触发采集任务;手工采集:非规则化数据的手工采集。
其中,集群末端节点各端口的运行指标包括参数值和实际值,例如,可以包括访问的服务端口的半连接队列大小、全连接队列大小、全连接队列溢出的次数、半连接队列溢出次数等。
在本实施例中,通过采集的集群末端节点各端口的运行指标可以计算出各节点当前的使用状态,可以将资源使用率低于预设标准的节点作为可用节点,基于可用节点进行目标节点的选取。采用本实施例可以避免单一节点上访问请求超载以及各节点请求分配不均匀的问题。
进一步地,还可以根据采集的集群末端节点各端口的运行指标计算可用线程池,根据优先级在目标节点下选取目标线程池,包括:从目标节点下的可用线程池中选取与优先级对应的目标线程池。
具体地,可以根据节点下线程池的使用状态将当前线程占用率低于预设标准的线程池作为可用线程池,并基于可用线程池进行目标线程池的选取。这样一来,可以避免因线程池的线程占用率不均衡而导致的资源利用率低、并发量下降的问题。
进一步地,上述方法还包括:当目标节点下的可用线程池中没有与优先级对应的线程池时,从目标节点下的可用线程池中选取等级低于优先级的目标线程池。
具体地,当与优先级别对应的线程池处于不可用状态,但等级较低的线程池处于可用状态时,可以允许较高等级的访问请求使用较低等级访问请求对应的线程池,从而降低较高等级的访问的响应延时,优先保证重要业务正常响应。
在一个实施例中,根据访问参数计算当前访问请求的资源消耗预估值,包括:根据访问参数获取需要进行访问的数据范围值和需要进行访问的外部系统的接口数量值,根据数据范围值以及接口数量值计算当前访问请求的资源消耗预估值。
具体地,服务器可以对当前访问请求进行解析,通过解析得到需要进行访问的数据范围值和需要进行访问的外部系统的接口数量值,从而计算出当前访问请求的资源消耗预估值。
在一个实施例中,上述方法还包括:采集当前访问请求的实际执行信息,根据实际执行信息调整资源消耗预估值的计算方式。
具体地,可以采集当前访问请求的实际执行信息,例如,实际执行信息可以包括实际资源消耗值、实际调用耗时、实际线程占用、实际执行裸时间等,并将当前访问请求的实际执行信息作为历史参考数据,通过机器学习或者人工智能等算法对后续访问请求的资源消耗预估值的计算方式进行调整,以提升计算准确度,减少误判。
在一个实施例中,根据访问参数确定当前访问请求的优先级,包括:根据访问参数分析当前访问请求所属的业务类型,根据业务类型确定当前访问请求的优先级。
具体地,访问参数中可以包含与业务相关的数据,根据这些数据可以判断出当前访问请求所属的业务类型,一般情况,业务类型可以表征该业务的重要程度或受期待程度,因此根据预设的业务类型与优先级之间的对应关系,可以确定出当前访问请求的优先级。
在一个实施例中,根据访问参数确定当前访问请求的优先级,包括:采集历史访问请求的实际执行信息,根据访问参数计算当前访问请求的预估访问耗时,根据预估访问耗时以及历史访问请求的实际执行信息确定当前访问请求的优先级。
在本实施例中,当前访问请求的优先级还可以根据预估访问耗时并结合历史访问请求的实际执行信息进行确定。历史访问请求的实际执行信息可以通过采集一定时间内的访问次数、调用耗时、线程占用、执行裸时间、执行裸时间超过SLA(Service-LevelAgreement,服务等级协议)次数等访问相关数据得到,信息的采集方式不限,可以参考上述采集集群末端节点各端口的运行指标的方式。
在一个实施例中,具体可以根据如下步骤进行优先级的确定:
步骤1、根据访问参数进行执行步骤解析和所需访问外围系统数量计算的拆分。
步骤2、根据解析出的执行步骤计算预估基准耗时,根据历史访问请求的实际执行信息计算历史基准耗时,参考历史基准耗时将预估基准耗时大于历史基准耗时的访问请求确定为高优先级。
步骤3、根据所需访问外围系统数量计算预估访问耗时,根据历史访问请求的实际执行信息计算历史访问耗时,参考历史访问耗时将访问耗时大于历史访问耗时的访问请求确定为高优先级。
进一步地,还可以包括:
步骤4、记录当前访问请求每个解析步骤的实际基准耗时。该实际基准耗时符合正态分布,取该正态分布的中位数作为模型调整参数。
步骤5、记录当前访问请求访问每个外围系统的实际耗时。该实际访问耗时符合正态分布,取该正态分布的中位数作为模型调整参数。
下面,结合一个应用实例,对本申请所涉及的资源分配方法进行进一步详细说明。参考图3所示,图3示出了一个应用实例的基于web服务器集群(例如,wildfly集群)的资源分配的技术构架图。
对于数据采集单元,可以从访问请求和服务端口两个维度进行数据采集。访问请求维度:包括访问次数、调用耗时、线程占用、执行裸时间、执行裸时间超过SLA次数等。服务端口维度:包括访问的服务端口的半连接队列大小、全连接队列大小、全连接队列溢出的次数、半连接队列溢出次数等。采集方式具体可以包括实时任务采集、离线任务采集和手工周期性采集。实时采集:针对时效性要求高的数据,通过实时计算引擎Flink采集实时数据。离线采集:按时间颗粒度(如分钟、小时等)自动触发采集任务。手工采集:非规则化数据的手工采集。可以将采集的数据存入数据库,在接收到当前访问请求并对当前访问请求进行资源分配时再将其作为资源计算的入参调用,数据采集可以伴随整个过程。
对于资源计算模块,当接收到当前访问请求时,根据当前访问请求的访问参数结合采集的数据进行基准估算(资源消耗预估值、优先级)以及场景估算(可用节点、可用线程池)根据基准估算和场景估算的结果匹配节点选取策略(并发访问选择策略)和线程池分配策略,根据匹配的策略将当前访问请求分配至目标节点下的目标线程池。
线程池的分配策略具体可以参考图4所示,图4示出了一个应用实施的线程池的分配示意图。可以将线程池拆分为高优先级线程池和低优先级线程池两种,按照访问请求的优先级将请求分配给对应线程池,低优先级线程池空闲时允许高优先级使用。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种资源分配装置,包括:请求接收模块10、资源估算模块20、节点选取模块30和线程分配模块40,其中:
请求接收模块10,用于接收当前访问请求,获取当前访问请求的访问参数,当前访问请求为访问web服务器集群的访问请求;
资源估算模块20,用于根据访问参数计算当前访问请求的资源消耗预估值,根据访问参数确定当前访问请求的优先级;
节点选取模块30,用于根据资源消耗预估值选取目标节点,目标节点为web服务器集群末端的节点;
线程分配模块40,用于根据优先级在目标节点下选取目标线程池,通过目标线程池对当前访问请求进行资源分配。
在一个实施例中,节点选取模块30当资源消耗预估值大于预设阈值时采用轮询方式选取目标节点。
在一个实施例中,节点选取模块30当资源消耗预估值小于预设阈值时采用随机方式选取目标节点。
在一个实施例中,线程分配模块40根据优先级与线程池预设的对应关系,在目标节点下选取与优先级对应的目标线程池。
在一个实施例中,上述装置还包括数据采集模块50,用于采集集群末端节点各端口的运行指标,根据运行指标计算可用节点以及可用线程池,节点选取模块30根据资源消耗预估值从可用节点中选取目标节点,线程分配模块40从目标节点下的可用线程池中选取与优先级对应的目标线程池。
在一个实施例中,线程分配模块40还用于当目标节点下的可用线程池中没有与优先级对应的线程池时,从目标节点下的可用线程池中选取等级低于优先级的目标线程池。
在一个实施例中,资源估算模块20根据访问参数获取需要进行访问的数据范围值和需要进行访问的外部系统的接口数量值,根据数据范围值以及接口数量值计算当前访问请求的资源消耗预估值。
在一个实施例中,数据采集模块50还用于采集当前访问请求的实际执行信息,根据实际执行信息调整资源消耗预估值的计算方式。
在一个实施例中,资源估算模块20根据访问参数分析当前访问请求所属的业务类型,根据业务类型确定当前访问请求的优先级。
在一个实施例中,数据采集模块50还用于采集历史访问请求的实际执行信息,资源估算模块20根据访问参数计算当前访问请求的预估访问耗时,根据预估访问耗时以及历史访问请求的实际执行信息确定当前访问请求的优先级。
关于资源分配装置的具体限定可以参见上文中对于资源分配方法的限定,在此不再赘述。上述资源分配装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库可以用于存储采集的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种资源分配方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:接收当前访问请求,获取当前访问请求的访问参数,当前访问请求为访问web服务器集群的访问请求;根据访问参数计算当前访问请求的资源消耗预估值,根据访问参数确定当前访问请求的优先级;根据资源消耗预估值选取目标节点,目标节点为web服务器集群末端的节点;根据优先级在目标节点下选取目标线程池,通过目标线程池对当前访问请求进行资源分配。
在一个实施例中,处理器执行计算机程序实现根据资源消耗预估值选取目标节点时,具体实现以下步骤:当资源消耗预估值大于预设阈值时采用轮询方式选取目标节点。
在一个实施例中,处理器执行计算机程序实现根据资源消耗预估值选取目标节点时,具体实现以下步骤:当资源消耗预估值小于预设阈值时采用随机方式选取目标节点。
在一个实施例中,处理器执行计算机程序实现根据优先级在目标节点下选取目标线程池时,具体实现以下步骤:根据优先级与线程池预设的对应关系,在目标节点下选取与优先级对应的目标线程池。
在一个实施例中,处理器执行计算机程序还实现以下步骤:采集集群末端节点各端口的运行指标,根据运行指标计算可用节点以及可用线程池,处理器执行计算机程序实现根据资源消耗预估值选取目标节点时具体实现根据资源消耗预估值从可用节点中选取目标节点,处理器执行计算机程序实现根据优先级在目标节点下选取目标线程池时具体实现从目标节点下的可用线程池中选取与优先级对应的目标线程池。
在一个实施例中,处理器执行计算机程序还实现以下步骤:当目标节点下的可用线程池中没有与优先级对应的线程池时,从目标节点下的可用线程池中选取等级低于优先级的目标线程池。
在一个实施例中,处理器执行计算机程序实现根据访问参数计算当前访问请求的资源消耗预估值时,具体实现以下步骤:根据访问参数获取需要进行访问的数据范围值和需要进行访问的外部系统的接口数量值,根据数据范围值以及接口数量值计算当前访问请求的资源消耗预估值。
在一个实施例中,处理器执行计算机程序还实现以下步骤:采集当前访问请求的实际执行信息,根据实际执行信息调整资源消耗预估值的计算方式。
在一个实施例中,处理器执行计算机程序实现根据访问参数确定当前访问请求的优先级时,具体实现以下步骤:根据访问参数分析当前访问请求所属的业务类型,根据业务类型确定当前访问请求的优先级。
在一个实施例中,处理器执行计算机程序实现根据访问参数确定当前访问请求的优先级时,具体实现以下步骤:采集历史访问请求的实际执行信息,根据访问参数计算当前访问请求的预估访问耗时,根据预估访问耗时以及历史访问请求的实际执行信息确定当前访问请求的优先级。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收当前访问请求,获取当前访问请求的访问参数,当前访问请求为访问web服务器集群的访问请求;根据访问参数计算当前访问请求的资源消耗预估值,根据访问参数确定当前访问请求的优先级;根据资源消耗预估值选取目标节点,目标节点为web服务器集群末端的节点;根据优先级在目标节点下选取目标线程池,通过目标线程池对当前访问请求进行资源分配。
在一个实施例中,计算机程序被处理器执行实现根据资源消耗预估值选取目标节点时,具体实现以下步骤:当资源消耗预估值大于预设阈值时采用轮询方式选取目标节点。
在一个实施例中,计算机程序被处理器执行实现根据资源消耗预估值选取目标节点时,具体实现以下步骤:当资源消耗预估值小于预设阈值时采用随机方式选取目标节点。
在一个实施例中,计算机程序被处理器执行实现根据优先级在目标节点下选取目标线程池时,具体实现以下步骤:根据优先级与线程池预设的对应关系,在目标节点下选取与优先级对应的目标线程池。
在一个实施例中,计算机程序被处理器执行还实现以下步骤:采集集群末端节点各端口的运行指标,根据运行指标计算可用节点以及可用线程池,计算机程序被处理器执行实现根据资源消耗预估值选取目标节点时具体实现根据资源消耗预估值从可用节点中选取目标节点,计算机程序被处理器执行实现根据优先级在目标节点下选取目标线程池时具体实现从目标节点下的可用线程池中选取与优先级对应的目标线程池。
在一个实施例中,计算机程序被处理器执行还实现以下步骤:当目标节点下的可用线程池中没有与优先级对应的线程池时,从目标节点下的可用线程池中选取等级低于优先级的目标线程池。
在一个实施例中,计算机程序被处理器执行实现根据访问参数计算当前访问请求的资源消耗预估值时,具体实现以下步骤:根据访问参数获取需要进行访问的数据范围值和需要进行访问的外部系统的接口数量值,根据数据范围值以及接口数量值计算当前访问请求的资源消耗预估值。
在一个实施例中,计算机程序被处理器执行还实现以下步骤:采集当前访问请求的实际执行信息,根据实际执行信息调整资源消耗预估值的计算方式。
在一个实施例中,计算机程序被处理器执行实现根据访问参数确定当前访问请求的优先级时,具体实现以下步骤:根据访问参数分析当前访问请求所属的业务类型,根据业务类型确定当前访问请求的优先级。
在一个实施例中,计算机程序被处理器执行实现根据访问参数确定当前访问请求的优先级时,具体实现以下步骤:采集历史访问请求的实际执行信息,根据访问参数计算当前访问请求的预估访问耗时,根据预估访问耗时以及历史访问请求的实际执行信息确定当前访问请求的优先级。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种资源分配方法,所述方法包括:
接收当前访问请求,获取所述当前访问请求的访问参数,所述当前访问请求为访问web服务器集群的访问请求;
根据所述访问参数计算所述当前访问请求的资源消耗预估值,根据所述访问参数确定所述当前访问请求的优先级;
根据所述资源消耗预估值选取目标节点,所述目标节点为所述web服务器集群末端的节点;
根据所述优先级在所述目标节点下选取目标线程池,通过所述目标线程池对所述当前访问请求进行资源分配。
2.根据权利要求1所述的方法,其特征在于,所述根据所述资源消耗预估值选取目标节点,包括:
当所述资源消耗预估值大于预设阈值时采用轮询方式选取目标节点;和/或,当所述资源消耗预估值小于预设阈值时采用随机方式选取目标节点。
3.根据权利要求1所述的方法,其特征在于,所述根据所述优先级在所述目标节点下选取目标线程池,包括:
根据所述优先级与线程池预设的对应关系,在所述目标节点下选取与所述优先级对应的目标线程池。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
采集所述集群末端节点各端口的运行指标,根据所述运行指标计算可用节点以及可用线程池;
所述根据所述资源消耗预估值选取目标节点,包括:根据所述资源消耗预估值从所述可用节点中选取目标节点;
所述根据所述优先级在所述目标节点下选取目标线程池,包括:从所述目标节点下的可用线程池中选取与所述优先级对应的目标线程池;
优选的,所述方法还包括:当所述目标节点下的可用线程池中没有与所述优先级对应的线程池时,从所述目标节点下的可用线程池中选取等级低于所述优先级的目标线程池。
5.根据权利要求1所述的方法,其特征在于,所述根据所述访问参数计算所述当前访问请求的资源消耗预估值,包括:
根据所述访问参数获取需要进行访问的数据范围值和需要进行访问的外部系统的接口数量值,根据所述数据范围值以及所述接口数量值计算所述当前访问请求的资源消耗预估值。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
采集所述当前访问请求的实际执行信息,根据所述实际执行信息调整资源消耗预估值的计算方式。
7.根据权利要求1至6任意一项所述的方法,其特征在于,所述根据所述访问参数确定所述当前访问请求的优先级,包括:
根据所述访问参数分析所述当前访问请求所属的业务类型,根据所述业务类型确定所述当前访问请求的优先级;或,
采集历史访问请求的实际执行信息,根据所述访问参数计算所述当前访问请求的预估访问耗时,根据所述预估访问耗时以及所述历史访问请求的实际执行信息确定所述当前访问请求的优先级。
8.一种资源分配装置,其特征在于,所述装置包括:
请求接收模块,用于接收当前访问请求,获取所述当前访问请求的访问参数,所述当前访问请求为访问web服务器集群的访问请求;
资源估算模块,用于根据所述访问参数计算所述当前访问请求的资源消耗预估值,根据所述访问参数确定所述当前访问请求的优先级;
节点选取模块,用于根据所述资源消耗预估值选取目标节点,所述目标节点为所述web服务器集群末端的节点;
线程分配模块,用于根据所述优先级在所述目标节点下选取目标线程池,通过所述目标线程池对所述当前访问请求进行资源分配。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011537910.5A CN112689007B (zh) | 2020-12-23 | 2020-12-23 | 资源分配方法、装置、计算机设备和存储介质 |
CA3143849A CA3143849A1 (en) | 2020-12-23 | 2021-12-23 | Resource allocating method and device, computer equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011537910.5A CN112689007B (zh) | 2020-12-23 | 2020-12-23 | 资源分配方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112689007A true CN112689007A (zh) | 2021-04-20 |
CN112689007B CN112689007B (zh) | 2023-05-05 |
Family
ID=75451126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011537910.5A Active CN112689007B (zh) | 2020-12-23 | 2020-12-23 | 资源分配方法、装置、计算机设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112689007B (zh) |
CA (1) | CA3143849A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113992758A (zh) * | 2021-12-27 | 2022-01-28 | 杭州金线连科技有限公司 | 一种系统数据资源的动态调度方法、装置及电子设备 |
CN114327899A (zh) * | 2021-12-29 | 2022-04-12 | 中国电信股份有限公司 | 响应访问请求的方法、装置、非易失性存储介质及处理器 |
CN114422511A (zh) * | 2021-12-23 | 2022-04-29 | 北京八分量信息科技有限公司 | 异构网络中数据节点的管理方法、装置及相关产品 |
CN114442934A (zh) * | 2021-12-27 | 2022-05-06 | 天翼云科技有限公司 | 数据处理方法、装置及存储引擎 |
CN114745196A (zh) * | 2022-04-27 | 2022-07-12 | 广域铭岛数字科技有限公司 | 接口测试方法、系统、电子设备及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109104480A (zh) * | 2018-08-06 | 2018-12-28 | 东软集团股份有限公司 | 一种网络请求的处理方法及装置 |
CN109375992A (zh) * | 2018-08-17 | 2019-02-22 | 华为技术有限公司 | 一种资源调度方法及装置 |
US20190108069A1 (en) * | 2016-09-30 | 2019-04-11 | Tencent Technology (Shenzhen) Company Limited | Distributed resource allocation method, allocation node, and access node |
CN109783229A (zh) * | 2018-12-17 | 2019-05-21 | 平安普惠企业管理有限公司 | 线程资源分配的方法及装置 |
CN110727499A (zh) * | 2019-09-18 | 2020-01-24 | 平安科技(深圳)有限公司 | 资源数据获取的方法、装置、计算机设备和存储介质 |
CN111274604A (zh) * | 2020-01-16 | 2020-06-12 | 平安医疗健康管理股份有限公司 | 服务访问方法、装置、设备及计算机可读存储介质 |
-
2020
- 2020-12-23 CN CN202011537910.5A patent/CN112689007B/zh active Active
-
2021
- 2021-12-23 CA CA3143849A patent/CA3143849A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190108069A1 (en) * | 2016-09-30 | 2019-04-11 | Tencent Technology (Shenzhen) Company Limited | Distributed resource allocation method, allocation node, and access node |
CN109104480A (zh) * | 2018-08-06 | 2018-12-28 | 东软集团股份有限公司 | 一种网络请求的处理方法及装置 |
CN109375992A (zh) * | 2018-08-17 | 2019-02-22 | 华为技术有限公司 | 一种资源调度方法及装置 |
CN109783229A (zh) * | 2018-12-17 | 2019-05-21 | 平安普惠企业管理有限公司 | 线程资源分配的方法及装置 |
CN110727499A (zh) * | 2019-09-18 | 2020-01-24 | 平安科技(深圳)有限公司 | 资源数据获取的方法、装置、计算机设备和存储介质 |
CN111274604A (zh) * | 2020-01-16 | 2020-06-12 | 平安医疗健康管理股份有限公司 | 服务访问方法、装置、设备及计算机可读存储介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114422511A (zh) * | 2021-12-23 | 2022-04-29 | 北京八分量信息科技有限公司 | 异构网络中数据节点的管理方法、装置及相关产品 |
CN113992758A (zh) * | 2021-12-27 | 2022-01-28 | 杭州金线连科技有限公司 | 一种系统数据资源的动态调度方法、装置及电子设备 |
CN113992758B (zh) * | 2021-12-27 | 2022-04-19 | 杭州金线连科技有限公司 | 一种系统数据资源的动态调度方法、装置及电子设备 |
CN114442934A (zh) * | 2021-12-27 | 2022-05-06 | 天翼云科技有限公司 | 数据处理方法、装置及存储引擎 |
CN114442934B (zh) * | 2021-12-27 | 2024-01-02 | 天翼云科技有限公司 | 数据处理方法、装置及存储引擎 |
CN114327899A (zh) * | 2021-12-29 | 2022-04-12 | 中国电信股份有限公司 | 响应访问请求的方法、装置、非易失性存储介质及处理器 |
CN114745196A (zh) * | 2022-04-27 | 2022-07-12 | 广域铭岛数字科技有限公司 | 接口测试方法、系统、电子设备及可读存储介质 |
CN114745196B (zh) * | 2022-04-27 | 2024-01-02 | 广域铭岛数字科技有限公司 | 接口测试方法、系统、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112689007B (zh) | 2023-05-05 |
CA3143849A1 (en) | 2022-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112689007B (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
CN109766182B (zh) | 系统资源动态扩缩容方法、装置、计算机设备及存储介质 | |
CN110333937B (zh) | 任务分发方法、装置、计算机设备和存储介质 | |
CN109597685B (zh) | 任务分配方法、装置和服务器 | |
CN109787908B (zh) | 服务器限流方法、系统、计算机设备及存储介质 | |
CN110489447B (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN110597858A (zh) | 任务数据处理方法、装置、计算机设备和存储介质 | |
EP3335120B1 (en) | Method and system for resource scheduling | |
US20120221730A1 (en) | Resource control system and resource control method | |
US8572621B2 (en) | Selection of server for relocation of application program based on largest number of algorithms with identical output using selected server resource criteria | |
US20200012602A1 (en) | Cache allocation method, and apparatus | |
CN107911399B (zh) | 一种基于负载预测的弹性伸缩方法及系统 | |
CN108449237B (zh) | 网络性能监测方法、装置、计算机设备和存储介质 | |
CN112612618B (zh) | 接口限流方法、装置、计算机设备和存储介质 | |
CN110677459A (zh) | 资源调整方法、装置、计算机设备和计算机存储介质 | |
CN112068934B (zh) | 一种容器云服务实例收缩的控制系统和方法 | |
CN116346740A (zh) | 一种负载均衡方法及装置 | |
CN108156212B (zh) | 一种基于用户感知的弹性伸缩方法及系统 | |
CN114465959A (zh) | 接口动态流量控制方法、装置、计算机设备和存储介质 | |
CN109828892B (zh) | 异步接口的性能测试方法、装置、计算机设备和存储介质 | |
EP3046029B1 (en) | Method and device for determining program performance interference model | |
CN112463361A (zh) | 一种分布式计算的弹性资源分配的方法和设备 | |
CN113691587B (zh) | 一种虚拟资源处理方法、装置、电子设备及存储介质 | |
CN112003900B (zh) | 实现分布式系统中高负载场景下服务高可用的方法、系统 | |
CN114936089A (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 |