CN113821336B - 资源分配方法和装置、存储介质、电子设备 - Google Patents
资源分配方法和装置、存储介质、电子设备 Download PDFInfo
- Publication number
- CN113821336B CN113821336B CN202110251208.0A CN202110251208A CN113821336B CN 113821336 B CN113821336 B CN 113821336B CN 202110251208 A CN202110251208 A CN 202110251208A CN 113821336 B CN113821336 B CN 113821336B
- Authority
- CN
- China
- Prior art keywords
- application system
- target application
- target
- server
- resource allocation
- 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
- 238000013468 resource allocation Methods 0.000 title claims abstract description 144
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000012545 processing Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 2
- 238000001514 detection method Methods 0.000 description 16
- 238000011156 evaluation Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 241000380131 Ammophila arenaria Species 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 125000000174 L-prolyl group Chemical group [H]N1C([H])([H])C([H])([H])C([H])([H])[C@@]1([H])C(*)=O 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开是关于一种资源分配方法、资源分配装置、存储介质以及电子设备,涉及资源调度技术领域。该方法包括:获取目标应用系统的目标性能值,并在确定所述目标性能值在预设时间段内达到预设的资源分配值的概率大于预设阈值时,确定所述目标应用系统所需的资源类型;为所述目标应用系统匹配具有所述目标性能值以及所述资源类型的目标服务器;根据所述目标应用系统的路径信息将所述目标应用系统部署至所述目标服务器,以实现对所述目标应用系统分配服务器资源。本公开提高了资源分配的效率。
Description
技术领域
本公开实施例涉及资源调度技术领域,具体而言,涉及一种资源分配方法、资源分配装置、存储介质以及电子设备。
背景技术
应用系统的正常运行离不开服务器资源,在现有技术中,对应用系统分配服务器资源往往通过对应用系统的各项性能值进行人为的评估,得到评估结果,该评估结果会略大于应用系统实际所需的服务器资源,并根据评估结果为应用系统匹配合适的服务器资源。
上述人为评估的方法存在以下缺点,一方面,人为的对应用系统进行评估,不可避免的会造成资源浪费的情况;另一方面,不能自动化的完成服务器资源的分配操作,需要人为的判断分配时机以及进行服务器资源的部署工作,导致资源分配效率较低。
因此,需要提供一种新的资源分配方法。
需要说明的是,在上述背景技术部分发明的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明的目的在于提供一种资源分配方法、资源分配装置、存储介质以及电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的资源分配效率低的问题。
根据本公开的一个方面,提供一种资源分配方法,包括:
获取目标应用系统的目标性能值,并在确定所述目标性能值在预设时间段内达到预设的资源分配值的概率大于预设阈值时,确定所述目标应用系统所需的资源类型;
为所述目标应用系统匹配具有所述目标性能值以及所述资源类型的目标服务器;
根据所述目标应用系统的路径信息将所述目标应用系统部署至所述目标服务器,以实现对所述目标应用系统分配服务器资源。
在本公开的一种示例性实施例中,所述目标应用系统的目标性能值包括请求排队率、中央处理器负载、中央处理器使用率、内存使用率以及带宽使用率中的至少一种;
其中,当所述目标性能值为请求排队率时,获取目标应用系统的目标性能值,包括:
获取所述目标应用系统的资源使用参数,其中,所述资源使用参数中至少包括目标系统的端口号;
根据所述目标应用系统的端口号,对与所述端口号对应的目标应用系统的端口进行数据采集,确定所述端口接收的数据包的数量,以及发送的数据包的数量;
根据所述端口接收的数据包的数量以及发送的数据包的数量,确定所述目标应用系统的请求排队率。
在本公开的一种示例性实施例中,获取所述目标应用系统的资源使用参数,包括:
当所述目标应用系统为服务器项目时,基于所述目标应用系统的服务器获取所述目标应用系统的资源使用参数;其中,所述资源使用参数包括:最大线程数、排队请求数以及所述目标应用系统的服务器的端口号;
当所述目标应用系统为分布式项目时,从所述分布式项目的配置文件中获取线程池参数;其中,所述线程池参数包括:初始化的线程池数量、最大的线程池数量以及所述分布式项目的端口号。
在本公开的一种示例性实施例中,根据所述端口接收的数据包的数量以及发送的数据包的数量,确定所述目标应用系统的请求排队率,包括:
当所述目标应用系统为服务器项目时,获取与所述服务器的端口号对应的端口所接收的数据包的数量以及发送的数据包的数量,根据接收的数据包的数量、发送的数据包的数量以及所述最大线程数,确定所述目标应用系统的请求排队率;
当所述目标应用系统为分布式项目时,获取与所述分布式项目的端口号对应的端口所接收的数据包的数量以及发送的数据包的数量,根据接收的数据包的数量、发送的数据包的数量以及所述初始化的线程池的数量,确定所述目标应用系统的请求排队率。
在本公开的一种示例性实施例中,确定所述目标应用系统所需的资源类型,包括:
当所述目标应用系统的请求排队率达到预设的资源分配值的概率大于所述预设阈值时,所述目标应用系统所需的资源类型为中央处理器、内存中的至少一个;
当所述目标应用系统的中央处理器负载以及中央处理器使用率达到预设的资源分配值的概率大于所述预设阈值时,所述目标应用系统所需的资源类型为中央处理器;
当所述目标应用系统的内存使用率达到预设的资源分配值的概率大于所述预设阈值时,所述目标应用系统所需的资源类型为内存;
当所述目标应用系统的带宽使用率达到预设的资源分配值的概率大于所述预设阈值时,所述目标应用系统所需的资源类型为带宽。
在本公开的一种示例性实施例中,为所述目标应用系统匹配具有所述目标性能值以及所述资源类型的目标服务器,包括:
确定空闲资源类型为所述目标应用系统所需的资源类型的目标服务器;
当所述目标服务器包括的所述空闲资源类型的配置不小于所述目标应用系统的目标性能值时,所述目标服务器为与所述目标应用系统对应的服务器。
在本公开的一种示例性实施例中,根据所述目标应用系统的路径信息将所述目标应用系统部署至所述目标服务器,包括:
获取所述目标应用系统的系统信息中所包括的路径信息,以及所述目标服务器的互联网协议地址;
根据所述目标应用系统的路径信息以及所述目标服务器的互联网协议地址,将所述目标应用系统的系统信息复制至所述目标服务器;
通过部署命令将所述目标应用系统部署至所述目标服务器。
根据本公开的一个方面,提供一种资源分配装置,包括:
资源分配类型确定模块,用于获取目标应用系统的目标性能值,并在确定所述目标性能值在预设时间段内达到预设的资源分配值的概率大于预设阈值时,确定所述目标应用系统所需的资源类型;
目标服务器匹配模块,用于为所述目标应用系统匹配具有所述目标性能值以及所述资源类型的目标服务器;
资源分配模块,用于根据所述目标应用系统的路径信息将所述目标应用系统部署至所述目标服务器,以实现对所述目标应用系统分配服务器资源。
根据本公开的一个方面,提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的资源分配方法。
根据本公开的一个方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的资源分配方法。
本公开实施例提供的一种资源分配方法,获取目标应用系统的目标性能值,并在确定所述目标性能值在预设时间段内达到预设的资源分配值的概率大于预设阈值时,确定所述目标应用系统所需的资源类型;为所述目标应用系统匹配具有所述目标性能值以及所述资源类型的目标服务器;根据所述目标应用系统的路径信息将所述目标应用系统部署至所述目标服务器,以实现对所述目标应用系统分配服务器资源,由于根据预设时间段内目标性能值达到预设的资源分配值的概率,确定目标应用系统所需的资源分配类型,不需要人为的判断分配实际,解决了现有技术中资源分配不足或资源浪费的问题,提高了目标应用系统资源分配的准确率以及资源利用率;另一方面,当确定目标应用系统所需的资源类型以及目标服务器之后,利用目标应用系统的路径信息将该目标应用系统部署至目标服务器,不需要人为的进行服务器资源的部署工作,提高了资源分配的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出根据本发明示例实施例的一种资源分配方法的流程图。
图2示意性示出根据本发明示例实施例的一种资源分配系统的框图。
图3示意性示出根据本发明示例实施例的一种获取目标应用系统的目标性能值的方法流程图。
图4示意性示出根据本发明示例实施例的一种获取目标应用系统的资源使用参数的方法流程图。
图5示意性示出根据本发明示例实施例的一种确定目标应用系统的请求排队率的方法流程图。
图6示意性示出根据本发明示例实施例的一种根据目标应用系统的路径信息将目标应用系统部署至目标服务器的方法流程图。
图7示意性示出根据本发明示例实施例的一种目标应用系统部署完成后,刷新负载路由的方法流程图。
图8示意性输出根据本发明示例实施例的一种资源分配方法的流程图。
图9示意性示出根据本发明示例实施例的一种资源分配装置的框图。
图10示意性示出根据本发明示例实施例的一种用于实现上述资源分配方法的电子设备。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本发明的各方面变得模糊。
此外,附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
应用系统的运行离不开服务器资源,当服务器资源分配过多时,会导致资源利用率不高,当资源分配不足时,应用系统崩溃,导致应用系统访问缓慢,降低用户体验。
为了解决上述问题,现有技术中通过人为的对应用系统的各项性能进行评估,根据评估结果为应用系统分配对应的服务器资源,一方面,评估结果往往会略大于应用系统实际所需的服务器资源,不可避免的会出现服务器资源浪费的问题;另一方面,当人为评估不足导致分配的服务器资源不足时,导致应用系统崩溃,降低用户的体验;再一方面,需要人为的监控应用系统的各项性能指标,资源分配工作周期长,浪费人力成本和时间成本。
基于上述一个或者多个问题,本示例实施方式首先提供了一种资源分配方法,该方法可以运行于服务器、服务器集群或云服务器等,当然,本领域技术人员也可以根据需求在其他平台运行本发明的方法,本示例实施例对此不做具体限定。参考图1所示,该资源分配方法可以包括以下步骤:
步骤S110.获取目标应用系统的目标性能值,并在确定所述目标性能值在预设时间段内达到预设的资源分配值的概率大于预设阈值时,确定所述目标应用系统所需的资源类型;
步骤S120.为所述目标应用系统匹配具有所述目标性能值以及所述资源类型的目标服务器;
步骤S130.根据所述目标应用系统的路径信息将所述目标应用系统部署至所述目标服务器,以实现对所述目标应用系统分配服务器资源。
上述资源分配方法,获取目标应用系统的目标性能值,并在确定所述目标性能值在预设时间段内达到预设的资源分配值的概率大于预设阈值时,确定所述目标应用系统所需的资源类型;为所述目标应用系统匹配具有所述目标性能值以及所述资源类型的目标服务器;根据所述目标应用系统的路径信息将所述目标应用系统部署至所述目标服务器,以实现对所述目标应用系统分配服务器资源,由于根据预设时间段内目标性能值达到预设的资源分配值的概率,确定目标应用系统所需的资源分配类型,不需要人为的判断分配实际,解决了现有技术中资源分配不足或资源浪费的问题,提高了目标应用系统资源分配的准确率以及资源利用率;另一方面,当确定目标应用系统所需的资源类型以及目标服务器之后,利用目标应用系统的路径信息将该目标应用系统部署至目标服务器,不需要人为的进行服务器资源的部署工作,提高了资源分配的效率。
以下,对本公开示例实施例的资源分配方法中涉及的各步骤进行详细的解释以及说明。
首先,对本公开示例实施例的应用场景以及发明目的进行解释以及说明。
具体的,本公开示例实施例可以用于各种应用系统中,主要用于对应用系统的目标性能进行检测,根据检测结果为用户匹配对应的服务器资源。
本公开示例实施例以目标系统的目标性能值为基础,对此进行分析得到与目标应用系统对应的资源类型,并根据该资源类型为目标应用系统匹配对应的服务器,提高了资源分配的准确率以及效率。具体理由如下:一方面,通过对目标应用系统的系统性能进行检测,得到目标应用系统的目标性能值,根据该目标性能值在预设时间段内达到预设的资源分配值的概率确定与目标应用系统对应的资源分配类型,通过判断概率的方式得到目标应用系统所需要的资源类型的准确率远高于人为评估;另一方面,根据目标应用系统的目标性能值以及所需要的资源类型为目标应用系统匹配对应的服务器,避免了服务器资源分配不足或过多的问题;再一方面,不需要人为评估目标应用系统的目标性能值,降低了人力成本。
其次,对本公开示例实施例中涉及的资源分配系统进行解释以及说明。参考图2所示,该资源分配系统可以包括:资源分配检测装置210、资源分配处理器220、资源管理器230以及系统部署装置240。其中,资源分配检测装置210用于对目标应用系统进行性能监视,进而得到目标应用系统的目标性能值,并将该目标性能值发送至资源分配处理器220;资源分配处理器220,与资源分配检测装置210网络连接,用于接收资源分配监测装置210发送的目标性能值,并根据该目标性能值判断是否要为目标应用系统分配资源以及分配资源的类型,当需要为目标应用系统分配资源时,根据目标应用系统的目标性能值以及该目标应用系统所需要的资源类型生成资源分配请求,并将该资源分配请求发送至资源管理器230;资源管理器230,与资源分配处理器220网络连接,用于接收资源分配处理器发送的资源分配请求,并根据该请求为目标应用系统匹配对应的服务器;系统部署装置240,与资源管理器230网络连接,用于根据目标应用系统的路径信息,将该目标应用系统部署在于该目标应用系统对应的服务器上;其中不同系统之间的通信可以基于HTTP(HyperText TransferProtocol,超文本传输协议),也可以基于TCP(Transmission Control Protocol,传输控制协议)或者RPC(Remote Procedure Call,远程过程调用),还可以基于MQ(Message Queue,消息队列),在本示例中不做具体限定。
以下,将结合图2对步骤S110-步骤S130进行解释以及说明。
在步骤S110中,获取目标应用系统的目标性能值,并在确定所述目标性能值在预设时间段内达到预设的资源分配值的概率大于预设阈值时,确定所述目标应用系统所需的资源类型。
在本示例实施例中,首先,可以通过对目标应用系统进行检测,进而获得目标应用系统的目标性能值。在资源分配检测装置210中对目标应用系统进行检测可以采用插件的方式,将该插件挂载在目标应用系统上,可以对目标应用系统无侵入,并且实现了对目标应用系统的目标性能进行检测,其中,检测方式可以为:java–javaagent:smartMonitor.jar,也可以使用其他的检测方式对目标应用系统进行检测,本实例对检测方式不做具体限定。其中,资源分配检测装置可以为一个完整的装置对目标性能值进行检测,也可以为多个子装置,每个子装置负责对一项目标性能值进行检测,本领域技术人员可以根据实际需要,对资源分配监测装置中包括的子装置进行替换或加入自定义的检测子装置,来完成需要检测的目标性能值,在本示例中不做具体限定。当资源分配检测装置启动时,可以通过调用子装置对目标应用系统进行检测,子装置可以为可执行的JAR(Java ARchive,Java归档)包,也可以为可执行脚本*.sh文件。
其次,目标性能值可以包括请求排队率、CPU(Central Processing Unit,中央处理器)使用率、CPU负载、内存使用率以及带宽使用率中的一种或多种;其中,当请求排队率超过100%时,后面的请求会被服务器拒绝,从而使应用系统出现问题;CPU使用率代表应用程序占用CPU的程度,由于CPU的使用是分时间片的,因此,CPU使用率就是已经使用的时间片/总时间片,当CPU使用率为100%时,表明CPU所有的时间片都使用完了,如果再来执行任务,会导致系统功能操作失败;CPU负载,用来标识正在使用和等待使用的CPU任务,当CPU负载大于CPU核数时,会产生任务排队积压,CPU不能及时的处理,导致应用系统缓慢甚至无响应;当带宽使用率达到100%时,应用系统无法接收新的请求,从而使系统无法访问,本领域技术人员也可以根据应用系统的实际需求对目标应用系统进行检测,获得实际所需要的目标性能值,在本实施例中不做特殊限定。预设时间段为用户想要对目标应用系统检测的时间段,可以为1个小时,也可以为3个小时,本示例对此不做具体限定。预设的资源分配值,为与目标应用系统的目标性能值对应的资源分配值的阈值,当目标应用系统检测的目标性能为请求排队率、CPU使用率、CPU负载、内存使用率以及带宽使用率时,预设的资源分配值也可以包括请求排队率、CPU使用率、CPU负载、内存使用率以及带宽使用率,其中,预设的资源分配值所包括的请求排队率的阈值可以为90%,CPU使用率的阈值可以为80%,CPU负载的阈值可以为70%*CPU核数,带宽使用率的阈值可以为80%,内存使用率的阈值可以为80%,预设的资源分配值也可以为其他数值,在本示例中不做具体限定;目标性能值在预设时间段内达到预设的资源分配值的概率,可以为在预设时间段内,目标性能值达到预设的资源分配值的阈值的概率,即,在预设时间段内达到预设的资源分配值的阈值的次数/预设时间段内的检测次数。
在本示例实施例中,参考图3所示,当目标性能值为请求排队率时,获取目标应用系统的目标性能值,可以包括步骤S310-步骤S330:
在步骤S310中,获取所述目标应用系统的资源使用参数,其中,所述资源使用参数中至少包括目标系统的端口号;
在本示例实施例中,资源使用参数为目标应用系统所设置的资源使用参数,其中,参考图4所示,获取所述目标应用系统的资源使用参数,可以包括步骤S410以及步骤S420:
在步骤S410中,当所述目标应用系统为服务器项目时,基于所述目标应用系统的服务器获取所述目标应用系统的资源使用参数;其中,所述资源使用参数包括:最大线程数、排队请求数以及所述目标应用系统的服务器的端口号;
在步骤S420中,当所述目标应用系统为分布式项目时,从所述分布式项目的配置文件中获取线程池参数;其中,所述线程池参数包括:初始化的线程池数量、最大的线程池数量以及所述分布式项目的端口号。
以下,将对步骤S410以及步骤S420进行解释以及说明。具体的,目标应用系统可以为服务器项目,也可以为分布式项目,其中,服务器项目可以为web项目,分布式项目可以为RPC(Remote Procedure Call,远程过程调用)项目,例如,Dubbo(开源分布式服务框架),在本示例中对上述目标应用系统不做具体限定。
当目标应用系统为服务器项目,即,web项目时,从web项目的服务器Tomcat的配置中获取到服务器参数,其中服务器参数可以包括:最大线程数maxThreads,即,同时处理的任务个数,默认值可以为200;排队请求数acceptCount,当Tomcat启动的线程数达到最大时,可以接受排队的请求个数,默认值为100;以及接收HTTP(HyperText TransferProtocol,超文本传输协议)请求的端口号,其中,Tomcat默认的端口号为8080。
当目标应用系统为分布式项目,例如,Dubbo时,可以从Dubbo的配置中获取线程池参数,其中,线程池参数可以包括:初始化的线程池数量corePoolSize、最大的线程池数量maxPoolSize以及Dubbo端口号,其中,Dubbo默认端口号为20880。
在步骤S320中,根据所述目标应用系统的端口号,对与所述端口号对应的目标应用系统的端口进行数据采集,确定所述端口接收的数据包的数量,以及发送的数据包的数量;
其中,可以使用命令行工具Tcpdump对目标应用系统的端口进行数据采集,也可以使用图像界面工具wireshark对数据进行抓取并分析,在本示例中对抓包工具不做特殊限定。具体的,当目标应用系统为web项目时,可以基于Tcpdump命令对端口号为8080的服务器端口的数据进行采集并分析,得到服务器Tomcat接收到的数据包的数量以及发送的数据包的数量,其中,接收到的数据包以及发送的数据包的报文类型均为push类型。当目标应用系统为Dubbo时,可以基于Tcpdump命令对端口号为20880的端口的数据进行采集并分析,得到Dubbo端口接收的数据包的数量以及发送的数据包的数量,其中,接收的数据包以及发送的数据包的报文类型均为push类型。
在步骤S330中,根据所述端口接收的数据包的数量以及发送的数据包的数量,确定所述目标应用系统的请求排队率。
在本示例实施中,参考图5所示,根据所述端口接收的数据包的数量以及发送的数据包的数量,确定所述目标应用系统的请求排队率,可以包括步骤S510以及步骤S520:
在步骤S510中,当所述目标应用系统为服务器项目时,获取与所述服务器的端口号对应的端口所接收的数据包的数量以及发送的数据包的数量,根据接收的数据包的数量、发送的数据包的数量以及所述最大线程数,确定所述目标应用系统的请求排队率;
在步骤S520中,当所述目标应用系统为分布式项目时,获取与所述分布式项目的端口号对应的端口所接收的数据包的数量以及发送的数据包的数量,根据接收的数据包的数量、发送的数据包的数量以及所述初始化的线程池的数量,确定所述目标应用系统的请求排队率。
以下,将对步骤S510以及步骤S520进行解释以及说明。具体的,请求排队率可以为请求排队率=(接收的数据包的数量-发送的数据包的数量-核心资源数)/等待队列的大小。其中,当目标应用系统为web项目时,请求排队率=(接收到数据包的数量-发送的数据包的数量-最大线程数maxThreads)/排队请求数acceptCount,其中,当分子为负数时,请求排队率为0,表示当前没有正在等待的请求。当目标应用系统为Dubbo时,请求排队率=(接收的数据包的数量-发送的数据包的数量-初始化的线程池数量corePoolSize)/最大的线程池数量maxPoolSize,其中,当分子为负数时,请求排队率为0,表示当前没有正在等待的请求。
此外,可以使用Top工具对CPU使用率以及CPU负载进行检测,也可以使用mpstat对CPU使用率进行检测,还可以使用uptime对CPU负载进行检测,因此,在本示例中对检测工具不做特殊限定。可以使用Linux free命令显示内存的使用情况,包括实体内存、虚拟的交换文件内存、共享内存区段以及系统核心使用的缓存区等,其中,内存使用率=已用内存的大小/总计物理内存的大小。此外,还可以使用iftop命令查看实时的网络流量,其中,带宽使用率=网卡接受发送的总流量/服务器的带宽信息,其中,服务器的带宽信息可以从资源管理器中获取。
进一步的,当获取到目标应用系统的目标性能值后,可以在预设时间段内计算目标性能值达到预设的资源分配值的概率。举例而言,CPU的核数为单核,预设阈值为20%,预设的资源分配值可以包括:请求排队率、CPU使用率、CPU负载、带宽使用率以及内存使用率,其中预设的资源分配值的阈值可以包括:请求排队率达到90%,CPU使用率达到80%,CPU负载达到70%,带宽使用率达到80%以及内存使用率达到80%,当在预设的5个小时内,检测次数为10次时,目标应用系统请求排队率不小于90%的次数为4,CPU使用率不小于80%的次数为1,CPU负载不小于70%的次数为1,带宽使用率不小于80%的次数为3,内存使用率不小于80%的次数为2,由此可得,请求排队率达到预设的资源分配值的概率为40%,CPU使用率以及CPU负载达到预设的资源分配值的概率为10%,带宽使用率达到预设的资源分配值的概率为30%,内存使用率达到预设的资源分配值的概率为20%,因此,大于预设阈值的目标性能值为:请求排队率以及带宽使用率,当得到大于预设阈值的目标性能值之后,需要根据该目标性能值确定目标应用系统所需的资源类型。
具体的,确定所述目标应用系统所需的资源类型,包括:
当所述目标应用系统的请求排队率达到预设的资源分配值的概率大于所述预设阈值时,所述目标应用系统所需的资源类型为中央处理器、内存中的至少一个;
当所述目标应用系统的中央处理器负载以及中央处理器使用率达到预设的资源分配值的概率大于所述预设阈值时,所述目标应用系统所需的资源类型为中央处理器;
当所述目标应用系统的内存使用率达到预设的资源分配值的概率大于所述预设阈值时,所述目标应用系统所需的资源类型为内存;
当所述目标应用系统的带宽使用率达到预设的资源分配值的概率大于所述预设阈值时,所述目标应用系统所需的资源类型为带宽。
举例而言,当预设阈值为20%,请求排队率达到预设的资源分配值的概率为40%,CPU使用率以及CPU负载达到预设的资源分配值的概率为10%,带宽使用率达到预设的资源分配值的概率为30%,内存使用率达到预设的资源分配值的概率为20%时,大于预设阈值的目标性能值为:请求排队率以及带宽使用率,因此,目标应用系统所需的资源类型为:CPU或内存中的至少一个以及带宽。
在步骤S120中,为所述目标应用系统匹配具有所述目标性能值以及所述资源类型的目标服务器。
当确定目标应用系统需要的资源类型后,可以根据目标应用系统所需的资源类型为该目标应用系统匹配具有该资源类型的目标服务器,其中,为所述目标应用系统匹配具有所述目标性能值以及所述资源类型的目标服务器,包括:
确定空闲资源类型为所述目标应用系统所需的资源类型的目标服务器;
当所述目标服务器包括的所述空闲资源类型的配置不小于所述目标应用系统的目标性能值时,所述目标服务器为与所述目标应用系统对应的服务器。
具体的,首先,利用资源管理器对空闲的服务器进行管理,得到空闲服务器中拥有目标应用系统所需的资源类型的服务器;其次,为了保证目标应用系统的安全,如果目标服务器的配置比目标应用系统的配置低,虽然可以分一部分流量,使目前目标应用系统的负担减少,但是,当服务器较多时,一台服务器宕机,需要其他的服务器承担大部分的请求,因此,需要在拥有目标应用系统所需的资源类型的服务器中确定资源值不小于目标应用系统的目标性能值的服务器,该服务器即为目标服务器。当资源管理器230确定与目标应用系统对应的目标服务器后,还需要将目标服务器的IP(互联网协议)地址或者域名以及目标服务器的配置信息发送至资源分配处理器220。
在步骤S130中,根据所述目标应用系统的路径信息将所述目标应用系统部署至所述目标服务器,以实现对所述目标应用系统分配服务器资源。
在本示例中,当资源管理器230得到目标服务器的IP地址或者域名以及目标服务器的配置信息后,将该IP地址或者域名以及目标服务器的配置信息发送至系统部署装置240。系统部署装置根据接收到的内容进行部署,具体的,参考图6所示,根据所述目标应用系统的路径信息将所述目标应用系统部署至所述目标服务器,包括步骤S610-步骤S630:
在步骤S610中,获取所述目标应用系统的系统信息中所包括的路径信息,以及所述目标服务器的互联网协议地址;
在步骤S620中,根据所述目标应用系统的路径信息以及所述目标服务器的互联网协议地址,将所述目标应用系统的系统信息复制至所述目标服务器;
在步骤S630中,通过部署命令将所述目标应用系统部署至所述目标服务器。
以下,对步骤S610-步骤S630进行解释以及说明。具体的,首先,系统部署装置240接收资源分配处理器发送的部署指令,其中,部署指令包括目标应用系统的系统信息以及目标服务器的信息,目标应用系统的系统信息的格式可以为jar包,也可以为WAR(WebApplication Archive,应用程序存档)包,还可以为helm(helm为包管理器)镜像,可以包括:目标应用系统的名称、路径信息以及目标性能值;目标服务器的信息可以包括:目标服务器的IP地址或者域名、用户名以及密码;其次,系统部署装置240可以根据目标应用系统的路径信息,将目标应用系统的系统信息复制至目标服务器中,其中,可以使用scp命令将目标应用系统的系统信息复制至目标服务器,当目标应用系统的路径信息为/usr/local/test.jar,目标服务器的域名为www.XXX.com:/XXX时,可以通过命令scp/usr/local/test.jar@www.XXX.com:/XXX将目标应用系统的系统信息复制至目标服务器;然后,系统部署装置240可以通过启动部署脚本或者执行部署命令,将目标应用系统部署至目标服务器中,其中不输命令可以为docker(应用容器引擎)命令,也可以为kubectl(用于运行Kubernetes集群命令的管理工具)命令,在本示例中不做具体限定;脚本可以为:./start.sh;命令可以为:
docker load-i app.tar
docker tag test/app:v20201207_223917pro/app:v20201207_223917
docker push pro/app:v20201207_223917
helm-n testnamespace uninstall app
helm install app app.tar.gz--namespace testnamespace
其中,docker load命令为将复制到目标服务器的镜像上传到本地的镜像仓库;docker tag命令为将镜像test/app:v20201207_223917pro标记为本地app:v20201207_223917镜像;docker push命令为上传本地镜像pro/app:v20201207_223917到镜像仓库中;helm–n命令为一键卸载testnamespace脚本;helm install命令为对应用系统进行部署;最后,当部署完成后,为了保证服务器的负载均衡,需要刷新负载路由,具体,参考图7所示,当目标应用系统部署完成后,刷新负载路由可以包括步骤S710以及步骤S720:
在步骤S710中,当所述目标应用系统为服务器项目时,将所述目标服务器的互联网协议地址或者域名添加至负载均衡路由表;
在步骤S720中,当所述目标应用系统为分布式项目时,所述目标服务器自动加入注册中心。
以下,将对步骤S710以及步骤S720进行解释以及说明。具体的,当目标应用系统为web项目时,当将目标服务器的IP地址或者域名添加至负载均衡路由表之后,可以通过调用目标应用系统提供的HTTP接口,以实现负载均衡;当目标应用系统为Dubbo时,由于该目标应用系统为RPC框架,目标服务器会自动加入注册中心,并且注册中心会将新增加的目标服务器推送给目标应用系统,可以自动实现负载均衡。
本公开示例实施例提供的资源分配方法以及资源分配系统至少具有以下优点:一方面,采用插件的方式对目标应用系统进行检测,对目标应用系统无侵入,不需要人为的检测,降低了人工成本;另一方面,根据目标性能值在预设时间段内达到预设的资源配置值的概率确定目标应用系统对应的资源分配类型,提高了资源分配的准确率;再一方面,根据目标应用系统的目标性能值以及所需要的资源类型为目标应用系统匹配对应的服务器,避免了服务器资源分配不足或过多的问题。
以下,结合图8对本公开示例实施例的资源分配方法进行进一步的解释以及说明。其中,资源分配方法可以包括以下步骤:
步骤S810.资源分配检测装置对目标应用系统的目标性能值进行检测,并将目标性能值发送至资源分配处理器;
步骤S820.资源分配处理器根据目标性能值判断目标应用系统是否需要分配资源;
步骤S830.当不需要分配资源时对目标应用系统继续进行检测,当需要分配资源时,生成资源申请请求,并将该请求发送至资源管理装置;
步骤S840.资源管理装置根据资源申请请求为目标应用系统匹配对应的资源类型;
步骤S850.根据目标应用系统需要的资源类型确定与目标应用系统对应的目标服务器,并将目标服务器的信息发送至资源分配处理器;
步骤S860.资源分配处理器将目标应用系统的系统信息发送至系统部署装置,系统部署装置接收目标应用系统的系统信息;
步骤S870.系统部署装置通过启动部署脚本将目标应用系统的系统信息部署至目标服务器;
步骤S880.部署完成后刷新负载路由。
本公开示例实施例还提供了一种资源分配装置,参考图9所示,该资源分配装置可以包括:资源分配类型确定模块910、目标服务器匹配模块920以及资源分配模块930。其中:
资源分配类型确定模块910,用于获取目标应用系统的目标性能值,并在确定所述目标性能值在预设时间段内达到预设的资源分配值的概率大于预设阈值时,确定所述目标应用系统所需的资源类型;
目标服务器匹配模块920,用于为所述目标应用系统匹配具有所述目标性能值以及所述资源类型的目标服务器;
资源分配模块930,用于根据所述目标应用系统的路径信息将所述目标应用系统部署至所述目标服务器,以实现对所述目标应用系统分配服务器资源。
在本公开的一种示例性实施例中,所述目标应用系统的目标性能值包括请求排队率、中央处理器负载、中央处理器使用率、内存使用率以及带宽使用率中的至少一种;
其中,当所述目标性能值为请求排队率时,获取目标应用系统的目标性能值,包括:
获取所述目标应用系统的资源使用参数,其中,所述资源使用参数中至少包括目标系统的端口号;
根据所述目标应用系统的端口号,对与所述端口号对应的目标应用系统的端口进行数据采集,确定所述端口接收的数据包的数量,以及发送的数据包的数量;
根据所述端口接收的数据包的数量以及发送的数据包的数量,确定所述目标应用系统的请求排队率。
在本公开的一种示例性实施例中,获取所述目标应用系统的资源使用参数,包括:
当所述目标应用系统为服务器项目时,基于所述目标应用系统的服务器获取所述目标应用系统的资源使用参数;其中,所述资源使用参数包括:最大线程数、排队请求数以及所述目标应用系统的服务器的端口号;
当所述目标应用系统为分布式项目时,从所述分布式项目的配置文件中获取线程池参数;其中,所述线程池参数包括:初始化的线程池数量、最大的线程池数量以及所述分布式项目的端口号。
在本公开的一种示例性实施例中,根据所述端口接收的数据包的数量以及发送的数据包的数量,确定所述目标应用系统的请求排队率,包括:
当所述目标应用系统为服务器项目时,获取与所述服务器的端口号对应的端口所接收的数据包的数量以及发送的数据包的数量,根据接收的数据包的数量、发送的数据包的数量以及所述最大线程数,确定所述目标应用系统的请求排队率;
当所述目标应用系统为分布式项目时,获取与所述分布式项目的端口号对应的端口所接收的数据包的数量以及发送的数据包的数量,根据接收的数据包的数量、发送的数据包的数量以及所述初始化的线程池的数量,确定所述目标应用系统的请求排队率。
在本公开的一种示例性实施例中,确定所述目标应用系统所需的资源类型,包括:
当所述目标应用系统的请求排队率达到预设的资源分配值的概率大于所述预设阈值时,所述目标应用系统所需的资源类型为中央处理器、内存中的至少一个;
当所述目标应用系统的中央处理器负载以及中央处理器使用率达到预设的资源分配值的概率大于所述预设阈值时,所述目标应用系统所需的资源类型为中央处理器;
当所述目标应用系统的内存使用率达到预设的资源分配值的概率大于所述预设阈值时,所述目标应用系统所需的资源类型为内存;
当所述目标应用系统的带宽使用率达到预设的资源分配值的概率大于所述预设阈值时,所述目标应用系统所需的资源类型为带宽。
在本公开的一种示例性实施例中,为所述目标应用系统匹配具有所述目标性能值以及所述资源类型的目标服务器,包括:
确定空闲资源类型为所述目标应用系统所需的资源类型的目标服务器;
当所述目标服务器包括的所述空闲资源类型的配置不小于所述目标应用系统的目标性能值时,所述目标服务器为与所述目标应用系统对应的服务器。
在本公开的一种示例性实施例中,根据所述目标应用系统的路径信息将所述目标应用系统部署至所述目标服务器,包括:
获取所述目标应用系统的系统信息中所包括的路径信息,以及所述目标服务器的互联网协议地址;
根据所述目标应用系统的路径信息以及所述目标服务器的互联网协议地址,将所述目标应用系统的系统信息复制至所述目标服务器;
通过部署命令将所述目标应用系统部署至所述目标服务器。
上述资源分配装置中各模块的具体细节已经在对应的资源分配方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
在本发明的示例性实施例中,还提供了一种能够实现上述数据转换方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参考图10来描述根据本发明的这种实施方式的电子设备1000。图10显示的电子设备1000仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:上述至少一个处理单元1010、上述至少一个存储单元1020、连接不同系统组件(包括存储单元1020和处理单元1010)的总线1030以及显示单元1040。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1010执行,使得所述处理单元1010执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元1010可以执行如图1中所示的步骤S110:获取目标应用系统的目标性能值,并在确定所述目标性能值在预设时间段内达到预设的资源分配值的概率大于预设阈值时,确定所述目标应用系统所需的资源类型;步骤S120:为所述目标应用系统匹配具有所述目标性能值以及所述资源类型的目标服务器;步骤S130:根据所述目标应用系统的路径信息将所述目标应用系统部署至所述目标服务器,以实现对所述目标应用系统分配服务器资源。
存储单元1020可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)10201和/或高速缓存存储单元10202,还可以进一步包括只读存储单元(ROM)10203。
存储单元1020还可以包括具有一组(至少一个)程序模块10205的程序/实用工具10204,这样的程序模块10205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1030可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备1000也可以与一个或多个外部设备1100(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1000交互的设备通信,和/或与使得该电子设备1000能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1050进行。并且,电子设备1000还可以通过网络适配器1060与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1060通过总线1030与电子设备1000的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本发明实施方式的方法。
在本发明的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
根据本发明的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本发明的其他实施例。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。
Claims (9)
1.一种资源分配方法,其特征在于,包括:
获取目标应用系统的目标性能值,并在确定所述目标性能值在预设时间段内达到预设的资源分配值的概率大于预设阈值时,确定所述目标应用系统所需的资源类型;所述目标应用系统的目标性能值包括请求排队率、中央处理器负载、中央处理器使用率、内存使用率以及带宽使用率中的至少一种;其中,当所述目标性能值为请求排队率时,获取目标应用系统的目标性能值,包括:获取所述目标应用系统的资源使用参数,其中,所述资源使用参数中至少包括目标应用系统的端口号;根据所述目标应用系统的端口号,对与所述端口号对应的目标应用系统的端口进行数据采集,确定所述端口接收的数据包的数量,以及发送的数据包的数量;根据所述端口接收的数据包的数量以及发送的数据包的数量,确定所述目标应用系统的请求排队率;
为所述目标应用系统匹配具有所述目标性能值以及所述资源类型的目标服务器;
根据所述目标应用系统的路径信息将所述目标应用系统部署至所述目标服务器,以实现对所述目标应用系统分配服务器资源。
2.根据权利要求1所述的资源分配方法,其特征在于,获取所述目标应用系统的资源使用参数,包括:
当所述目标应用系统为服务器项目时,基于所述目标应用系统的服务器获取所述目标应用系统的资源使用参数;其中,所述资源使用参数包括:最大线程数、排队请求数以及所述目标应用系统的服务器的端口号;
当所述目标应用系统为分布式项目时,从所述分布式项目的配置文件中获取线程池参数;其中,所述线程池参数包括:初始化的线程池数量、最大的线程池数量以及所述分布式项目的端口号。
3.根据权利要求2所述的资源分配方法,其特征在于,根据所述端口接收的数据包的数量以及发送的数据包的数量,确定所述目标应用系统的请求排队率,包括:
当所述目标应用系统为服务器项目时,获取与所述服务器的端口号对应的端口所接收的数据包的数量以及发送的数据包的数量,根据接收的数据包的数量、发送的数据包的数量以及所述最大线程数,确定所述目标应用系统的请求排队率;
当所述目标应用系统为分布式项目时,获取与所述分布式项目的端口号对应的端口所接收的数据包的数量以及发送的数据包的数量,根据接收的数据包的数量、发送的数据包的数量以及所述初始化的线程池的数量,确定所述目标应用系统的请求排队率。
4.根据权利要求3所述的资源分配方法,其特征在于,确定所述目标应用系统所需的资源类型,包括:
当所述目标应用系统的请求排队率达到预设的资源分配值的概率大于所述预设阈值时,所述目标应用系统所需的资源类型为中央处理器、内存中的至少一个;
当所述目标应用系统的中央处理器负载以及中央处理器使用率达到预设的资源分配值的概率大于所述预设阈值时,所述目标应用系统所需的资源类型为中央处理器;
当所述目标应用系统的内存使用率达到预设的资源分配值的概率大于所述预设阈值时,所述目标应用系统所需的资源类型为内存;
当所述目标应用系统的带宽使用率达到预设的资源分配值的概率大于所述预设阈值时,所述目标应用系统所需的资源类型为带宽。
5.根据权利要求4所述的资源分配方法,其特征在于,为所述目标应用系统匹配具有所述目标性能值以及所述资源类型的目标服务器,包括:
确定空闲资源类型为所述目标应用系统所需的资源类型的目标服务器;
当所述目标服务器包括的所述空闲资源类型的配置不小于所述目标应用系统的目标性能值时,所述目标服务器为与所述目标应用系统对应的服务器。
6.根据权利要求5所述的资源分配方法,其特征在于,根据所述目标应用系统的路径信息将所述目标应用系统部署至所述目标服务器,包括:
获取所述目标应用系统的系统信息中所包括的路径信息,以及所述目标服务器的互联网协议地址;
根据所述目标应用系统的路径信息以及所述目标服务器的互联网协议地址,将所述目标应用系统的系统信息复制至所述目标服务器;
通过部署命令将所述目标应用系统部署至所述目标服务器。
7.一种资源分配装置,其特征在于,包括:
资源分配类型确定模块,用于获取目标应用系统的目标性能值,并在确定所述目标性能值在预设时间段内达到预设的资源分配值的概率大于预设阈值时,确定所述目标应用系统所需的资源类型;所述目标应用系统的目标性能值包括请求排队率、中央处理器负载、中央处理器使用率、内存使用率以及带宽使用率中的至少一种;其中,当所述目标性能值为请求排队率时,获取目标应用系统的目标性能值,包括:获取所述目标应用系统的资源使用参数,其中,所述资源使用参数中至少包括目标应用系统的端口号;根据所述目标应用系统的端口号,对与所述端口号对应的目标应用系统的端口进行数据采集,确定所述端口接收的数据包的数量,以及发送的数据包的数量;根据所述端口接收的数据包的数量以及发送的数据包的数量,确定所述目标应用系统的请求排队率;
目标服务器匹配模块,用于为所述目标应用系统匹配具有所述目标性能值以及所述资源类型的目标服务器;
资源分配模块,用于根据所述目标应用系统的路径信息将所述目标应用系统部署至所述目标服务器,以实现对所述目标应用系统分配服务器资源。
8.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的资源分配方法。
9. 一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-6任一项所述的资源分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110251208.0A CN113821336B (zh) | 2021-03-08 | 2021-03-08 | 资源分配方法和装置、存储介质、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110251208.0A CN113821336B (zh) | 2021-03-08 | 2021-03-08 | 资源分配方法和装置、存储介质、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113821336A CN113821336A (zh) | 2021-12-21 |
CN113821336B true CN113821336B (zh) | 2024-04-05 |
Family
ID=78912399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110251208.0A Active CN113821336B (zh) | 2021-03-08 | 2021-03-08 | 资源分配方法和装置、存储介质、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113821336B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114841648B (zh) * | 2022-05-19 | 2023-05-09 | 北京百度网讯科技有限公司 | 物料分发方法、装置、电子设备和介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017023237A1 (en) * | 2015-07-31 | 2017-02-09 | Hewlett Packard Enterprise Development Lp | Server resource management |
CN109976901A (zh) * | 2017-12-28 | 2019-07-05 | 航天信息股份有限公司 | 一种资源调度方法、装置、服务器及可读存储介质 |
CN110955516A (zh) * | 2019-10-30 | 2020-04-03 | 深圳供电局有限公司 | 批量任务处理方法、装置、计算机设备和存储介质 |
GB202003085D0 (en) * | 2019-08-27 | 2020-04-15 | Hitachi Ltd | Resource configuration change planning system and resource configuration change planning method |
CN111294775A (zh) * | 2020-02-10 | 2020-06-16 | 西安交通大学 | 一种大规模mtc与h2h共存场景中基于h2h动态特性的资源分配方法 |
CN112035228A (zh) * | 2020-08-28 | 2020-12-04 | 光大科技有限公司 | 一种资源调度方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101630749B1 (ko) * | 2011-11-18 | 2016-06-15 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 데이터센터 리소스 할당 |
US9558044B2 (en) * | 2015-03-13 | 2017-01-31 | International Business Machines Corporation | Managing resources of a shared pool of configurable computing resources |
JP6637186B2 (ja) * | 2016-03-04 | 2020-01-29 | グーグル エルエルシー | コンピュータ処理のためのリソース割当て |
-
2021
- 2021-03-08 CN CN202110251208.0A patent/CN113821336B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017023237A1 (en) * | 2015-07-31 | 2017-02-09 | Hewlett Packard Enterprise Development Lp | Server resource management |
CN109976901A (zh) * | 2017-12-28 | 2019-07-05 | 航天信息股份有限公司 | 一种资源调度方法、装置、服务器及可读存储介质 |
GB202003085D0 (en) * | 2019-08-27 | 2020-04-15 | Hitachi Ltd | Resource configuration change planning system and resource configuration change planning method |
CN110955516A (zh) * | 2019-10-30 | 2020-04-03 | 深圳供电局有限公司 | 批量任务处理方法、装置、计算机设备和存储介质 |
CN111294775A (zh) * | 2020-02-10 | 2020-06-16 | 西安交通大学 | 一种大规模mtc与h2h共存场景中基于h2h动态特性的资源分配方法 |
CN112035228A (zh) * | 2020-08-28 | 2020-12-04 | 光大科技有限公司 | 一种资源调度方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于排队论的装甲装备保障维修任务调度研究;杜家兴;陈财森;童继凤;武剑乐;;计算机仿真(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113821336A (zh) | 2021-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
US8595722B2 (en) | Preprovisioning virtual machines based on request frequency and current network configuration | |
US10659410B2 (en) | Smart message delivery based on transaction processing status | |
EP3934206A1 (en) | Scalable control plane for telemetry data collection within a distributed computing system | |
CN108259554A (zh) | 网络实体在监视代理之中的动态分配 | |
CN107635010B (zh) | 流量调度方法、装置、计算机可读存储介质及电子设备 | |
US20140101320A1 (en) | Information processing system, control method, management apparatus and computer-readable recording medium | |
CN113821336B (zh) | 资源分配方法和装置、存储介质、电子设备 | |
CN115766875A (zh) | 边缘算力资源调度方法、装置、系统、电子设备及介质 | |
CN114979286B (zh) | 容器服务的访问控制方法、装置、设备及计算机存储介质 | |
US10917323B2 (en) | System and method for managing a remote office branch office location in a virtualized environment | |
CN114564313A (zh) | 负载调整方法、装置、电子设备及存储介质 | |
US10397071B2 (en) | Automated deployment of cloud-hosted, distributed network monitoring agents | |
CN107426012B (zh) | 一种基于超融合架构的故障恢复方法及其装置 | |
CN110968422A (zh) | 用于集成场景的负载分发 | |
US20210243103A1 (en) | Network system, information acquisition device, information acquisition method, and program | |
US9094321B2 (en) | Energy management for communication network elements | |
CN106453118B (zh) | 一种流量控制方法及流量控制系统 | |
CN113973092B (zh) | 链路资源调度方法、装置、计算设备及计算机存储介质 | |
CN110752994B (zh) | 一种流量分类处理方法、装置、设备及可读存储介质 | |
CN116260747A (zh) | 终端测试设备的监测方法、装置及电子设备 | |
CN113971200A (zh) | 一种云原生平台的地图服务流量录制系统及方法 | |
KR20190077696A (ko) | 클라우드 서비스 제공 시스템, 컴퓨팅 장치, 클라우드 서비스 제공 방법, 상기 방법을 실행하기 위한 프로그램 및 상기 프로그램이 기록된 기록 매체 | |
CN115277506B (zh) | 负载均衡设备测试方法及系统 | |
US11533362B1 (en) | Network interface controller aware placement of virtualized workloads |
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 |