CN112817758A - 一种资源消耗动态控制方法、系统、存储介质及设备 - Google Patents

一种资源消耗动态控制方法、系统、存储介质及设备 Download PDF

Info

Publication number
CN112817758A
CN112817758A CN202110097618.4A CN202110097618A CN112817758A CN 112817758 A CN112817758 A CN 112817758A CN 202110097618 A CN202110097618 A CN 202110097618A CN 112817758 A CN112817758 A CN 112817758A
Authority
CN
China
Prior art keywords
threshold
storage resources
threshold value
threads
consumption
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
CN202110097618.4A
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.)
Shandong Msunhealth Technology Group Co Ltd
Original Assignee
Shandong Msunhealth Technology Group 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 Shandong Msunhealth Technology Group Co Ltd filed Critical Shandong Msunhealth Technology Group Co Ltd
Priority to CN202110097618.4A priority Critical patent/CN112817758A/zh
Publication of CN112817758A publication Critical patent/CN112817758A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

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

一种资源消耗动态控制方法、系统、存储介质及设备
技术领域
本发明属于信息处理技术领域,具体涉及一种资源消耗动态控制方法、系统、存储介质及设备。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
医疗服务信息化是国际发展趋势。随着信息技术的快速发展,国内越来越多的医院正加速实施基于信息化平台等的整体建设,以提高医院的服务水平与核心竞争力。信息化的前提是建立数据仓库,数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程占据最重要的部分。数据抽取时数据量较大,可能多达数百张表,单表数据量可能超过数亿,但医院的服务器资源有限,依托已有服务器资源,最大限度的利用资源并稳定的完成抽取任务变得非常的重要。
目前一种方式是为了提高资源的利用率,不对抽取时服务器资源的占用进行控制,此方式适用于抽取表数据较少,表包含的数据量较少的情况,但总数据量较大时则会出现数据库连接数不足、表空间不足、JVM内存溢出等,导致任务中断,增加任务的耗时,影响最终数据的展示。
另一种方式为确定一个较小的统一的阈值,在数据抽取时,保持资源占用在此阈值之下,前面的任务执行不完,后续的任务则持续等待前面的任务执行完毕后释放相应的有限资源,缺点在于任务执行时间较长,严重影响实施用时,服务器资源没有得到充分利用,造成了资源的浪费。
发明内容
本发明为了解决上述问题,提出了一种资源消耗动态控制方法、系统、存储介质及设备,本发明能够动态调整存储资源,保证各任务的稳定执行。
根据一些实施例,本发明采用如下技术方案:
一种资源消耗动态控制方法,包括以下步骤:
对存储资源设置第一阈值、第二阈值和第三阈值,所述第一阈值大于第二阈值和第三阈值,对存储资源进行监控,当消耗存储资源达到第一阈值时,将正在运行的线程按照时间倒序进行依次暂停,直到消耗存储资源低于第一阈值;
当消耗存储资源小于第二阈值时,调整当前执行线程数量,加入未处理的线程;
监控单个线程存储资源的消耗情况,当某单个线程消耗存储资源大于第三阈值时,对该线程任务进行预警。
作为可选择的实施方式,所述存储资源包括本地存储资源以及外接存储资源。
作为可选择的实施方式,在对存储资源设置阈值时,也对可支持最大线程数进行配置。
作为可选择的实施方式,所述第一阈值根据存储资源消耗历史最大值和消耗平均值进行动态调整。
作为一种实施方式,将第一阈值设为平均值的1.3倍,若此时阈值未超过历史最大值,则将第一阈值设为平均值的1.5倍。
作为可选择的实施方式,当消耗存储资源小于第二阈值时,加入若干未处理的线程,同时保证正在运行的总线程数小于等于可支持最大线程数。
作为可选择的实施方式,监控单个线程存储资源的消耗情况的具体过程包括:对各任务的执行耗时和单表数据的抽取耗时进行记录。
一种资源消耗动态控制系统,包括:
参数配置模块,被配置为对存储资源设置第一阈值、第二阈值和第三阈值,所述第一阈值大于第二阈值和第三阈值;
动态控制模块,被配置为对存储资源进行监控,当消耗存储资源达到第一阈值时,将正在运行的线程按照时间倒序进行依次暂停,直到消耗存储资源低于第一阈值;当消耗存储资源小于第二阈值时,调整当前执行线程数量,加入未处理的线程;监控单个线程存储资源的消耗情况,当某单个线程消耗存储资源大于第三阈值时,对该线程任务进行预警。
一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行所述的一种资源消耗动态控制方法的步骤。
一种终端设备,包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行所述的一种资源消耗动态控制方法的步骤。
与现有技术相比,本发明的有益效果为:
本发明通过到达预警线时的动态控制,避免内存溢出等“崩盘”现象,保证了任务的稳定顺利执行。
本发明能实现现有资源的利用最大化,提高抽取效率,提前发现抽取任务中包含的隐患,避免抽取效率越来越低下。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为本实施例的资源消耗动态控制方法的流程图。
具体实施方式:
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
正如背景技术中所述的,现有技术存在以下问题:
在数据抽取中,会因为随时调度的工作流任务,导致对资源的消耗迅速增加,对资源消耗的动态控制要保证不出现“崩盘”导致的任务执行失败,不能影响其他程序的使用等。
在数据抽取中,要对资源尽可能的最大化利用,提高抽取效率,节省任务时间,对资源消耗的动态控制要合理控制消耗程度,在保证成功抽取的基础上,缩短任务用时,提高对使用人员的友好度。
相同的调度或者相同的表的抽取在不同的时间对资源的占用是不断变化的,一些日志的累积,缓存的累积等可能会引起资源消耗过大,需要进行动态调整。
本实施例提供,如图1所示,一种资源消耗动态控制方法,包括以下步骤:
对当前服务器的JVM内存、可支持最大线程数、及数据库的最大连接数等资源进行监控,在本实施例中,将存储资源最大值的90%设为预警线(即第一阈值),若存在其他程序分用资源时,也可自定义设置此预警值,当达到预警值时,则将正在运行的线程按照时间倒序进行依次暂停,直到资源消耗低于预警,后续线程将在队列中等待。
对资源要动态查询,在资源被释放后或可用资源变大时,在本实施例中,如果消耗存储资源占存储资源最大值的30%(即第二阈值)以上,可以对当前任务进行及时的调整,如调起新的线程。当然,加入的线程数量和已经执行的线程数量之和,不能超过可支持最大线程数。
对各个资源的总消耗进行记录,记录历史最大值,消耗平均值等,以此为依据,更合理的动态设置资源消耗的第一阈值。在本实施例中,将第一阈值设为消耗平均值的1.3倍,若此时阈值未超过历史最大值,则将第一阈值设为消耗平均值的1.5倍。
对各个大任务的执行耗时和单表数据的抽取耗时等进行记录,根据任务执行耗时情况分析发掘对资源消耗较大的任务。在本实施例中,对耗时较长和耗时明显超出同级别其他的任务的大任务要引起实施人员的注意,继而排查是否存在逻辑配置错误、网络不稳定等问题,同时对单表的资源消耗变化进行监控,发现消耗明显高于第三阈值时,发出预警,可推送消息给实施人员,单表线程提前处理,可对当前线程进行暂停处理,由实施人员决定是否增大第三阈值,继续执行线程,避免出现恶性循环,耗尽资源,导致任务失败。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

