CN114860408A - 线程池资源管理方法及装置 - Google Patents

线程池资源管理方法及装置 Download PDF

Info

Publication number
CN114860408A
CN114860408A CN202210540533.3A CN202210540533A CN114860408A CN 114860408 A CN114860408 A CN 114860408A CN 202210540533 A CN202210540533 A CN 202210540533A CN 114860408 A CN114860408 A CN 114860408A
Authority
CN
China
Prior art keywords
task
processed
thread pool
processing
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.)
Pending
Application number
CN202210540533.3A
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.)
Bank of China Ltd
Original Assignee
Bank of China 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 Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN202210540533.3A priority Critical patent/CN114860408A/zh
Publication of CN114860408A publication Critical patent/CN114860408A/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms

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是本发明一实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意排序。
关于本文中所使用的“第一”、“第二”、……等,并非特别指称次序或顺位的意思,亦非用以限定本发明,其仅为了区别以相同技术用语描述的元件或操作。
关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。
关于本文中所使用的“及/或”,包括所述事物的任一或全部排序。
本发明实施例提供的线程池资源管理方法的执行主体包括但不限于计算机。
本发明一实施例提供的一种线程池资源管理方法,通过动态进行资源分配,提升系统整体处理性能。
图1是本发明一实施例提供的线程池资源管理方法,如图1所示,本发明实施例提供的线程池资源管理方法,包括:
S101、定时获取目标消息队列中待处理的任务的数量;
本步骤,待处理的任务进入目标消息队列等待处理,可设置消息队列监控模块对所述目标消息队列进行监控,作为配置资源的依据;具体的,可设置定时任务,通过定时监控目标消息队列的长度,获得待处理的任务的数量。
S102、根据所述待处理的任务的数量,配置目标线程池中线程的数量;
本步骤,线程池是一种多线程处理形式,处理过程中将任务添加到消息队列,然后在创建线程后自动启动这些任务。多线程是指从软件或者硬件上实现多个线程并发执行的技术。在一个程序中,每个独立运行的程序片段叫做线程,利用它编程的概念就叫作多线程处理。
可根据实时获取的目标消息队列中的任务数量,配置合理的线程池大小,使应用同时具备负载均衡和高可用性的特性,提升整体处理性能。
S103、利用所述目标线程池中的线程处理所述目标消息队列中的待处理任务。
本步骤,利用步骤S102中配置的线程,处理所述目标消息队列中的待处理任务。
本发明实施例提供的线程池资源管理方法,通过定时获取目标消息队列中待处理的任务的数量;根据所述待处理的任务的数量,配置目标线程池中线程的数量;利用所述目标线程池中的线程处理所述目标消息队列中的待处理任务。这样,根据目标消息队列中的任务数量,动态配置合理的线程池大小(即线程数量),使应用同时具备负载均衡和高可用性的特性,提升整体处理性能。
可选的,所述根据所述待处理的任务的数量,配置目标线程池中线程的数量包括:若所述待处理的任务的数量与目标线程池当前的线程数量所对应任务数量之间的偏差大于目标值时,重新配置所述目标线程池中线程的数量。
本实施例,因为消息队列中的任务不是线性增长或减少的,因此在匹配线程数量时,并不建议进行如图2所示的线性调整。本实例通过数学建模的方法,建立动态调整模型,该动态调整模型中记录了线程数量与任务数量之间的映射关系,该映射关系表明在该任务数量时,采用该映射关系中记载的数量的线程能够达到较好的负载均衡效果;当目标线程池中当前数量的线程所对应的任务数量与目前待处理的任务数量出现较大的偏差时,例如高于所述目标值时,对目标线程池的大小进行对应的调整,以达到较好的负载均衡效果。
所述目标值的设置主要解决以下问题:如果待处理的任务数量波动,线程数频繁调整容易造成系统性能过载;将待处理的任务数量与目标线程池中当前线程数量放入动态匹配模型进行检验,当匹配度在合理范围内时,系统不做调整。当匹配度出现较大偏差时,比如已经高于2个偏差时,系统会测算当前任务数量与线程数量加1后是否匹配,如果匹配,记录当前线程数量的调整,如果仍存在偏差,继续与下一个线程数进行匹配。多线程处理机制由JAVA的公共机制实现,通过监控系统和动态匹配模型,得到推算合理的线程大小,以应对当前数量的待处理任务。
如图3所示,可选的,所述利用所述目标线程池中的线程处理所述目标消息队列中的待处理任务包括:
S1031、查询待处理的任务的信息是否存在于在途任务表中,其中,所述在途任务表中保存有正在处理的任务的信息;
本步骤,通过在途任务表防止任务被多次处理。一个任务在被处理前,先查询在途任务表中是否已经存在该任务的信息,如果存在,则线程终止;如果不存在,则将该任务的信息插入在途任务表。
可选的,所述在途任务表中保存有正在处理的任务的标识、处理该任务的线程的标识以及该任务开始处理的时间。表1是本发明一实例提供的在途任务表。
表1:
Figure BDA0003648048150000051
Figure BDA0003648048150000061
在表1中,ID字段代表正在处理的任务的流水号,作为任务的唯一标识,不允许重复,数据类型为INTEGER。JOB_ID字段代表处理该任务的线程的序号,是用来识别线程的标识。JOB_NAME与JOB_ID一一对应,代表该线程的名字,便于开发人员或者维护人员识别当前线程。CRT_DATE是该条数据插表的时间,时间格式为时间戳格式,时间精度更高,更便于精确防重。该表还可添加其他辅助类字段,但对于防止任务冲突这个场景,关键字段已具备。
比如任务流水号为12345的任务被线程A处理,第一步操作就是插入该表,锁定任务。因为此刻任务还未被进行其他处理,线程B如果空余时,仍可以轮询到该任务,当任务流水号为12345的任务被线程B处理,第一步仍然是插入该表,但是由于该表设置任务流水号的唯一性,导致插入数据库失败,任务不会被线程B重复处理。
S1032、若所述待处理的任务的信息不在所述在途任务表中,则将所述待处理的任务的信息插入所述在途任务表中、并利用所述目标线程池中的线程处理所述待处理的任务。
本步骤,如上所述,若所述待处理的任务的信息不在所述在途任务表中,则说明该任务尚未被其他线程锁定,此时可将该任务的信息插入所述在途任务表中,对该任务进行锁定,并利用所述目标线程池中的线程处理该任务。解决了一笔任务可能被多个线程同时处理的问题。
可选的,所述方法还包括:在利用所述目标线程池中的线程对所述待处理的任务处理结束之后,删除所述在途任务表中所述任务的信息、并同时将所述任务的信息插入历史任务表中。
本实施例,当任务被线程处理结束后,最后一步操作,是删除在途任务表中该任务的信息,同时将该任务的信息插入备份到历史任务表。为便于后续数据统计或者查询问题,可以在历史任务表中增加与在途任务表中相同或类似的数据,用于记录系统运行期间各个任务的处理情况。例如所述历史任务表中保存有已处理的任务的标识、处理该任务的线程的标识、该任务开始处理的时间以及该任务处理结束的时间。表2是本发明一实例提供的历史任务表。
表2:
Name Type Comments
ID INTEGER 任务流水号
JOB_ID VARchar2(50) 线程序号
JOB_NAME VARchar2(50) 线程名称
CRT_DATE TIMESTAMP(6) 任务开始处理时间
MODE_DATE TIMESTAMP(6) 任务处理结束时间
表2中MOD_DATE表示任务处理结束时间,可将该条任务的信息插入历史任务表的时间认定为该任务的处理结束时间;CRT_DATE表示该任务开始处理时间,可将该条任务的信息插入在途任务表的时间认定为该任务的开始处理时间,表2中的其他字段的描述同上述在途任务表。
下面以网上银行交易为例对本发明提供的线程池资源管理方法的应用场景进行描述:
网银端完成客户交易的初步校验,将交易发往银行核心系统进行账务处理,而待发往核心处理的交易即为消息队列里的待处理任务,通过建立网银系统的定时监控机制,监控时间为每10秒查询一次待处理交易数目。同时,网银端有一套多线程的交易自动处理机制,当轮询到有交易处于待发银行核心系统处理的状态时,该自动处理系统就会处理该笔交易,封装信息,将信息通过socket方式发送给外部银行核心系统。该自动处理系统日常会设定个标准的线程大小,比如30,当工作日上午交易高峰时,由于积累的待处理交易量大,因此需要增大线程池,而何时增大线程数目,增大到多少个线程,则由动态匹配模型进行调整。
图4是本发明一实施例提出的一种线程池资源管理装置的结构示意图,如图4所示,本发明实施例提出的一种线程池资源管理装置,包括:
获取模块21,用于定时获取目标消息队列中待处理的任务的数量;
配置模块22,用于根据所述待处理的任务的数量,配置目标线程池中线程的数量;
任务处理模块23,用于利用所述目标线程池中的线程处理所述目标消息队列中的待处理任务。
本发明实施例提供的线程池资源管理装置,通过定时获取目标消息队列中待处理的任务的数量;根据所述待处理的任务的数量,配置目标线程池中线程的数量;利用所述目标线程池中的线程处理所述目标消息队列中的待处理任务。这样,根据目标消息队列中的任务数量,动态配置合理的线程池大小(即线程数量),使应用同时具备负载均衡和高可用性的特性,提升整体处理性能。
可选的,所述配置模块具体用于:若所述待处理的任务的数量与目标线程池当前的线程数量所对应任务数量之间的偏差大于目标值时,重新配置所述目标线程池中线程的数量。
如图5所示,可选的,所述任务处理模块23包括:
查询单元231,用于查询待处理的任务的信息是否存在于在途任务表中,其中,所述在途任务表中保存有正在处理的任务的信息;
插入模块232,用于若所述待处理的任务的信息不在所述在途任务表中,则将所述待处理的任务的信息插入所述在途任务表中、并利用所述目标线程池中的线程处理所述待处理的任务。
如图6所示,可选的,所述装置还包括:
信息处理模块24,用于在利用所述目标线程池中的线程对所述待处理的任务处理结束之后,删除所述在途任务表中所述任务的信息、并同时将所述任务的信息插入历史任务表中。
可选的,所述在途任务表中保存有正在处理的任务的标识、处理该任务的线程的标识以及该任务开始处理的时间;所述历史任务表中保存有已处理的任务的标识、处理该任务的线程的标识、该任务开始处理的时间以及该任务处理结束的时间。
本发明实施例提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述各方法实施例的详细描述。
需要说明的是,本发明实施例提供的线程池资源管理方法及装置可用于金融领域,也可用于除金融领域之外的任意技术领域,本发明实施例对线程池资源管理方法及装置的应用领域不做限定。
图7为本发明一实施例提供的电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)301、通信接口(Communications Interface)302、存储器(memory)303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信。处理器301可以调用存储器303中的逻辑指令,以执行上述任一实施例所述的方法,例如包括:定时获取目标消息队列中待处理的任务的数量;根据所述待处理的任务的数量,配置目标线程池中线程的数量;利用所述目标线程池中的线程处理所述目标消息队列中的待处理任务。
此外,上述的存储器303中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:定时获取目标消息队列中待处理的任务的数量;根据所述待处理的任务的数量,配置目标线程池中线程的数量;利用所述目标线程池中的线程处理所述目标消息队列中的待处理任务。
本实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述各方法实施例所提供的方法,例如包括:定时获取目标消息队列中待处理的任务的数量;根据所述待处理的任务的数量,配置目标线程池中线程的数量;利用所述目标线程池中的线程处理所述目标消息队列中的待处理任务。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (13)

