CN118152134A - 资源调整方法、装置、设备、介质及程序产品 - Google Patents

资源调整方法、装置、设备、介质及程序产品 Download PDF

Info

Publication number
CN118152134A
CN118152134A CN202410376486.2A CN202410376486A CN118152134A CN 118152134 A CN118152134 A CN 118152134A CN 202410376486 A CN202410376486 A CN 202410376486A CN 118152134 A CN118152134 A CN 118152134A
Authority
CN
China
Prior art keywords
applications
target application
application
database
memory
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.)
Pending
Application number
CN202410376486.2A
Other languages
English (en)
Inventor
王树亮
李卓
申冠豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Construction Bank Corp
CCB Finetech Co Ltd
Original Assignee
China Construction Bank Corp
CCB Finetech Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Construction Bank Corp, CCB Finetech Co Ltd filed Critical China Construction Bank Corp
Priority to CN202410376486.2A priority Critical patent/CN118152134A/zh
Publication of CN118152134A publication Critical patent/CN118152134A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种资源调整方法、装置、设备、介质及程序产品,属于数据分析领域。资源调整方法包括:获取目标代码平台上运行的多个第一应用的运行状态信息;在多个第一应用占用第一容器的存储资源,且在多个第一应用的总运行内存超过预设的第一容器的第一内存使用阈值的情况下,将多个第一应用中的至少一个第一应用移动至第二容器中,以使多个第一应用的总运行内存小于第一内存使用阈值;在多个第一应用的总运行内存未超过第一内存使用阈值,且在多个第一应用中的第一目标应用的运行内存超过预设的第一目标应用的第二内存使用阈值的情况下,增大第二内存使用阈值,并实时监测第一容器的内存使用情况。能够提高目标代码平台的资源利用率。

Description