Claims (10)

1.一种资源消耗动态控制方法,其特征是:包括以下步骤:
对存储资源设置第一阈值、第二阈值和第三阈值,所述第一阈值大于第二阈值和第三阈值,对存储资源进行监控,当消耗存储资源达到第一阈值时,将正在运行的线程按照时间倒序进行依次暂停,直到消耗存储资源低于第一阈值;
当消耗存储资源小于第二阈值时,调整当前执行线程数量,加入未处理的线程;
监控单个线程存储资源的消耗情况,当某单个线程消耗存储资源大于第三阈值时,对该线程任务进行预警。
2.如权利要求1所述的一种资源消耗动态控制方法,其特征是:所述存储资源包括本地存储资源以及外接存储资源。
3.如权利要求1所述的一种资源消耗动态控制方法,其特征是:在对存储资源设置阈值时,也对可支持最大线程数进行配置。
4.如权利要求1所述的一种资源消耗动态控制方法,其特征是:所述第一阈值根据存储资源消耗历史最大值和消耗平均值进行动态调整。
5.如权利要求4所述的一种资源消耗动态控制方法,其特征是:将第一阈值设为平均值的1.3倍,若此时阈值未超过历史最大值,则将第一阈值设为平均值的1.5倍。
6.如权利要求1所述的一种资源消耗动态控制方法,其特征是:当消耗存储资源小于第二阈值时,加入若干未处理的线程,同时保证正在运行的总线程数小于等于可支持最大线程数。
7.如权利要求1所述的一种资源消耗动态控制方法,其特征是:监控单个线程存储资源的消耗情况的具体过程包括:对各任务的执行耗时和单表数据的抽取耗时进行记录。
8.一种资源消耗动态控制系统,其特征是:包括:
参数配置模块,被配置为对存储资源设置第一阈值、第二阈值和第三阈值,所述第一阈值大于第二阈值和第三阈值;
动态控制模块,被配置为对存储资源进行监控,当消耗存储资源达到第一阈值时,将正在运行的线程按照时间倒序进行依次暂停,直到消耗存储资源低于第一阈值;当消耗存储资源小于第二阈值时,调整当前执行线程数量,加入未处理的线程;监控单个线程存储资源的消耗情况,当某单个线程消耗存储资源大于第三阈值时,对该线程任务进行预警。
9.一种计算机可读存储介质,其特征是:其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行权利要求1-7中任一项所述的一种资源消耗动态控制方法的步骤。
10.一种终端设备,其特征是:包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行权利要求1-7中任一项所述的一种资源消耗动态控制方法的步骤。
CN202110097618.4A 2021-01-25 2021-01-25 一种资源消耗动态控制方法、系统、存储介质及设备 Pending CN112817758A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110097618.4A CN112817758A (zh) 2021-01-25 2021-01-25 一种资源消耗动态控制方法、系统、存储介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110097618.4A CN112817758A (zh) 2021-01-25 2021-01-25 一种资源消耗动态控制方法、系统、存储介质及设备

