资源分配方法、装置和电子设备转让专利

申请号 : CN202310071536.1

文献号 : CN115794421B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 丁辉

申请人 : 北京仁科互动网络技术有限公司

摘要 :

本发明实施例提供一种资源分配方法、装置和电子设备,涉及软件即服务技术领域,该方法包括:获取软件即服务SAAS系统中多个用户的业务请求对应的业务场景;确定各个业务场景的评估值;评估值用于表示各个业务场景待处理的紧急程度;将SAAS系统中的算力资源池划分为多个算力子资源池;各个算力子资源池对应不同的阈值范围;阈值范围表示各个算力子资源池的算力强弱程度;根据各个业务场景的评估值和各个算力子资源池对应的阈值范围,对各个业务场景分配算力子资源池。本发明实施例的方法实现了业务场景的紧急程度与算力子资源池的处理能力的匹配,使得SAAS系统的算力资源池得到了合理的利用,提高了SAAS系统中租户的感知。

权利要求 :

1.一种资源分配方法,其特征在于,包括:

获取软件即服务SAAS系统中多个用户的业务请求对应的业务场景;

确定各个业务场景的评估值;所述评估值用于表示各个所述业务场景待处理的紧急程度;

将SAAS系统中的算力资源池划分为多个算力子资源池;各个所述算力子资源池对应不同的阈值范围;所述阈值范围表示各个所述算力子资源池的算力强弱程度;

根据各个业务场景的评估值和各个算力子资源池对应的阈值范围,对各个所述业务场景分配算力子资源池;

其中,利用如下方式确定各个业务场景的评估值:

根据所述业务场景和预设的对应关系,确定各个业务场景对应的至少一个影响因素及各个影响因素的权重;所述对应关系包括:业务场景和影响因素、影响因素的权重的对应关系;影响因素包括:租户类型、影响数据数、计算字段穿透层级、参数个数、过滤条件、字段个数;不同的业务场景对应不同的影响因素、各个影响因素具有不同的权重;

根据各个业务场景对应的至少一个影响因素及各个影响因素的权重,确定各个业务场景的评估值;

资源分配方法,还包括:

根据多个业务场景的评估值的分布情况,对各个算力子资源池对应的阈值范围进行调整;

资源分配方法,还包括:

通过调整各个算力子资源池对应的阈值范围不能达到动态调整和平衡各个算力子资源池的负荷和压力的效果时,确定各个算力子资源池对应的负荷压力;

在所述算力子资源池对应的负荷压力大于或等于第一阈值的情况下,将所述算力子资源池作为第二目标算力子资源池;

将分配至所述第二目标算力子资源池中的业务场景,重新分配至第三目标算力子资源池;所述第三目标算力子资源池的负荷压力小于或等于第二阈值;

资源分配方法,还包括:

所述算力资源池包括低配子资源池;

在所述业务场景的评估值大于或等于第三阈值,且所述业务场景对应的数量大于或等于第四阈值的情况下,将所述业务场景分配至所述算力资源池中的低配子资源池。

2.根据权利要求1所述的资源分配方法,其特征在于,所述根据各个业务场景的评估值和各个算力子资源池对应的阈值范围,对各个所述业务场景分配算力子资源池,包括:根据各个业务场景的评估值和各个算力子资源池对应的阈值范围,确定各个业务场景对应的第一目标算力子资源池;所述业务场景的评估值大于或等于所述第一目标算力子资源池对应的阈值范围中的最小值,且小于或等于所述第一目标算力资子源池对应的阈值范围中的最大值;

将各个所述业务场景分配至对应的第一目标算力子资源池。

3.根据权利要求1或2所述的资源分配方法,其特征在于,还包括:在所述业务场景中需要进行多个字段的聚合计算的情况下,在目标时间段内对所述业务场景中的聚合计算进行拦截;

在所述目标时间段之后,进行所述业务场景中的聚合计算。

4.一种资源分配装置,其特征在于,包括:

获取模块,用于获取软件即服务SAAS系统中多个用户的业务请求对应的业务场景;

确定模块,用于确定各个业务场景的评估值;所述评估值用于表示各个所述业务场景待处理的紧急程度;根据所述业务场景和预设的对应关系,确定各个业务场景对应的至少一个影响因素及各个影响因素的权重;所述对应关系包括:业务场景和影响因素、影响因素的权重的对应关系;影响因素包括:租户类型、影响数据数、计算字段穿透层级、参数个数、过滤条件、字段个数;不同的业务场景对应不同的影响因素、各个影响因素具有不同的权重;根据各个业务场景对应的至少一个影响因素及各个影响因素的权重,确定各个业务场景的评估值;划分模块,用于将SAAS系统中的算力资源池划分为多个算力子资源池;各个所述算力子资源池对应不同的阈值范围;所述阈值范围表示各个所述算力子资源池的算力强弱程度;

分配模块,用于根据各个业务场景的评估值和各个算力子资源池对应的阈值范围,对各个所述业务场景分配算力子资源池;所述分配模块,还用于:根据多个业务场景的评估值的分布情况,对各个算力子资源池对应的阈值范围进行调整;