资源调整方法、装置、设备、介质及程序产品
技术领域
本申请属于数据分析领域,尤其涉及一种资源调整方法、装置、设备、介质及程序产品。
背景技术
低代码开发平台(low-code development platform,LCDP),是一种方便产生应用程序的平台软件,软件会开发环境让用户以图形化接口以及配置编写程序,而不是用传统的程序设计编码方式。
在较低版本的目标代码平台(如低代码开发平台)中,一个应用需单独配置一套低代码引擎和底座。随着应用规模的增长,资源浪费愈发突出,随即出现了较高版本的目标代码平台。较高版本的目标代码平台中不同应用可以共享一套低代码引擎和底座,相较于较低版本的目标代码平台,较高版本的目标代码平台的资源利用率有了显著提升。但无论是较低版本的目标代码平台还是较高版本的目标代码平台,使用资源方式是固定的,无法根据实时运行状态调整资源方式,导致资源浪费。
因此,目标代码平台使用资源方式存在资源利用率低的问题。
发明内容
本申请实施例提供一种资源调整方法、装置、设备、介质及程序产品,能够提高目标代码平台的资源利用率。
第一方面,本申请实施例提供一种资源调整方法,资源调整方法包括:
获取目标代码平台上运行的多个第一应用的运行状态信息,运行状态信息包括各个第一应用的运行内存;
在多个第一应用占用第一容器的存储资源,且在多个第一应用的总运行内存超过预设的第一容器的第一内存使用阈值的情况下,将多个第一应用中的至少一个第一应用移动至第二容器中,以使多个第一应用的总运行内存小于第一内存使用阈值;
在多个第一应用的总运行内存未超过第一内存使用阈值,且在多个第一应用中的第一目标应用的运行内存超过预设的第一目标应用的第二内存使用阈值的情况下,增大第二内存使用阈值,并实时监测第一容器的内存使用情况。
在本申请的一些实施例中,将多个第一应用中的至少一个第一应用移动至第二容器中,以使多个第一应用的总运行内存小于第一内存使用阈值,包括:
根据各个第一应用的运行内存的大小,将多个第一应用按照运行内存从大到小的顺序进行排序,得到应用排序序列;
根据应用排序序列,从运行内存最小的第一应用开始,逐步将至少一个第一应用移动至第二容器中,直至多个第一应用的总运行内存小于第一内存使用阈值。
在本申请的一些实施例中,运行状态信息还包括各个第一应用访问数据库的平均响应时间;
方法还包括:
在多个第一应用中的第二目标应用占用第一数据库的存储资源,且在第二目标应用访问第一数据库的平均响应时间超过预设的第一响应时间阈值的情况下,判断第二目标应用是否与多个第一应用中除第二目标应用外的其他应用处于同一个数据库中;
在第二目标应用与其他应用处于同一个数据库中的情况下,将第二目标应用和其他应用拆分至不同数据库,使得第二目标应用和其他应用占用不同数据库的存储资源。
在本申请的一些实施例中,方法还包括:
在多个第一应用中的第二目标应用占用第一数据库的存储资源,且在第二目标应用访问第一数据库的平均响应时间未超过预设的第一响应时间阈值的情况下,判断第二目标应用是否与多个第一应用中除第二目标应用外的其他应用处于同一个数据库中;
在第二目标应用与其他应用未处于同一个数据库中的情况下,将第二目标应用和其他应用合并至同一个数据库,使得第二目标应用和其他应用占用同一个数据库的存储资源。
在本申请的一些实施例中,在多个第一应用中的第二目标应用占用第一数据库的存储资源,且在第二目标应用访问第一数据库的平均响应时间超过预设的第一响应时间阈值的情况下,判断第二目标应用是否与多个第一应用中除第二目标应用外的其他应用处于同一个数据库中之前,方法还包括:
在多个第一应用中的第二目标应用占用第一数据库的存储资源,且在第二目标应用访问第一数据库的平均响应时间超过预设的第二响应时间阈值的情况下,判断第二目标应用是否与多个第一应用中除第二目标应用外的其他应用处于同一个数据库的同一个数据表中,第二响应时间阈值小于第一响应时间阈值;
在第二目标应用与多个第一应用中除第二目标应用外的其他应用处于同一个数据库的同一个数据表中的情况下,将第二目标应用和其他应用拆分至不同数据表,使得第二目标应用和其他应用占用同一个数据库的不同数据表的存储资源。
在本申请的一些实施例中,在多个第一应用中的第二目标应用占用第一数据库的存储资源,且在第二目标应用访问第一数据库的平均响应时间未超过预设的第一响应时间阈值的情况下,判断第二目标应用是否与多个第一应用中除第二目标应用外的其他应用处于同一个数据库中之前,方法还包括:
在多个第一应用中的第二目标应用占用第一数据库的存储资源,且在第二目标应用访问第一数据库的平均响应时间未超过预设的第二响应时间阈值的情况下,判断第二目标应用是否与多个第一应用中除第二目标应用外的其他应用处于同一个数据库的同一个数据表中,第二响应时间阈值小于第一响应时间阈值;
在第二目标应用与其他应用未处于同一个数据库的同一个数据表中的情况下,将第二目标应用和其他应用合并至同一个数据表,使得第二目标应用和其他应用占用同一个数据库的同一个数据表的存储资源。
在本申请的一些实施例中,在获取目标代码平台上运行的多个第一应用的运行状态信息之前,方法还包括:
针对多个第一应用中的每个第一应用,统计每个第一应用访问数据库的多个分位耗时;
根据多个分位耗时和多个分位耗时各自对应的权重,计算每个第一应用的平均响应时间。
在本申请的一些实施例中,在获取目标代码平台上运行的多个第一应用的运行状态信息之前,方法还包括:
判断目标代码平台是否开启自适应使用资源设置;
在目标代码平台开启自适应使用资源设置的情况下,获取目标代码平台上运行的多个第一应用的运行状态信息;
在目标代码平台未开启自适应使用资源设置的情况下,按照固定方式使用资源。
第二方面,本申请实施例提供一种资源调整装置,资源调整装置包括:
获取模块,用于获取目标代码平台上运行的多个第一应用的运行状态信息,运行状态信息包括各个第一应用的运行内存;
第一调整模块,用于在多个第一应用占用第一容器的存储资源,且在多个第一应用的总运行内存超过预设的第一容器的第一内存使用阈值的情况下,将多个第一应用中的至少一个第一应用移动至第二容器中,以使多个第一应用的总运行内存小于第一内存使用阈值;
第二调整模块,用于在多个第一应用的总运行内存未超过第一内存使用阈值,且在多个第一应用中的第一目标应用的运行内存超过预设的第一目标应用的第二内存使用阈值的情况下,增大第二内存使用阈值,并实时监测第一容器的内存使用情况。
第三方面,本申请实施例提供一种资源调整设备,设备包括:处理器以及存储有计算机程序指令的存储器;
处理器执行计算机程序指令时实现上述任一实施例的资源调整方法。
第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现上述任一实施例的资源调整方法。
第五方面,本申请实施例提供一种计算机程序产品,计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行上述任一实施例的资源调整方法。
根据本申请实施例提供的资源调整方法、装置、设备、介质及程序产品,可以根据应用的实时运行状态信息和预先设置的资源使用指标,从应用的层面调整资源使用方式,因此能够提高目标代码平台的资源利用率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种资源调整方法的流程示意图;
图2为本申请实施例提供的另一种资源调整方法的流程示意图;
图3为本申请实施例提供的又一种资源调整方法的流程示意图;
图4为资源调整系统的示意图;
图5为本申请实施例提供的资源调整装置的结构示意图;
图6为本申请实施例提供的资源调整设备的结构示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。需要说明的是,在本申请实施例中,可能提及某些软件、组件、模型等业界已有方案,应当将它们认为是示范性的,其目的仅仅是为了说明本申请技术方案实施中的可行性,但并不意味着申请人已经或者必然用到了该方案。
低代码开发平台(low-code development platform,LCDP),是一种方便产生应用程序的平台软件,软件会开发环境让用户以图形化接口以及配置编写程序,而不是用传统的程序设计编码方式。
在较低版本的目标代码平台(如低代码开发平台)中,一个应用需单独配置一套低代码引擎和底座。随着应用规模的增长,资源浪费愈发突出,随即出现了较高版本的目标代码平台。较高版本的目标代码平台中不同应用可以共享一套低代码引擎和底座,相较于较低版本的目标代码平台,较高版本的目标代码平台的资源利用率有了显著提升。但无论是较低版本的目标代码平台还是较高版本的目标代码平台,使用资源方式是固定的,无法根据实时运行状态调整资源方式,导致资源浪费。
因此,目标代码平台使用资源方式存在资源利用率低的问题。
为了解决上述技术问题,本申请实施例提供一种资源调整方法、装置、设备、介质及程序产品,能够提高目标代码平台的资源利用率。
图1为本申请实施例提供的一种资源调整方法的流程示意图;
下面结合图1介绍本申请实施例的资源调整方法,资源调整方法包括:
S110,获取目标代码平台上运行的多个第一应用的运行状态信息,运行状态信息包括各个第一应用的运行内存;
S120,在多个第一应用占用第一容器的存储资源,且在多个第一应用的总运行内存超过预设的第一容器的第一内存使用阈值的情况下,将多个第一应用中的至少一个第一应用移动至第二容器中,以使多个第一应用的总运行内存小于第一内存使用阈值;
S130,在多个第一应用的总运行内存未超过第一内存使用阈值,且在多个第一应用中的第一目标应用的运行内存超过预设的第一目标应用的第二内存使用阈值的情况下,增大第二内存使用阈值,并实时监测第一容器的内存使用情况。
根据本申请实施例提供的资源调整方法,可以根据应用的实时运行状态信息和预先设置的资源使用指标,从应用的层面调整资源使用方式,因此能够提高目标代码平台的资源利用率。
下面详细介绍资源调整方法的各个步骤:
首先,关于S110,
目标代码平台可以为低代码平台,低代码平台从运行方式分为设计态和运行态,本申请主要创新的是运行态。运行态主要包括平台底座、应用运行引擎。其中,平台底座:承载合理独立的公共服务能力,比如权限管理、用户部门管理、流程历史记录等。应用运行引擎:承载个性化应用能力,比如应用模型,每个应用都有不同的模型。
多个第一应用是运行在低代码平台中的单元,也可叫低代码应用。可以从平台底座处获取到多个第一应用的运行状态信息,运行状态信息包括各个第一应用的运行内存。
然后,关于S120,
资源类型传统可以分为硬件和软件。
硬件:计算机基本组成元素,比如存储(内存、磁盘、软盘等);
软件:计算机运行态集合,比如操作系统、数据库服务、中间件等;
本申请中主要讨论应用运行内存。
多个第一应用的总运行内存为usedMem,第一容器的第一内存使用阈值为podMemThreshole,当usedMem>podMemThreshole时,将多个第一应用中的至少一个第一应用移动至第二容器中,以使多个第一应用的总运行内存小于第一内存使用阈值,可以根据应用的实时运行状态信息和预先设置的资源使用指标,调整资源使用方式,因此能够提高目标代码平台的资源利用率。
具体地调整方法可以为:
根据各个第一应用的运行内存的大小,将多个第一应用按照运行内存从大到小的顺序进行排序,得到应用排序序列;
根据应用排序序列,从运行内存最小的第一应用开始,逐步将至少一个第一应用移动至第二容器中,直至多个第一应用的总运行内存小于第一内存使用阈值。
例如,第一容器的总内存为10G,第一容器的第一内存使用阈值为8G,也可以设置内存使用率阈值为80%,多个第一应用为应用A、应用B、应用C、应用D、应用E,运行内存依次为3G、2G、1.8G、1.5G、1G,此时,多个第一应用的总运行内存超过了8G,先将应用E移动至第二容器中,再将应用D移动至第二容器中。
因为运行内存最小的应用所占用的资源更小,因此从运行内存最小的应用开始调整,更加容易,调整效率更高。
最后,关于S130,
第一目标应用的运行内存为appUsedMem,第一目标应用的第二内存使用阈值appMemThreshold。当usedMem≤podMemThreshole,且appUsedMem>appMemThreshold的情况下,增大第二内存使用阈值,并实时监测第一容器的内存使用情况。
例如,podMemThreshole为8G,usedMem为6G,则应用的总运行内存未超过阈值,appMemThreshold为2G,appUsedMem为2.5G,第一目标应用的运行内存超过了自身的内存使用阈值,则增大该应用的内存使用阈值,可以将appMemThreshold调整为3G。
当增大第一目标应用的第二内存使用阈值后,实时监测第一容器的内存使用情况,当第一容器的内存使用超过阈值后,继续按照S120的方式进行资源调整。
图2为本申请实施例提供的另一种资源调整方法的流程示意图;
下面结合图2介绍本申请实施例的资源调整方法。
在本申请的一些实施例中,运行状态信息还包括各个第一应用访问数据库的平均响应时间;
方法还包括:
S210,在多个第一应用中的第二目标应用占用第一数据库的存储资源,且在第二目标应用访问第一数据库的平均响应时间超过预设的第一响应时间阈值的情况下,判断第二目标应用是否与多个第一应用中除第二目标应用外的其他应用处于同一个数据库中;
S220,在第二目标应用与其他应用处于同一个数据库中的情况下,将第二目标应用和其他应用拆分至不同数据库,使得第二目标应用和其他应用占用不同数据库的存储资源。
第一应用访问数据库的平均响应时间根据以下方法得到:
针对多个第一应用中的每个第一应用,统计每个第一应用访问数据库的多个分位耗时;
根据多个分位耗时和多个分位耗时各自对应的权重,计算每个第一应用的平均响应时间。
根据上述方案计算出的平均响应时间更准确,进而可以为后续调整资源使用方式提供更准确的参数。
例如,应用响应时间50分位、75分位、90分位、95分位,不同应用可接受的响应时间不同。
每个应用的分位耗时分别为:
appCostTimePercent50、appCostTimePercent75、appCostTimePercent90、appCostTimePercent95。
第二目标应用访问数据库的平均响应时间为:
appCostTime=a1*appCostTimePercent50+a2*appCostTimePercent75+a3*appCostTimePercent90+a4*appCostTimePercent50。
其中,a1,a2,a3,a4为不同分位的权重,可以根据需要自由调整,a1+a2+a3+a4=1。
第一响应时间阈值appCostTimeThreshold
如果appCostTime>appCostTimeThreshold
如果超过第一响应时间阈值应用处于共库状态,则进行拆分为独库;
如果超过阈值应用处于独库状态,则不进行调整。
如此,当第二目标应用访问数据库的平均响应时间超过第一响应时间阈值,且第二目标应用和其他应用处于共库状态,说明此时数据库压力较大,因此可以将第二目标应用和其他应用拆分至不同数据库,使得第二目标应用和其他应用占用不同数据库的存储资源,以减少数据库的访问压力。
图3为本申请实施例提供的又一种资源调整方法的流程示意图;
结合图3,在本申请的一些实施例中,方法还包括:
S310,在多个第一应用中的第二目标应用占用第一数据库的存储资源,且在第二目标应用访问第一数据库的平均响应时间未超过预设的第一响应时间阈值的情况下,判断第二目标应用是否与多个第一应用中除第二目标应用外的其他应用处于同一个数据库中;
S320,在第二目标应用与其他应用未处于同一个数据库中的情况下,将第二目标应用和其他应用合并至同一个数据库,使得第二目标应用和其他应用占用同一个数据库的存储资源。
具体地,如果appCostTime≤appCostTimeThreshold
如果未超过第一响应时间阈值应用处于独库状态,则进行合并为共库;
如果未超过阈值应用处于共库状态,则不进行调整。
如此,当第二目标应用访问数据库的平均响应时间未超过第一响应时间阈值,且第二目标应用和其他应用处于独库状态,说明此时数据库压力较小,因此可以将第二目标应用和其他应用合并至同一个数据库,使得第二目标应用和其他应用占用同一个数据库的存储资源,以提高资源利用率。
在本申请的一些实施例中,在多个第一应用中的第二目标应用占用第一数据库的存储资源,且在第二目标应用访问第一数据库的平均响应时间超过预设的第一响应时间阈值的情况下,判断第二目标应用是否与多个第一应用中除第二目标应用外的其他应用处于同一个数据库中之前,方法还包括:
在多个第一应用中的第二目标应用占用第一数据库的存储资源,且在第二目标应用访问第一数据库的平均响应时间超过预设的第二响应时间阈值的情况下,判断第二目标应用是否与多个第一应用中除第二目标应用外的其他应用处于同一个数据库的同一个数据表中,第二响应时间阈值小于第一响应时间阈值;
在第二目标应用与多个第一应用中除第二目标应用外的其他应用处于同一个数据库的同一个数据表中的情况下,将第二目标应用和其他应用拆分至不同数据表,使得第二目标应用和其他应用占用同一个数据库的不同数据表的存储资源。
具体地,当数据库存在一定访问压力,但是压力较小时,先进行应用是否共表的判断,在多个应用共表的情况下,拆分为独表,从而减轻数据库的压力,当压力进一步增大时,再进行应用是否共库的判断,在多个应用共库的情况下,再拆分为独库。如此,逐步拆分,可以逐步减轻数据库的压力,提高资源利用率。
在本申请的一些实施例中,在多个第一应用中的第二目标应用占用第一数据库的存储资源,且在第二目标应用访问第一数据库的平均响应时间未超过预设的第一响应时间阈值的情况下,判断第二目标应用是否与多个第一应用中除第二目标应用外的其他应用处于同一个数据库中之前,方法还包括:
在多个第一应用中的第二目标应用占用第一数据库的存储资源,且在第二目标应用访问第一数据库的平均响应时间未超过预设的第二响应时间阈值的情况下,判断第二目标应用是否与多个第一应用中除第二目标应用外的其他应用处于同一个数据库的同一个数据表中,第二响应时间阈值小于第一响应时间阈值;
在第二目标应用与其他应用未处于同一个数据库的同一个数据表中的情况下,将第二目标应用和其他应用合并至同一个数据表,使得第二目标应用和其他应用占用同一个数据库的同一个数据表的存储资源。
具体地,当数据库的压力下降后,在多个应用未处于共表状态的情况下,则合并为独表,当数据库的压力进一步降低后,在多个应用未处于共库状态的情况下,再合并为独库,如此,逐步合并,可以逐步提高资源利用率。
在本申请的一些实施例中,在获取目标代码平台上运行的多个第一应用的运行状态信息之前,方法还包括:
判断目标代码平台是否开启自适应使用资源设置;
在目标代码平台开启自适应使用资源设置的情况下,获取目标代码平台上运行的多个第一应用的运行状态信息;
在目标代码平台未开启自适应使用资源设置的情况下,按照固定方式使用资源。
如此,在目标代码平台开启自适应使用资源设置的情况下,才采用上述方法进行实时的资源调整,而在目标代码平台未开启自适应使用资源设置的情况下,仍然按照固定方式使用资源,便于用户根据使用需求进行设置,可以提高用户使用体验。
图4为资源调整系统的示意图;
结合图4,上述任意一个实施例的资源调整方法可以应用于资源调整系统,具体地,资源调整系统包括低代码平台410和决策引擎420,其中低代码平台包括平台底座模块411、前端引擎模块412以及应用引擎模块413,应用引擎模块包括容器、数据库等,决策引擎420包括信息采集模块421、指标计算模块422、决策结果模块423、容器调整模块424以及数据库调整模块425。当进行资源调整时,信息采集模块421从平台底座模块411获取应用运行状态信息,经过指标计算模块422的计算后,将计算结果发送给决策结果模块423,决策结果模块423将容器相关的结果发送给容器调整模块424进行资源调整,将数据库相关的结果发送给数据库调整模块425进行资源调整,容器调整模块424和数据库调整模块425通过前端引擎模块412进行相应资源的调整,前端引擎模块412将调整结果发送给平台底座模块411,由平台底座模块411调整应用引擎模块413进而完成资源调整。
图5为本申请实施例提供的资源调整装置的结构示意图;
下面结合图5介绍本申请实施例的资源调整装置,资源调整装置包括:
获取模块501,用于获取目标代码平台上运行的多个第一应用的运行状态信息,运行状态信息包括各个第一应用的运行内存;
第一调整模块502,用于在多个第一应用占用第一容器的存储资源,且在多个第一应用的总运行内存超过预设的第一容器的第一内存使用阈值的情况下,将多个第一应用中的至少一个第一应用移动至第二容器中,以使多个第一应用的总运行内存小于第一内存使用阈值;
第二调整模块503,用于在多个第一应用的总运行内存未超过第一内存使用阈值,且在多个第一应用中的第一目标应用的运行内存超过预设的第一目标应用的第二内存使用阈值的情况下,增大第二内存使用阈值,并实时监测第一容器的内存使用情况。
在本申请的一些实施例中,第一调整模块502具体用于:根据各个第一应用的运行内存的大小,将多个第一应用按照运行内存从大到小的顺序进行排序,得到应用排序序列;
根据应用排序序列,从运行内存最小的第一应用开始,逐步将至少一个第一应用移动至第二容器中,直至多个第一应用的总运行内存小于第一内存使用阈值。
在本申请的一些实施例中,运行状态信息还包括各个第一应用访问数据库的平均响应时间;
资源调整装置还包括:
第一判断模块,用于在多个第一应用中的第二目标应用占用第一数据库的存储资源,且在第二目标应用访问第一数据库的平均响应时间超过预设的第一响应时间阈值的情况下,判断第二目标应用是否与多个第一应用中除第二目标应用外的其他应用处于同一个数据库中;
第三调整模块,用于在第二目标应用与其他应用处于同一个数据库中的情况下,将第二目标应用和其他应用拆分至不同数据库,使得第二目标应用和其他应用占用不同数据库的存储资源。
在本申请的一些实施例中,第一判断模块,还用于在多个第一应用中的第二目标应用占用第一数据库的存储资源,且在第二目标应用访问第一数据库的平均响应时间未超过预设的第一响应时间阈值的情况下,判断第二目标应用是否与多个第一应用中除第二目标应用外的其他应用处于同一个数据库中;
第三调整模块,还用于在第二目标应用与其他应用未处于同一个数据库中的情况下,将第二目标应用和其他应用合并至同一个数据库,使得第二目标应用和其他应用占用同一个数据库的存储资源。
在本申请的一些实施例中,第一判断模块,还用于在多个第一应用中的第二目标应用占用第一数据库的存储资源,且在第二目标应用访问第一数据库的平均响应时间超过预设的第一响应时间阈值的情况下,判断第二目标应用是否与多个第一应用中除第二目标应用外的其他应用处于同一个数据库中之前,在多个第一应用中的第二目标应用占用第一数据库的存储资源,且在第二目标应用访问第一数据库的平均响应时间超过预设的第二响应时间阈值的情况下,判断第二目标应用是否与多个第一应用中除第二目标应用外的其他应用处于同一个数据库的同一个数据表中,第二响应时间阈值小于第一响应时间阈值;
第三调整模块,还用于在第二目标应用与多个第一应用中除第二目标应用外的其他应用处于同一个数据库的同一个数据表中的情况下,将第二目标应用和其他应用拆分至不同数据表,使得第二目标应用和其他应用占用同一个数据库的不同数据表的存储资源。
在本申请的一些实施例中,第一判断模块,还用于在多个第一应用中的第二目标应用占用第一数据库的存储资源,且在第二目标应用访问第一数据库的平均响应时间未超过预设的第一响应时间阈值的情况下,判断第二目标应用是否与多个第一应用中除第二目标应用外的其他应用处于同一个数据库中之前,在多个第一应用中的第二目标应用占用第一数据库的存储资源,且在第二目标应用访问第一数据库的平均响应时间未超过预设的第二响应时间阈值的情况下,判断第二目标应用是否与多个第一应用中除第二目标应用外的其他应用处于同一个数据库的同一个数据表中,第二响应时间阈值小于第一响应时间阈值;
第三调整模块,还用于在第二目标应用与其他应用未处于同一个数据库的同一个数据表中的情况下,将第二目标应用和其他应用合并至同一个数据表,使得第二目标应用和其他应用占用同一个数据库的同一个数据表的存储资源。
在本申请的一些实施例中,资源调整装置还包括:
统计模块,用于在获取目标代码平台上运行的多个第一应用的运行状态信息之前,针对多个第一应用中的每个第一应用,统计每个第一应用访问数据库的多个分位耗时;
计算模块,用于根据多个分位耗时和多个分位耗时各自对应的权重,计算每个第一应用的平均响应时间。
在本申请的一些实施例中,资源调整装置还包括:
第二判断模块,用于在获取目标代码平台上运行的多个第一应用的运行状态信息之前,判断目标代码平台是否开启自适应使用资源设置;
获取模块,具体用于在目标代码平台开启自适应使用资源设置的情况下,获取目标代码平台上运行的多个第一应用的运行状态信息;
使用模块,用于在目标代码平台未开启自适应使用资源设置的情况下,按照固定方式使用资源。
根据本申请实施例提供的资源调整方法,可以根据应用的实时运行状态信息和预先设置的资源使用指标,调整资源使用方式,因此能够提高目标代码平台的资源利用率。
图6为本申请实施例提供的资源调整设备的结构示意图;
资源调整设备可以包括处理器601以及存储有计算机程序指令的存储器602。
具体地,上述处理器601可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器602可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器602可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器602可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器602可在综合网关容灾设备的内部或外部。在特定实施例中,存储器602是非易失性固态存储器。
存储器可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本公开的一方面的方法所描述的操作。
处理器601通过读取并执行存储器602中存储的计算机程序指令,以实现上述实施例中的资源调整方法。
在一个示例中,资源调整设备还可包括通信接口603和总线610。其中,如图6所示,处理器601、存储器602、通信接口603通过总线610连接并完成相互间的通信。
通信接口603,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线610包括硬件、软件或两者,将资源调整设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线610可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该资源调整设备执行本申请实施例中的资源调整方法,从而实现图1、图2以及图3的资源调整方法。
另外,结合上述实施例中的资源调整方法,本申请实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种资源调整方法。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。