Publications (1)

Publication Number Publication Date
CN112817758A true CN112817758A (zh) 2021-05-18

Family

ID=75859389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110097618.4A Pending CN112817758A (zh) 2021-01-25 2021-01-25 一种资源消耗动态控制方法、系统、存储介质及设备

Country Status (1)

Country Link
CN (1) CN112817758A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114356588A (zh) * 2022-03-18 2022-04-15 苏州云途半导体有限公司 一种数据预加载方法和装置
CN115421931A (zh) * 2022-11-07 2022-12-02 深圳市明源云科技有限公司 业务线程控制方法、装置、电子设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105791985A (zh) * 2014-12-22 2016-07-20 深圳Tcl数字技术有限公司 媒体流数据下载方法及装置
CN105892996A (zh) * 2015-12-14 2016-08-24 乐视网信息技术(北京)股份有限公司 一种批量数据处理的流水线作业方法及装置
US20180276042A1 (en) * 2017-03-22 2018-09-27 Salesforce.Com, Inc. Technologies for identifying thread memory allocation
CN110609743A (zh) * 2018-06-15 2019-12-24 伊姆西Ip控股有限责任公司 用于配置资源的方法、电子设备和计算机程序产品
CN112100017A (zh) * 2019-06-17 2020-12-18 腾讯科技(深圳)有限公司 一种内存资源监控方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105791985A (zh) * 2014-12-22 2016-07-20 深圳Tcl数字技术有限公司 媒体流数据下载方法及装置
CN105892996A (zh) * 2015-12-14 2016-08-24 乐视网信息技术(北京)股份有限公司 一种批量数据处理的流水线作业方法及装置
US20180276042A1 (en) * 2017-03-22 2018-09-27 Salesforce.Com, Inc. Technologies for identifying thread memory allocation
CN110609743A (zh) * 2018-06-15 2019-12-24 伊姆西Ip控股有限责任公司 用于配置资源的方法、电子设备和计算机程序产品
CN112100017A (zh) * 2019-06-17 2020-12-18 腾讯科技(深圳)有限公司 一种内存资源监控方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114356588A (zh) * 2022-03-18 2022-04-15 苏州云途半导体有限公司 一种数据预加载方法和装置
CN114356588B (zh) * 2022-03-18 2022-06-17 苏州云途半导体有限公司 一种数据预加载方法和装置
CN115421931A (zh) * 2022-11-07 2022-12-02 深圳市明源云科技有限公司 业务线程控制方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN107770088B (zh) 一种流量控制方法及装置
WO2017080273A1 (zh) 任务管理方法和系统、计算机存储介质
CN112817758A (zh) 一种资源消耗动态控制方法、系统、存储介质及设备
CN109783157B (zh) 一种算法程序加载的方法及相关装置
US9110745B2 (en) System and method for flow control in a messaging subsystem based on message-in/out rates
US10417062B2 (en) Method and apparatus of unloading out of memory processing flow to user space
KR20130136449A (ko) 데이터-센터 서비스의 제어된 자동 힐링
CN107844187A (zh) 功耗管理方法、装置及电子设备
CN107818012B (zh) 一种数据处理方法、装置及电子设备
US20180329750A1 (en) Resource management method and system, and computer storage medium
WO2023115931A1 (zh) 大数据组件参数调整方法、装置、电子设备及存储介质
CN113688001B (zh) 服务器硬盘功耗动态均衡方法、装置、终端及存储介质
CN106598740A (zh) 一种限制多线程程序占用cpu利用率的系统及限制方法
CN114448989B (zh) 调整消息分发的方法、装置、电子设备、存储介质及产品
CN113032152A (zh) 用于深度学习框架的调度方法、调度装置、电子设备、存储介质和程序产品
CN103744735B (zh) 一种多核资源的调度方法及装置
CN115396377B (zh) 对象存储的服务质量优化方法、装置、设备及存储介质
CN115658311A (zh) 一种资源的调度方法、装置、设备和介质
CN111338803A (zh) 一种线程处理方法和装置
CN114116173A (zh) 动态调整任务分配的方法、装置和系统
CN105094945A (zh) 虚拟化平台线程控制方法、设备和系统
CN113822485B (zh) 一种配电网调度任务优化方法及系统
CN111158896A (zh) 一种分布式进程调度方法及系统
CN111580937A (zh) 一种面向飞腾多核/众核混合集群的虚拟机自动调度方法
CN112395058A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210518