1.一种线程池资源管理方法,其特征在于,包括:
定时获取目标消息队列中待处理的任务的数量;
根据所述待处理的任务的数量,配置目标线程池中线程的数量;
利用所述目标线程池中的线程处理所述目标消息队列中的待处理任务。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待处理的任务的数量,配置目标线程池中线程的数量包括:
若所述待处理的任务的数量与目标线程池当前的线程数量所对应任务数量之间的偏差大于目标值时,重新配置所述目标线程池中线程的数量。
3.根据权利要求1或2所述的方法,其特征在于,所述利用所述目标线程池中的线程处理所述目标消息队列中的待处理任务包括:
查询待处理的任务的信息是否存在于在途任务表中,其中,所述在途任务表中保存有正在处理的任务的信息;
若所述待处理的任务的信息不在所述在途任务表中,则将所述待处理的任务的信息插入所述在途任务表中、并利用所述目标线程池中的线程处理所述待处理的任务。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在利用所述目标线程池中的线程对所述待处理的任务处理结束之后,删除所述在途任务表中所述任务的信息、并同时将所述任务的信息插入历史任务表中。
5.根据权利要求4所述的方法,其特征在于,所述在途任务表中保存有正在处理的任务的标识、处理该任务的线程的标识以及该任务开始处理的时间;
所述历史任务表中保存有已处理的任务的标识、处理该任务的线程的标识、该任务开始处理的时间以及该任务处理结束的时间。
6.一种线程池资源管理装置,其特征在于,包括:
获取模块,用于定时获取目标消息队列中待处理的任务的数量;
配置模块,用于根据所述待处理的任务的数量,配置目标线程池中线程的数量;
任务处理模块,用于利用所述目标线程池中的线程处理所述目标消息队列中的待处理任务。
7.根据权利要求6所述的装置,其特征在于,所述配置模块具体用于:
若所述待处理的任务的数量与目标线程池当前的线程数量所对应任务数量之间的偏差大于目标值时,重新配置所述目标线程池中线程的数量。
8.根据权利要求6或7所述的装置,其特征在于,所述任务处理模块包括:
查询单元,用于查询待处理的任务的信息是否存在于在途任务表中,其中,所述在途任务表中保存有正在处理的任务的信息;
插入模块,用于若所述待处理的任务的信息不在所述在途任务表中,则将所述待处理的任务的信息插入所述在途任务表中、并利用所述目标线程池中的线程处理所述待处理的任务。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
信息处理模块,用于在利用所述目标线程池中的线程对所述待处理的任务处理结束之后,删除所述在途任务表中所述任务的信息、并同时将所述任务的信息插入历史任务表中。
10.根据权利要求9所述的装置,其特征在于,所述在途任务表中保存有正在处理的任务的标识、处理该任务的线程的标识以及该任务开始处理的时间;
所述历史任务表中保存有已处理的任务的标识、处理该任务的线程的标识、该任务开始处理的时间以及该任务处理结束的时间。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至5任一所述的方法。
13.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至5任一所述的方法。
CN202210540533.3A 2022-05-17 2022-05-17 线程池资源管理方法及装置 Pending CN114860408A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210540533.3A CN114860408A (zh) 2022-05-17 2022-05-17 线程池资源管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210540533.3A CN114860408A (zh) 2022-05-17 2022-05-17 线程池资源管理方法及装置