Claims (12)

1.一种资源调整方法,其特征在于,所述方法包括:
获取目标代码平台上运行的多个第一应用的运行状态信息,所述运行状态信息包括各个所述第一应用的运行内存;
在所述多个第一应用占用第一容器的存储资源,且在所述多个第一应用的总运行内存超过预设的所述第一容器的第一内存使用阈值的情况下,将所述多个第一应用中的至少一个第一应用移动至第二容器中,以使所述多个第一应用的总运行内存小于所述第一内存使用阈值;
在所述多个第一应用的总运行内存未超过所述第一内存使用阈值,且在所述多个第一应用中的第一目标应用的运行内存超过预设的所述第一目标应用的第二内存使用阈值的情况下,增大所述第二内存使用阈值,并实时监测所述第一容器的内存使用情况。
2.根据权利要求1所述的方法,其特征在于,所述将所述多个第一应用中的至少一个第一应用移动至第二容器中,以使所述多个第一应用的总运行内存小于所述第一内存使用阈值,包括:
根据各个第一应用的运行内存的大小,将所述多个第一应用按照运行内存从大到小的顺序进行排序,得到应用排序序列;
根据所述应用排序序列,从运行内存最小的第一应用开始,逐步将至少一个第一应用移动至所述第二容器中,直至所述多个第一应用的总运行内存小于所述第一内存使用阈值。
3.根据权利要求1所述的方法,其特征在于,所述运行状态信息还包括各个所述第一应用访问数据库的平均响应时间;
所述方法还包括:
在所述多个第一应用中的第二目标应用占用第一数据库的存储资源,且在所述第二目标应用访问所述第一数据库的平均响应时间超过预设的第一响应时间阈值的情况下,判断所述第二目标应用是否与所述多个第一应用中除所述第二目标应用外的其他应用处于同一个数据库中;
在所述第二目标应用与所述其他应用处于同一个数据库中的情况下,将所述第二目标应用和所述其他应用拆分至不同数据库,使得所述第二目标应用和所述其他应用占用不同数据库的存储资源。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述多个第一应用中的第二目标应用占用第一数据库的存储资源,且在所述第二目标应用访问所述第一数据库的平均响应时间未超过预设的第一响应时间阈值的情况下,判断所述第二目标应用是否与所述多个第一应用中除所述第二目标应用外的其他应用处于同一个数据库中;
在所述第二目标应用与所述其他应用未处于同一个数据库中的情况下,将所述第二目标应用和所述其他应用合并至同一个数据库,使得所述第二目标应用和所述其他应用占用同一个数据库的存储资源。
5.根据权利要求3所述的方法,其特征在于,在所述多个第一应用中的第二目标应用占用第一数据库的存储资源,且在所述第二目标应用访问所述第一数据库的平均响应时间超过预设的第一响应时间阈值的情况下,判断所述第二目标应用是否与所述多个第一应用中除所述第二目标应用外的其他应用处于同一个数据库中之前,所述方法还包括:
在所述多个第一应用中的第二目标应用占用第一数据库的存储资源,且在所述第二目标应用访问所述第一数据库的平均响应时间超过预设的第二响应时间阈值的情况下,判断所述第二目标应用是否与所述多个第一应用中除所述第二目标应用外的其他应用处于同一个数据库的同一个数据表中,所述第二响应时间阈值小于所述第一响应时间阈值;
在所述第二目标应用与所述多个第一应用中除所述第二目标应用外的其他应用处于同一个数据库的同一个数据表中的情况下,将所述第二目标应用和所述其他应用拆分至不同数据表,使得所述第二目标应用和所述其他应用占用同一个数据库的不同数据表的存储资源。
6.根据权利要求4所述的方法,其特征在于,在所述多个第一应用中的第二目标应用占用第一数据库的存储资源,且在所述第二目标应用访问所述第一数据库的平均响应时间未超过预设的第一响应时间阈值的情况下,判断所述第二目标应用是否与所述多个第一应用中除所述第二目标应用外的其他应用处于同一个数据库中之前,所述方法还包括:
在所述多个第一应用中的第二目标应用占用第一数据库的存储资源,且在所述第二目标应用访问所述第一数据库的平均响应时间未超过预设的第二响应时间阈值的情况下,判断所述第二目标应用是否与所述多个第一应用中除所述第二目标应用外的其他应用处于同一个数据库的同一个数据表中,所述第二响应时间阈值小于所述第一响应时间阈值;
在所述第二目标应用与所述其他应用未处于同一个数据库的同一个数据表中的情况下,将所述第二目标应用和所述其他应用合并至同一个数据表,使得所述第二目标应用和所述其他应用占用同一个数据库的同一个数据表的存储资源。
7.根据权利要求3至6任意一项所述的方法,其特征在于,在所述获取目标代码平台上运行的多个第一应用的运行状态信息之前,所述方法还包括:
针对所述多个第一应用中的每个第一应用,统计所述每个第一应用访问数据库的多个分位耗时;
根据所述多个分位耗时和所述多个分位耗时各自对应的权重,计算每个第一应用的平均响应时间。
8.根据权利要求1至6任意一项所述的方法,其特征在于,在所述获取目标代码平台上运行的多个第一应用的运行状态信息之前,所述方法还包括:
判断所述目标代码平台是否开启自适应使用资源设置;
在所述目标代码平台开启自适应使用资源设置的情况下,获取所述目标代码平台上运行的多个第一应用的运行状态信息;
在所述目标代码平台未开启自适应使用资源设置的情况下,按照固定方式使用资源。
9.一种资源调整装置,其特征在于,所述装置包括:
获取模块,用于获取目标代码平台上运行的多个第一应用的运行状态信息,所述运行状态信息包括各个所述第一应用的运行内存;
第一调整模块,用于在所述多个第一应用占用第一容器的存储资源,且在所述多个第一应用的总运行内存超过预设的所述第一容器的第一内存使用阈值的情况下,将所述多个第一应用中的至少一个第一应用移动至第二容器中,以使所述多个第一应用的总运行内存小于所述第一内存使用阈值;
第二调整模块,用于在所述多个第一应用的总运行内存未超过所述第一内存使用阈值,且在所述多个第一应用中的第一目标应用的运行内存超过预设的所述第一目标应用的第二内存使用阈值的情况下,增大所述第二内存使用阈值,并实时监测所述第一容器的内存使用情况。
10.一种资源调整设备,其特征在于,所述资源调整设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-8中任意一项所述的资源调整方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-8中任意一项所述的资源调整方法。
12.一种计算机程序产品,其特征在于,所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如权利要求1-8中任意一项所述的资源调整方法。
CN202410376486.2A 2024-03-29 2024-03-29 资源调整方法、装置、设备、介质及程序产品 Pending CN118152134A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410376486.2A CN118152134A (zh) 2024-03-29 2024-03-29 资源调整方法、装置、设备、介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410376486.2A CN118152134A (zh) 2024-03-29 2024-03-29 资源调整方法、装置、设备、介质及程序产品