所述分配模块还用于:通过调整各个算力子资源池对应的阈值范围不能达到动态调整和平衡各个算力子资源池的负荷和压力的效果时,确定各个算力子资源池对应的负荷压力;

在所述算力子资源池对应的负荷压力大于或等于第一阈值的情况下,将所述算力子资源池作为第二目标算力子资源池;

将分配至所述第二目标算力子资源池中的业务场景,重新分配至第三目标算力子资源池;所述第三目标算力子资源池的负荷压力小于或等于第二阈值;

所述分配模块,还用于:所述算力资源池包括低配子资源池;

在所述业务场景的评估值大于或等于第三阈值,且所述业务场景对应的数量大于或等于第四阈值的情况下,将所述业务场景分配至所述算力资源池中的低配子资源池。

5.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至3任一项所述的资源分配方法的步骤。

6.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至3任一项所述的资源分配方法的步骤。

说明书 :

资源分配方法、装置和电子设备

技术领域

[0001] 本发明涉及软件即服务技术领域,尤其涉及一种资源分配方法、装置和电子设备。

背景技术

[0002] 软件即服务(Software‑as‑a‑Service,SAAS)模式下,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务。用户不用再购买软件,而向提供商租用软件来管理企业经营活动,服务提供商会全权管理和维护软件,让用户随时随地都可以使用其定购的软件和服务。
[0003] 相关技术中,用户在SAAS系统中的业务请求对应不同的业务场景,如打折场景和订单流转场景,但不同的业务场景均使用相同的算力资源池进行处理,导致需要紧急处理的业务场景无法得到有效的处理,使得SAAS系统中的业务处理效率较低。

发明内容

[0004] 针对现有技术中的问题,本发明实施例提供一种资源分配方法、装置和电子设备。
[0005] 具体地,本发明实施例提供了以下技术方案:
[0006] 第一方面,本发明实施例提供了一种资源分配方法,包括:
[0007] 获取SAAS系统中多个用户的业务请求对应的业务场景;
[0008] 确定各个业务场景的评估值;所述评估值用于表示各个所述业务场景待处理的紧急程度;
[0009] 将SAAS系统中的算力资源池划分为多个算力子资源池;各个所述算力子资源池对应不同的阈值范围;所述阈值范围表示各个所述算力子资源池的算力强弱程度;
[0010] 根据各个业务场景的评估值和各个算力子资源池对应的阈值范围,对各个所述业务场景分配算力子资源池。
[0011] 进一步地,所述确定各个业务场景的评估值,包括:
[0012] 根据所述业务场景和预设的对应关系,确定各个业务场景对应的至少一个影响因素及各个影响因素的权重;所述对应关系包括:业务场景和影响因素、影响因素的权重的对应关系;
[0013] 根据各个业务场景对应的至少一个影响因素及各个影响因素的权重,确定各个业务场景的评估值。
[0014] 进一步地,所述根据各个业务场景的评估值和各个算力子资源池对应的阈值范围,对各个所述业务场景分配算力子资源池,包括:
[0015] 根据各个业务场景的评估值和各个算力子资源池对应的阈值范围,确定各个业务场景对应的第一目标算力子资源池;所述业务场景的评估值大于或等于所述第一目标算力子资源池对应的阈值范围中的最小值,且小于或等于所述第一目标算力资子源池对应的阈值范围中的最大值;
[0016] 将各个所述业务场景分配至对应的第一目标算力子资源池。
[0017] 进一步地,所述资源分配方法,还包括:
[0018] 根据多个业务场景的评估值的分布情况,对各个算力子资源池对应的阈值范围进行调整。
[0019] 进一步地,所述资源分配方法,还包括:
[0020] 确定各个算力子资源池对应的负荷压力;
[0021] 在所述算力子资源池对应的负荷压力大于或等于第一阈值的情况下,将所述算力子资源池作为第二目标算力子资源池;
[0022] 将分配至所述第二目标算力子资源池中的业务场景,重新分配至第三目标算力子资源池;所述第三目标算力子资源池的负荷压力小于或等于第二阈值。
[0023] 进一步地,所述资源分配方法,还包括:
[0024] 所述算力资源池包括低配子资源池;
[0025] 在所述业务场景的评估值大于或等于第三阈值,且所述业务场景对应的数量大于或等于第四阈值的情况下,将所述业务场景分配至所述算力资源池中的低配子资源池。
[0026] 进一步地,所述资源分配方法,还包括:
[0027] 在所述业务场景中需要进行多个字段的聚合计算的情况下,在目标时间段内对所述业务场景中的聚合计算进行拦截;
[0028] 在所述目标时间段之后,进行所述业务场景中的聚合计算。
[0029] 第二方面,本发明实施例还提供了一种资源配置装置,包括:
[0030] 获取模块,用于获取SAAS系统中多个用户的业务请求对应的业务场景;
[0031] 确定模块,用于确定各个业务场景的评估值;所述评估值用于表示各个所述业务场景待处理的紧急程度;
[0032] 划分模块,用于将SAAS系统中的算力资源池划分为多个算力子资源池;各个所述算力子资源池对应不同的阈值范围;所述阈值范围表示各个所述算力子资源池的算力强弱程度;
[0033] 分配模块,用于根据各个业务场景的评估值和各个算力子资源池对应的阈值范围,对各个所述业务场景分配算力子资源池。
[0034] 第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述资源分配方法。
[0035] 第四方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述资源分配方法。
[0036] 第五方面,本发明实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面所述资源分配方法。
[0037] 本发明实施例提供的资源分配方法、装置和电子设备,在获取SAAS系统中多个用户的业务请求对应的业务场景后,确定各个业务场景的紧急程度,进而根据各个业务场景的紧急程度和各个算力子资源池的处理能力,对各个业务场景分配算力子资源池,从而实现了业务场景的紧急程度与算力子资源池的处理能力的匹配,使得SAAS系统的算力资源池得到了合理的利用,有效地保障紧急程度高的业务场景的处理效率,使得紧急程度高的业务场景可以尽快的完成处理,提高SAAS系统中租户的感知。

附图说明

[0038] 为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0039] 图1是本发明实施例提供的资源分配方法的流程示意图;
[0040] 图2是本发明实施例提供的资源分配系统的结构示意图;
[0041] 图3是本发明实施例提供的资源分配装置的结构示意图;
[0042] 图4是本发明实施例提供的电子设备的结构示意图。

具体实施方式

[0043] 为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0044] 本发明实施例的方法可以应用于软件即服务场景中,实现资源的合理分配。
[0045] 相关技术中,用户在SAAS系统中的业务请求对应不同的业务场景,如打折场景和订单流转场景,但不同的业务场景均使用相同的算力资源池进行处理,导致需要紧急处理的业务场景无法得到有效的处理,使得SAAS系统中的业务处理效率较低。
[0046] 本发明实施例的资源分配方法,在获取SAAS系统中多个用户的业务请求对应的业务场景后,确定各个业务场景的紧急程度,进而根据各个业务场景的紧急程度和各个算力子资源池的处理能力,对各个业务场景分配算力子资源池,从而实现了业务场景的紧急程度与算力子资源池的处理能力的匹配,使得SAAS系统的算力资源池得到了合理的利用,有效地保障紧急程度高的业务场景的处理效率,使得紧急程度高的业务场景可以尽快的完成处理,提高SAAS系统中租户的感知。
[0047] 为了便于更加清晰地理解本申请各实施例的技术方案,首先对本申请各实施例相关的一些技术内容进行介绍。
[0048] SAAS,随着互联网技术的发展和应用软件的成熟,在21世纪开始兴起的一种完全创新的软件应用模式。它与“on‑demand software”(按需软件),the application service provider(ASP,应用服务提供商),hosted software(托管软件)所具有相似的含义。它是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。用户不用再购买软件,而改用向提供商租用软件,来管理企业经营活动,且无需对软件进行维护,服务提供商会全权管理和维护软件,软件厂商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其定购的软件和服务。对于许多小型企业来说,SAAS是采用先进技术的最好途径,它消除了企业购买、构建和维护基础设施和应用程序的需要。
[0049] 下面结合图1‑图4以具体的实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
[0050] 图1是本发明实施例提供的资源分配方法一实施例的流程示意图。如图1所示,本实施例提供的方法,包括:
[0051] 步骤101、获取软件即服务SAAS系统中多个用户的业务请求对应的业务场景;
[0052] 具体地,相关技术中,用户在SAAS系统中的业务请求对应不同的业务场景,如打折场景和订单流转场景,但不同的业务场景均使用同一个算力资源池进行处理,导致需要紧急处理的业务场景无法得到有效的处理,使得SAAS系统中的业务处理效率较低,影响SAAS系统中租户的感知。
[0053] 例如,SAAS系统中的业务请求对应的业务场景A为打折场景,打折场景只需要计算产品打折后的价格,其公式只需要金额乘以折扣,公式简单,占用资源少,耗时较短,因而用户对于业务场景A的计算时延容忍程度较低,紧急程度较高;但是如果此时SAAS系统中的资源池被公式复杂、占用资源多、耗时较多的业务场景B使用,且业务场景B未完成前,业务场景A一直处于等待状态,直至紧急程度较低的业务场景B完成计算才能开始紧急程度较高的业务场景A的计算,从而导致紧急程度较高的业务场景A无法快速的完成计算,影响SAAS系统中租户的感知。
[0054] 步骤102、确定各个业务场景的评估值;评估值用于表示各个业务场景待处理的紧急程度;
[0055] 具体地,为了解决上述问题,本发明实施例中在获取SAAS系统中多个用户的业务请求对应的业务场景后,确定各个业务场景的评估值;可选地,一个用户在SAAS系统中可以存在多个业务请求;可选地,一个业务请求中可以包含一个或多个业务场景;可选地,业务场景的评估值用于表示各个业务场景待处理的紧急程度;可选地,公式简单、占用资源少、耗时较短的业务场景,SAAS系统中用户对其计算时延容忍程度较低,紧急程度较高;可选地,公式复杂、占用资源多、耗时较长的业务场景,SAAS系统中用户对其计算时延容忍程度较高,紧急程度较低。也就是紧急程度较高的业务场景,需要较快的完成处理,避免影响SAAS系统中用户的感知;对于紧急程度较低的业务场景,用户的容忍度较高,可以稍缓处理。可选地,本发明实施例中业务场景的评估值越低,业务场景的紧急程度越高;业务场景的评估值越高,业务场景的紧急程度越低。
[0056] 步骤103、将SAAS系统中的算力资源池划分为多个算力子资源池;各个算力子资源池对应不同的阈值范围;阈值范围表示各个算力子资源池的算力强弱程度;
[0057] 具体地,本发明实施例中将SAAS系统中的算力资源池划分为多个算力子资源池;可选地,各个算力子资源池的处理能力不同,也就是各个算力子资源池对应不同的阈值范围;其中,阈值范围表示各个算力子资源池的算力强弱程度;可选地,阈值越小,表示算力子资源池的处理能力越强,阈值越大,表示算力子资源池的处理能力越低。
[0058] 步骤104、根据各个业务场景的评估值和各个算力子资源池对应的阈值范围,对各个业务场景分配算力子资源池。
[0059] 具体地,本发明实施例中根据各个业务场景的评估值和各个算力子资源池对应的阈值范围,对各个业务场景分配算力子资源池,也就是根据各个业务场景的待处理的紧急程度和各个算力子资源池的处理能力,对各个业务场景分配算力子资源池,从而实现了业务场景的紧急程度与算力子资源池的处理能力的匹配。可选地,业务场景的紧急程度越高,分配的算力子资源池的处理能力越强;业务场景的紧急程度越低,分配的算力子资源池的处理能力越弱;从而有效地保障紧急程度高的业务场景的处理效率,使得紧急程度高的业务场景可以尽快的完成处理,从而使得SAAS系统的算力资源池得到了合理的利用,也有效提高了SAAS系统中租户的感知。
[0060] 上述实施例的方法,在获取SAAS系统中多个用户的业务请求对应的业务场景后,确定各个业务场景的紧急程度,进而根据各个业务场景的紧急程度和各个算力子资源池的处理能力,对各个业务场景分配算力子资源池,从而实现了业务场景的紧急程度与算力子资源池的处理能力的匹配,使得SAAS系统的算力资源池得到了合理的利用,有效地保障紧急程度高的业务场景的处理效率,使得紧急程度高的业务场景可以尽快的完成处理,提高SAAS系统中租户的感知。
[0061] 在一实施例中,确定各个业务场景的评估值,包括:
[0062] 根据业务场景和预设的对应关系,确定各个业务场景对应的至少一个影响因素及各个影响因素的权重;对应关系包括:业务场景和影响因素、影响因素的权重的对应关系;
[0063] 根据各个业务场景对应的至少一个影响因素及各个影响因素的权重,确定各个业务场景的评估值。
[0064] 具体地,本发明实施例中业务场景的评估值用于表示各个业务场景待处理的紧急程度;可选地,业务场景的评估值越低,业务场景的紧急程度越高;业务场景的评估值越高,业务场景的紧急程度越低;从而就可以根据各个业务场景的紧急程度和各个算力子资源池的处理能力,对各个业务场景分配算力子资源池,有效实现业务场景的紧急程度与算力子资源池的处理能力的匹配,使得紧急程度高的业务场景可以尽快的完成处理,提高SAAS系统中租户的感知。
[0065] 可选地,本发明实施例中在确定各个业务场景的评估值时,首先根据业务场景和预设的对应关系,确定各个业务场景对应的至少一个影响因素及各个影响因素的权重;对应关系包括:业务场景和影响因素、影响因素的权重的对应关系;进而根据各个业务场景对应的至少一个影响因素及各个影响因素的权重,确定各个业务场景的评估值。
[0066] 可选地,本发明实施例中,影响因素包括:租户类型、影响数据数、计算字段穿透层级、参数个数、过滤条件、字段个数等;可选地,不同的业务场景对应不同的影响因素、各个影响因素具有不同的权重;可选地,将业务场景对应的影响因素进行加权求和确定业务场景的评估值。
[0067] 例如,业务场景A对应的影响因素包括影响因素a、影响因素b、影响因素c;业务场景B对应的影响因素包括影响因素a、影响因素d;
[0068] 通过影响因素a、影响因素b、影响因素c及影响因素a的权重、影响因素b的权重、影响因素c的权重,确定业务场景A的评估值为50;通过影响因素a、影响因素d及影响因素a的权重、影响因素d的权重,确定业务场景B的评估值为10;可选地,业务场景的评估值越低,业务场景的紧急程度越高;业务场景的评估值越高,业务场景的紧急程度越低;则业务场景A的紧急程度较低,业务场景B的紧急程度较高。
[0069] 上述实施例的方法,根据业务场景对应的影响因素及影响因素的权重,确定业务场景的评估值,也就准确的确定了各个业务场景的待处理的紧急程度;进而根据业务场景的紧急程度和算力子资源池的处理能力,对业务场景分配算力子资源池,有效实现业务场景的紧急程度与算力子资源池的处理能力的匹配,使得紧急程度高的业务场景可以尽快的完成处理,提高SAAS系统中租户的感知。
[0070] 在一实施例中,根据各个业务场景的评估值和各个算力子资源池对应的阈值范围,对各个业务场景分配算力子资源池,包括:
[0071] 根据各个业务场景的评估值和各个算力子资源池对应的阈值范围,确定各个业务场景对应的第一目标算力子资源池;业务场景的评估值大于或等于第一目标算力子资源池对应的阈值范围中的最小值,且小于或等于第一目标算力资子源池对应的阈值范围中的最大值;
[0072] 将各个业务场景分配至对应的第一目标算力子资源池。
[0073] 具体地,本发明实施例中根据各个业务场景的评估值和各个算力子资源池对应的阈值范围,对各个业务场景分配算力子资源池,也就是根据各个业务场景的待处理的紧急程度和各个算力子资源池的处理能力,对各个业务场景分配算力子资源池,从而实现了业务场景的紧急程度与算力子资源池的处理能力的匹配。
[0074] 可选地,业务场景的紧急程度越高,分配的算力子资源池的处理能力越强;业务场景的紧急程度越低,分配的算力子资源池的处理能力越弱;可选地,各个算力子资源池对应不同的阈值范围;其中,阈值范围表示各个算力子资源池的算力强弱程度;算力子资源池对应的阈值越小,表示算力子资源池的处理能力越强,算力子资源池对应的阈值越大,表示算力子资源池的处理能力越低。
[0075] 可选地,本发明实施例中,根据各个业务场景的评估值和各个算力子资源池对应的阈值范围,确定各个业务场景对应的第一目标算力子资源池;其中,业务场景的评估值大于或等于第一目标算力子资源池对应的阈值范围中的最小值,且小于或等于第一目标算力资子源池对应的阈值范围中的最大值;也就是业务场景的评估值处于第一目标算力子资源池对应的阈值范围内,从而准确地实现了业务场景的紧急程度与算力子资源池的处理能力的匹配。
[0076] 例如,算力子资源池1对应的阈值范围是1‑100;算力子资源池2对应的阈值范围是101‑200;算力子资源池3对应的阈值范围是201‑300;算力子资源池4对应的阈值范围是
301‑400;可选地,算力子资源池对应的阈值越小,表示算力子资源池的处理能力越强,算力子资源池对应的阈值越大,表示算力子资源池的处理能力越弱;则算力子资源池1的处理能力强于算力子资源池2、算力子资源池3、算力子资源池4。可选地,若业务场景A的评估值为
50,业务场景B的评估值为260;可选地,业务场景的评估值越低,业务场景的紧急程度越高;
业务场景的评估值越高,业务场景的紧急程度越低;则业务场景A的紧急程度较高,业务场景B的紧急程度较低。业务场景A的评估值50处于算力子资源池1对应的阈值范围内,业务场景B的评估值260处于算力子资源池3对应的阈值范围内;则将业务场景A分配至算力子资源池1进行处理,将业务场景B分配至算力子资源池3进行处理,从而有效地保障紧急程度高的业务场景的处理效率,使得紧急程度高的业务场景A可以尽快的完成处理,从而提高SAAS系统中租户的感知。
[0077] 上述实施例的方法,根据各个业务场景的评估值和各个算力子资源池对应的阈值范围,确定各个业务场景对应的第一目标算力子资源池;其中,业务场景的评估值大于或等于第一目标算力子资源池对应的阈值范围中的最小值,且小于或等于第一目标算力资子源池对应的阈值范围中的最大值;也就是业务场景的评估值处于目标算力子资源池对应的阈值范围内,从而准确地实现了业务场景的紧急程度与算力子资源池的处理能力的匹配,有效地保障紧急程度高的业务场景的处理效率,使得紧急程度高的业务场景可以尽快的完成处理,从而提高SAAS系统中租户的感知。
[0078] 在一实施例中,根据多个业务场景的评估值的分布情况,对各个算力子资源池对应的阈值范围进行调整。
[0079] 具体地,本发明实施例中在获取SAAS系统中多个用户的业务请求对应的业务场景后,确定各个业务场景的评估值;进而根据各个业务场景的评估值的分布情况,对各个算力子资源池对应的阈值范围进行调整;可选地,各个业务场景的评估值的分布情况包括各个业务场景的评估值的数量;比如某个时刻的很多业务场景的评估值是50‑99,比如某个时刻100个业务场景的评估值是50‑99,算力子资源池1对应的阈值范围是1‑100;算力子资源池2对应的阈值范围是101‑200;算力子资源池3对应的阈值范围是201‑300;算力子资源池4对应的阈值范围是301‑400;则可以将算力子资源池1对应的阈值范围调整为1‑75;算力子资源池2对应地阈值范围调整为76‑200;从而使得一部分评估值是50‑99的业务场景被分配至算力子资源池2中进行处理,缓解算力子资源池1的负荷和压力,实现算力子资源池对应的阈值范围的动态调整,以达到当前时刻的多个业务场景处理的最佳结果,使得SAAS系统的算力资源得到了合理的利用。
[0080] 上述实施例的方法,根据多个业务场景的评估值的分布情况,对各个算力子资源池对应的阈值范围进行调整,从而实现算力子资源池对应的阈值范围的动态调整,从而也就实现了各个算力子资源池的负荷和压力的动态调整和平衡,以达到当前时刻的多个业务场景处理的最佳结果,使得SAAS系统的算力资源得到了合理的利用,提高了SAAS系统中租户的感知。
[0081] 在一实施例中,确定各个算力子资源池对应的负荷压力;
[0082] 在算力子资源池对应的负荷压力大于或等于第一阈值的情况下,将算力子资源池作为第二目标算力子资源池;
[0083] 将分配至第二目标算力子资源池中的业务场景,重新分配至第三目标算力子资源池;第三目标算力子资源池的负荷压力小于或等于第二阈值。
[0084] 具体地,在算力子资源池对应的负荷压力大于或等于第一阈值的情况下,将算力子资源池作为第二目标算力子资源池;将分配至第二目标算力子资源池中的业务场景,重新分配至第三目标算力子资源池;第三目标算力子资源池的负荷压力小于或等于第二阈值。也就是当某一算力子资源池对应的负荷压力过大时,而其他算力子资源池无负荷压力时,会有大量的业务场景堵塞在负荷压力过大的算力子资源池,可以通过将堵塞的业务场景分配至空闲的算力子资源池进行压力分摊,合理运用空闲的算力子资源池,实现各个算力子资源池的合理利用和负荷均衡,提升SAAS系统中租户的感知。
[0085] 例如,算力子资源池1对应地阈值范围是1‑100;算力子资源池2对应地阈值范围是101‑200;当前时刻存在100个评估值为75的业务场景,此时通过调整各个算力子资源池对应的阈值范围不能达到动态调整和平衡各个算力子资源池的负荷和压力的效果,必然会有
1个算力子资源池的负荷较重;因而可以通过将部分评估值为75的业务场景分配至空闲的算力子资源池进行压力分摊,例如将50个评估值为75的业务场景依然保留在算力子资源池
1进行处理,将另外50个评估值为75的业务场景分配至空闲的算力子资源池2进行压力分摊,从而实现各个算力子资源池的合理利用和负荷均衡,提升SAAS系统中租户的感知。
[0086] 上述实施例的方法,当某一算力子资源池对应的负荷压力过大时,而其他算力子资源池无负荷压力时,会有大量的业务场景堵塞在负荷压力过大的算力子资源池,可以通过将堵塞的业务场景分配至空闲的算力子资源池进行压力分摊,合理利用空闲的算力子资源池,实现各个算力子资源池的合理利用和负荷均衡,提升SAAS系统中租户的感知。
[0087] 在一实施例中,算力资源池包括低配子资源池;
[0088] 在业务场景的评估值大于或等于第三阈值,且业务场景对应的数量大于或等于第四阈值的情况下,将业务场景分配至算力资源池中的低配子资源池。
[0089] 具体地,算力资源池还包括低配子资源池;可选地,在业务场景的评估值大于或等于第三阈值,且业务场景对应的数量大于或等于第四阈值的情况下,将业务场景分配至算力资源池中的低配子资源池。例如,某个租户的某类业务场景的数量大于或等于第四阈值的情况下,如某个时刻批量导入的业务场景X的数量大于10000个的情况下,业务场景X的评估值大于500,也就是业务场景X的紧急程度非常低,但此时该10000个业务场景X会对资源池进行冲击,而业务场景X对于用户来讲是可以延迟满足的,因而本发明实施例中对于这种业务场景,会有单独的低配子资源池对其慢慢进行消化,维护SAAS系统极端场景下的稳定性,保护关键的业务场景不受资源限制影响。
[0090] 上述实施例的方法,在业务场景的评估值大于或等于第三阈值,且业务场景对应的数量大于或等于第四阈值的情况下,也就是业务场景的紧急程度非常低但业务场景的数量非常大的情况下,通过将其分配至算力资源池中的低配子资源池慢慢进行消化,从而避免对SAAS系统的冲击,维护SAAS系统极端场景下的稳定性,保护关键的业务场景不受资源限制影响。
[0091] 在一实施例中,在业务场景中需要进行多个字段的聚合计算的情况下,在目标时间段内对业务场景中的聚合计算进行拦截;
[0092] 在目标时间段之后,进行业务场景中的聚合计算。
[0093] 具体地,当业务场景需要进行多个字段的聚合计算的情况下,本发明实施例在目标时间段内对业务场景中的聚合计算进行拦截,并在目标时间段之后,进行业务场景中的聚合计算,从而使得该业务场景在目标时间段内触发多次请求的时候,只需要一次处理即能完成,节省了算力资源。
[0094] 例如,业务场景X需要将主机的价格、电源的价格、显示器的价格进行汇总,从而计算出电脑的价格。可选地,目标时段为15分钟,也就是15分钟内主机的价格多次发生变动的情况下,可以对该业务场景中的汇总计算进行拦截,也就是在这15分钟内不进行汇总计算,等待15分钟过后,根据最新的主机的价格、电源的价格、显示器的价格进行汇总,确定出电脑的价格;也就是该业务场景在目标时间段内触发多次请求的时候,只需要进行一次处理,节省了算力资源。也就是对于包括聚合计算的业务场景,在目标时间段内进行聚合计算的拦截,只在目标时间段后进行一次聚合计算,避免了目标时间段内进行多次聚合计算对算力资源的消耗与浪费,提升了算力资源的利用效率。
[0095] 上述实施例的方法,对于包括聚合计算的业务场景,在目标时间段内进行聚合计算的拦截,只在目标时间段后进行一次聚合计算,避免了目标时间段内进行多次聚合计算对算力资源的消耗与浪费,提升了算力资源的利用效率。
[0096] 示例性的,如图2所示的资源分配系统,包括资源池和评估池;其中,评估池和资源池连接,通过在资源池之前新增评估池,根据评估池评估出的结果,进行资源池的选择,以实现资源的合理利用。
[0097] 可选地,评估池用来决定决定当前业务场景选择哪种级别的资源来进行处理。
[0098] 可选地,评估池用来:
[0099] 确定计算因子:即确定影响业务场景评级的因素,并将影响因素进行分级;可选影响因素包括租户类型、影响数据数、计算字段穿透层级、参数个数、过滤条件、字段个数等;
[0100] 计算评估值:根据部分计算因子,以及影响因素的分级组装计算公式,业务场景会根据公式进行计算,最终计算的值即评估值;可选地,评估值=影响数据数*(基础任务计算耗时*计算字段个数+计算字段参数*参数查询耗时+每个参数穿透层级*每个参数穿透层级权重)。
[0101] 资源选择:通过阈值进行资源的选择;将不同资源池定义不同阈值,计算公式计算的值在哪个资源池范围,优先选择哪个资源池;比如1‑100是一级资源池,100‑200是2级资源池,200‑300是三级资源池,那么当计算结果是95的话选择1级资源池,当计算结果是105时选择2级资源池,也就是当超过1级资源池的阈值100后,就要从2级及以上的资源池选择。
[0102] 策略调整:计算策略是一种针对计算结果的动态调整策略,充分发挥智能数据计算的能力,不断对阈值或结果进行调整,以达到当前场景最佳结果;可选地,包括:动态评估策略:不断的对评估阈值进行调整,以达到当前时刻的业务场景处理的最佳结果。比如某个时刻的很多业务场景的值是50‑99,这个时候,一级资源池的阈值变成75,那么会有一部分请求进入二级资源池进行业务处理,缓解一级资源池压力。堵塞策略:当出现某一资源压力过大,而其他资源无压力时,会有大量请求堵塞在这一资源上,会出现资源利用问题,因此通过堵塞策略,当某一个资源压力大时,会分配空闲队列进行压力分摊,合理运用空闲资源。
[0103] 扩展策略:扩展策略可以给智能数据计算提供更多的可能性、包容性,比如租户最佳资源限制策略,业务场景重复资源利用策略等等,通过不同的扩展策略使智能数据计算更加智能。租户最佳资源限制策略‑分流策略,如果某个租户的某类场景,比如导入场景,会导入大量的数据,对当前的资源池进行冲击,而导入的场景对于用户来讲是可以延迟满足,那么对于这种场景的请求,会有单独的低配资源池。对其慢慢进行消化。比如业务场景重复资源利用策略,一个业务场景只需要一次处理即能完成目的,但是触发很多次的请求,只有一次请求处理就能满足,重复资源利用策略,将某个时间段相同业务场景进行拦截,最后只进行一次业务处理。
[0104] 可选地,资源分配系统中的资源池中,将资源进行分级,划分成不同级别的资源池,不同级别的业务场景可以根据评估池选择最佳的资源池;比如一级资源池叫快速资源处理池,即业务场景极其简单,处理速度很快的业务场景由此资源池处理;二级资源池叫次快资源池,即业务场景较为简单,处理速度蛮快的业务场景由此资源池处理;三级资源池叫中速资源处理池,即业务场景稍微复杂,处理速度一般的业务场景由此资源池处理;四级资源池叫慢速资源处理池,即业务场景复杂,处理速度慢的业务场景由此资源池处理;五级资源池叫极慢资源处理池,即业务场景极其复杂,处理速度极其慢的业务场景由此资源池处理。
[0105] 上述资源分配系统,包括评估池和至少1个业务处理资源池;所述评估池用于确定计算因子、计算评估值、资源选择、策略调整、扩展策略;所述业务处理资源池包括至少2个业务处理器;所述业务处理器接收业务消息;所述业务场景包括用户、产品、场景;所述业务处理资源池根据业务处理器划分成n个资源池,并受评估池管理,所述业务场景根据评估池智能计算出所述业务场景所需资源,由评估池分配业务处理资源池进行业务处理。本发明实施例中的资源分配系统,通过智能数据计算动态分析当前业务场景,合理分配资源,达到资源利用最大化;并通过智能数据计算中的各种策略,维护系统极端场景下的稳定性,同时保护客户关键场景不受资源限制影响。
[0106] 下面对本发明提供的资源分配装置进行描述,下文描述的资源分配装置与上文描述的资源分配方法可相互对应参照。
[0107] 图3是本发明提供的资源分配装置的结构示意图。本实施例提供的资源分配装置,包括:
[0108] 获取模块710,用于获取软件即服务SAAS系统中多个用户的业务请求对应的业务场景;
[0109] 确定模块720,用于确定各个业务场景的评估值;评估值用于表示各个业务场景待处理的紧急程度;
[0110] 划分模块730,用于将SAAS系统中的算力资源池划分为多个算力子资源池;各个算力子资源池对应不同的阈值范围;阈值范围表示各个算力子资源池的算力强弱程度;
[0111] 分配模块740,用于根据各个业务场景的评估值和各个算力子资源池对应的阈值范围,对各个业务场景分配算力子资源池。
[0112] 可选地,所述确定模块720,具体用于:根据业务场景和预设的对应关系,确定各个业务场景对应的至少一个影响因素及各个影响因素的权重;对应关系包括:业务场景和影响因素、影响因素的权重的对应关系;
[0113] 根据各个业务场景对应的至少一个影响因素及各个影响因素的权重,确定各个业务场景的评估值。
[0114] 可选地,所述分配模块740,具体用于:根据各个业务场景的评估值和各个算力子资源池对应的阈值范围,确定各个业务场景对应的第一目标算力子资源池;业务场景的评估值大于或等于第一目标算力子资源池对应的阈值范围中的最小值,且小于或等于第一目标算力资子源池对应的阈值范围中的最大值;
[0115] 将各个业务场景分配至对应的第一目标算力子资源池。
[0116] 可选地,所述分配模块740,还用于:根据多个业务场景的评估值的分布情况,对各个算力子资源池对应的阈值范围进行调整。
[0117] 可选地,所述分配模块740,还用于:确定各个算力子资源池对应的负荷压力;
[0118] 在算力子资源池对应的负荷压力大于或等于第一阈值的情况下,将算力子资源池作为第二目标算力子资源池;
[0119] 将分配至第二目标算力子资源池中的业务场景,重新分配至第三目标算力子资源池;第三目标算力子资源池的负荷压力小于或等于第二阈值。
[0120] 可选地,所述分配模块740,还用于:算力资源池包括低配子资源池;
[0121] 在业务场景的评估值大于或等于第三阈值,且业务场景对应的数量大于或等于第四阈值的情况下,将业务场景分配至算力资源池中的低配子资源池。
[0122] 可选地,所述分配模块740,还用于:在业务场景中需要进行多个字段的聚合计算的情况下,在目标时间段内对业务场景中的聚合计算进行拦截;
[0123] 在目标时间段之后,进行业务场景中的聚合计算。
[0124] 本发明实施例的装置,其用于执行前述任一方法实施例中的方法,其实现原理和技术效果类似,此次不再赘述。
[0125] 图4示例了一种电子设备的实体结构示意图,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行资源分配方法,该方法包括:获取软件即服务SAAS系统中多个用户的业务请求对应的业务场景;确定各个业务场景的评估值;评估值用于表示各个业务场景待处理的紧急程度;将SAAS系统中的算力资源池划分为多个算力子资源池;各个算力子资源池对应不同的阈值范围;阈值范围表示各个算力子资源池的算力强弱程度;根据各个业务场景的评估值和各个算力子资源池对应的阈值范围,对各个业务场景分配算力子资源池。
[0126] 此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0127] 另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的资源分配方法,该方法包括:获取软件即服务SAAS系统中多个用户的业务请求对应的业务场景;确定各个业务场景的评估值;评估值用于表示各个业务场景待处理的紧急程度;将SAAS系统中的算力资源池划分为多个算力子资源池;各个算力子资源池对应不同的阈值范围;阈值范围表示各个算力子资源池的算力强弱程度;根据各个业务场景的评估值和各个算力子资源池对应的阈值范围,对各个业务场景分配算力子资源池。
[0128] 又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的资源分配方法,该方法包括:获取软件即服务SAAS系统中多个用户的业务请求对应的业务场景;确定各个业务场景的评估值;评估值用于表示各个业务场景待处理的紧急程度;将SAAS系统中的算力资源池划分为多个算力子资源池;各个算力子资源池对应不同的阈值范围;阈值范围表示各个算力子资源池的算力强弱程度;根据各个业务场景的评估值和各个算力子资源池对应的阈值范围,对各个业务场景分配算力子资源池。
[0129] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0130] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0131] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。