Publications (1)

Publication Number Publication Date
CN114860408A true CN114860408A (zh) 2022-08-05

Family

ID=82638673

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210540533.3A Pending CN114860408A (zh) 2022-05-17 2022-05-17 线程池资源管理方法及装置

Country Status (1)

Country Link
CN (1) CN114860408A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115658716A (zh) * 2022-12-26 2023-01-31 北京滴普科技有限公司 面向olap分析数据库的物化视图定时刷新方法、设备及介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115658716A (zh) * 2022-12-26 2023-01-31 北京滴普科技有限公司 面向olap分析数据库的物化视图定时刷新方法、设备及介质

Similar Documents

Publication Publication Date Title
CN111506398B (zh) 任务调度方法和装置、存储介质、电子装置
CN111858055B (zh) 任务处理方法、服务器及存储介质
CN110445828B (zh) 一种基于Redis的数据分布式处理方法及其相关设备
CN111290917A (zh) 基于yarn的资源监控方法、装置及终端设备
CN110599148B (zh) 集群数据处理方法、装置、计算机集群及可读存储介质
CN103810045A (zh) 资源分配方法、资源管理器、资源服务器及系统
EP3018581B1 (en) Data staging management system
CN112579692B (zh) 一种数据同步方法、装置、系统、设备及存储介质
CN109542600B (zh) 分布式任务调度系统及方法
CN112699098A (zh) 一种索引数据迁移方法、装置及设备
CN112860387A (zh) 分布式任务调度方法、装置、计算机设备及存储介质
CN114860408A (zh) 线程池资源管理方法及装置
CN111784318A (zh) 数据处理方法、装置、电子设备及存储介质
CN113342863A (zh) 业务单据处理方法、装置、计算机设备和存储介质
US9652766B1 (en) Managing data stored in memory locations having size limitations
CN115421920A (zh) 金融产品的任务管理方法及装置、电子设备、存储介质
CN110363515B (zh) 权益卡账户信息查询方法、系统、服务器及可读存储介质
CN112860292A (zh) 一种基于应用的配置管理方法及装置
CN116547660A (zh) 使用全局时间戳的分布式数据库事务的方法和装置
CN113608891A (zh) 分布式批处理系统、方法、计算机设备和存储介质
CN113312412A (zh) 一种统计数据的获取方法、装置、电子设备及存储介质
CN112100186A (zh) 基于分布式系统的数据处理方法、装置、计算机设备
CN114090264A (zh) 一种云服务资源控制的方法、设备及计算机程序产品
CN113360452A (zh) 分布式文件生成方法及装置
CN117194002A (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