Publications (1)

Publication Number Publication Date
CN118152134A true CN118152134A (zh) 2024-06-07

Family

ID=91292858

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410376486.2A Pending CN118152134A (zh) 2024-03-29 2024-03-29 资源调整方法、装置、设备、介质及程序产品

Country Status (1)

Country Link
CN (1) CN118152134A (zh)

Similar Documents

Publication Publication Date Title
CN112101543A (zh) 神经网络模型确定方法、装置、电子设备及可读存储介质
CN104424555A (zh) 用于发布/订阅系统中的控制方法及设备
CN111064719A (zh) 文件异常下载行为的检测方法及装置
CN110599004A (zh) 一种风险控制方法、设备、介质以及装置
CN111831630B (zh) 数据处理方法、装置、电子设备和计算机可读存储介质
CN111159009B (zh) 一种日志服务系统的压力测试方法及装置
CN115567448A (zh) 流量控制方法、装置、设备、介质及程序产品
CN118152134A (zh) 资源调整方法、装置、设备、介质及程序产品
CN113434436B (zh) 测试用例的生成方法、装置、电子设备及存储介质
CN113806070B (zh) 边缘计算和云计算的数据管理方法和装置
CN115936522A (zh) 一种车辆停靠站点的评估方法、装置、设备以及存储介质
CN113449008B (zh) 一种建模方法及装置
CN113688929B (zh) 预测模型确定方法、装置、电子设备及计算机存储介质
CN116701803A (zh) 页面转化率确定方法、装置、设备及计算机存储介质
CN117216113A (zh) 用户的确定方法、装置、设备及计算机存储介质
CN116775110A (zh) 数据同步方法、装置、设备、介质及产品
CN117785625A (zh) 服务器性能预测方法、装置、设备及存储介质
CN116781621A (zh) 交易限流方法、装置、设备及计算机存储介质
CN116414897A (zh) 数据库管理方法、装置、设备、介质及程序产品
CN116781726A (zh) 一种信息同步方法、装置、电子设备及存储介质
CN115563033A (zh) 缓存数据处理方法和装置、电子设备及存储介质
CN115878873A (zh) 异常用户的特征确定方法、装置、设备及存储介质
CN116560882A (zh) 故障根因定位方法、装置、设备及计算机存储介质
CN116976333A (zh) 文档量化方法、装置、设备及计算机存储介质
CN118174882A (zh) 车辆控制方法、装置、设备、介质及车辆

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination