CN116627615A - 一种任务处理方法、装置、电子设备和存储介质 - Google Patents

一种任务处理方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN116627615A
CN116627615A CN202310672487.7A CN202310672487A CN116627615A CN 116627615 A CN116627615 A CN 116627615A CN 202310672487 A CN202310672487 A CN 202310672487A CN 116627615 A CN116627615 A CN 116627615A
Authority
CN
China
Prior art keywords
thread pool
thread
threads
task
pool
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
CN202310672487.7A
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.)
Ping An Bank Co Ltd
Original Assignee
Ping An Bank 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 Ping An Bank Co Ltd filed Critical Ping An Bank Co Ltd
Priority to CN202310672487.7A priority Critical patent/CN116627615A/zh
Publication of CN116627615A publication Critical patent/CN116627615A/zh
Pending legal-status Critical Current

Links

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/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/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
智能语音外呼是人工智能领域重要应用,智能语音外呼通过电话自动给客户打电话,帮助企业降低成本,提高客户满意度。
银行中台系统是银行内部接收名单的系统,为保证外呼名单顺利接收,银行中台系统采用顺序消费的消费序列来接收外呼名单,顺序消费的消费序列可以保证外呼名单顺利接受,也有限流作用,保证当上游出现大量瞬时名单时,银行中台不会被流量洪峰压垮。
顺序消费的消费序列虽然能解决限流问题,但是却降低了银行中台处理任务的速度。
实施例1
本申请实施例提供一种任务处理方法,本申请的方法可应用于服务器中,用于实现任务处理。其中,服务器可以是独立的服务器或者是多个服务器组成的服务器集群来实现,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能采样点设备等基础云计算服务的云服务器。
在一些实施例中,服务器可以是银行中台系统,任务可以是智能语音外呼。
参见图1,本申请实施例提供的方法包括:
S1:判断任务队列是否拥塞,若是,执行S2;
在一些实施例中,任务队列的数据结构是消息队列,是基础数据结构中先进先出的一种数据结构。指把要传输的数据放在队列中,用队列机制来实现消息传递——生产者产生消息并把消息放入队列,然后由消费者去处理。消费者可以到指定队列拉取消息,或者订阅相应的队列,由MQ服务端给其推送消息。示例性地,银行中台为消费者,而业务系统为生产者,业务系统通过业务生成多个外呼任务,外呼任务可以包括:外呼的姓名以及电话号码等,业务系统随后将任务放入消息队列中,银行中台在消息队列中取出任务执行。
在一些实施例中,消息队列这个数据结构具有对应的接口,可以调用对应的接口来判断此时是否队列是否拥塞。
在一些实施例中,可以为消息队列设置对应阈值,当消息队列中的个数达到预先设定的阈值,或者消息队列在预设时间内净增加的任务个数达到预先设定的阈值,则判定此时消息队列拥塞。
S2:创建线程池;
在一些实施例中,S2包括:根据系统容量创建线程池;
也就是说,根据系统容量来决定初始创建的线程池中的可用线程的数量。
在一些实施例中,系统容量包括:CPU的个数,CPU的频率,内存的大小等。
系统容量反映了银行中台所拥有的计算机资源,基于系统容量创建线程池,实现对银行中台的计算机资源的充分利用。
在一些实施例中,可以预先设置默认线程数量,在初次创建线程池时,在线程池中创建默认线程数量的线程。
示例性地,预先设置线程池的总线程数量为96,初始可用线程数量为8,当任务队列拥塞时,创建具有8个线程的线程池。
在一些实施例中,系统容量包括:
S3:调用线程池中的线程处理任务队列中的任务;
在一些实施例中,线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
S4:获取线程池的工作参数;
S5:根据线程池的工作参数调整线程池的可用线程数量。
在一些实施例中,线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲,则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅助线程但线程的数目永远不会超过最大值。超过最大值的线程可以排队,但他们要等到其他线程完成后才启动。
可以理解的是,上述关于线程池的队列并不相当于任务队列,在一些实施例中,银行中台首先按照预设速度或者根据当前线程池的可用线程数量从任务队列中取出任务,将任务添加到线程池的队列中,线程池会启动进程用于处理线程池的队列中的任务。
可以理解的是,当任务队列不拥塞时,不需要创建线程池来处理任务队列中的队列,直接逐个执行任务队列中的队列即可。
在上述实现过程中,当任务队列拥塞时,任务队列中的任务众多,此时充分利用银行中台的计算机资源,创建线程池,线程池中具有多个线程,每个线程可用于处理至少一个任务。同时,获取线程池的工作参数,根据线程池的工作参数调整线程池的线程数量,使银行中台分配出恰当的计算机资源用于处理任务队列中的任务,保证银行中台不被流量洪峰冲垮的同时保证任务处理速度。
在一些实施例中,调用线程池中的线程处理任务队列中的任务,包括:
获取线程池的线程利用率;若线程池的利用率小于第一阈值,调用线程池中的线程处理任务队列中的任务。
在一些实施例中,线程池的线程利用率指的是线程池中当前正在运行中的线程数量和线程池中总的线程数量的商。
这里的线程利用率可以是一段时间内的线程利用率,也可以是某个时刻的线程利用率,本申请对此不做具体限定。
在一些实施例中,调用所处线程池中的线程处理任务队列中的任务指的银行中台系统将任务队列中的任务取出添加到线程池中的队列中,以使线程池本身启动线程来运行线程池本身的队列中的任务。
在上述实现过程中,当线程池的线程利用率小于第一阈值时,说明此时线程池的利用率不过,此时可以将任务队列中的任务取出并调用线程池中的线程进行处理,避免线程池中的线程处于空闲状态,浪费银行中台系统的计算资源。
在一些实施例中,任务在被执行时连接数据库;工作参数包括:数据库的连接数量和线程池的线程利用率;
根据线程池的工作参数调整线程池的可用线程数量,包括:
根据数据库的连接数量和线程利用率调整线程池的可用线程数量。
在一些实施例中,可用线程数量指的是当前线程池中可以用于执行任务的线程的数量。
需要说明的是,线程池中的线程数量通常具有最大值。示例性地,最大数量可以为96。
示例性地,任务队列中的任务包括要外呼的用户的标识信息,线程在处理该任务时,首先,申请CPU的控制权等一系列准备工作之后,之后和数据库建立连接,根据标识信息请求数据库返回该用户的名称、电话号码等,根据该电话号码进行只能语音外呼。数据库的连接数量在一定程度上发反映了当前任务队列中的任务的拥塞程度。
在上述实现过程中,任务在被执行时需要线程和数据库连接,数据库的连接数和线程利用率在一定程度上反映了当前银行中台系统处理的任务数量以及任务进度,因此,本申请实施例提出了根据数据库的连接数量和线程利用率调整线程池的线程数量,可以实现合理利用银行中台系统的计算机资源。
在一些实施例中,根据数据库的连接数量和线程利用率调整线程池的可用线程数量,包括:
若数据库的连接数量在预设时间内未达到第二阈值且线程利用率未达到第三阈值,增加线程池中的可用线程数量。
示例性地,若数据库的连接数量在5分钟内未达到第二阈值且线程利用率未达到100%,增加线程池中的可用线程数量,其中,可用线程数量为2。
在上述实现过程中,若数据库的连接数量在预设时间内未达到第二阈值,且线程池中的线程数量未达到第三阈值,则说明此时银行中台还有充分的资源用于处理任务,并且任务的接收速度稳定,此时可以增加线程池中的可用线程数量,用户提高处理任务的速度。
在一些实施例中,工作参数包括:线程池中的线程的工作状态参数;
若数据库的连接数量在预设时间内未达到第二阈值且线程利用率未达到第三阈值,增加线程池中的可用线程数量,包括:
若数据库的连接数量在预设时间内未达到第二阈值,且线程利用率未达到第三阈值,且工作状态参数为正常,增加线程池中的可用线程数量。
示例性地,若数据库的连接数量在5分钟内未达到第二阈值且线程利用率未达到100%,同时,线程池中的线程没有报告异常状态,增加线程池中的可用线程数量,其中,可用线程数量为2。
在上述实现过程中,若数据库的连接数量在预设时间内未达到第二阈值,且线程池中的线程数量未达到第三阈值,且工作状态参数为正常,则说明此时银行中台还有充分的资源用于处理任务,并且任务的接收速度稳定,此时可以增加线程池中的可用线程数量,用户提高处理任务的速度。
在一些实施例中,线程池具有最高线程容量;工作参数包括:线程池的线程的工作状态参数;
方法还包括:
根据工作状态参数调整线程池的可用线程数量。
在上述实现过程中,线程的工作状态参数直接反映了任务的执行结果,因此,根据工作状态参数调整线程池的可用线程数量可以避免计算机的资源过度浪费。
在一些实施例中,根据工作状态参数调整线程池的可用线程数量,包括:
若工作状态参数为异常,减少线程池的可用线程数量。
在一些实施例中,当线程池中的有一个线程出现工作状态异常时,判定线程池的工作状态参数为异常。
在一些实施例中,当线程池中的累计出现工作状态异常线程超过预设数量时,判定线程池的工作状态参数为异常。
在一些实施例中,在预设时间内当线程池中的累计出现工作状态异常线程超过预设数量时,判定线程池的工作状态参数为异常。
在一些实施例中,在预设时间内当线程池中的累计出现工作状态异常线程的数量站线程池所有线程的比例超过预设比例时,判定线程池的工作状态参数为异常。
示例性地,当连续5分钟系统未达到数据库连接使用阈值及线程池使用率阈值并且没有出现异常,则将可用线程数增加2。如果出现一个线程异常的情况,则将线程池中的可用线程数减半。
在上述实现过程中,如果工作状态参数为异常,此时说明银行中台、任务、或其他原因的不稳定或异常导致了任务执行失败,如果此时继续保持或者增加线程池中的线程池的数量,只会增加任务执行失败的数量,浪费银行中台的计算机资源,因此,减少线程池的可用线程数量。
实施例2
参见图2,本申请实施例提供一种任务处理装置,包括:
判断模块1,用于判断任务队列是否拥塞;
创建模块2,用于在判断模块的判断结果为是时创建线程池;
调用模块3,用于调用线程池中的线程处理任务队列中的任务;
获取模块4,用于获取线程池的工作参数;
调整模块5,用于根据线程池的工作参数调整线程池的可用线程数量。
在上述实现过程中,当任务队列拥塞时,任务队列中的任务众多,此时充分利用银行中台的计算机资源,创建线程池,线程池中具有多个线程,每个线程可用于处理至少一个任务。同时,获取线程池的工作参数,根据线程池的工作参数调整线程池的线程数量,使银行中台分配出恰当的计算机资源用于处理任务队列中的任务,保证银行中台不被流量洪峰冲垮的同时保证任务处理速度。
本申请还提供一种电子设备,请参见图3,图3为本申请实施例提供的一种电子设备的结构框图。电子设备可以包括处理器31、通信接口32、存储器33和至少一个通信总线34。其中,通信总线34用于实现这些组件直接的连接通信。其中,本申请实施例中电子设备的通信接口32用于与其他节点设备进行信令或数据的通信。处理器31可以是一种集成电路芯片,具有信号的处理能力。
上述的处理器31可以是通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器31也可以是任何常规的处理器等。
存储器33可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。存储器33中存储有计算机可读取指令,当计算机可读取指令由处理器31执行时,电子设备可以执行上述方法实施例涉及的各个步骤。
可选地,电子设备还可以包括存储控制器、输入输出单元。
存储器33、存储控制器、处理器31、外设接口、输入输出单元各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线34实现电性连接。处理器31用于执行存储器33中存储的可执行模块,例如电子设备包括的软件功能模块或计算机程序。
输入输出单元用于提供给用户创建任务以及为该任务创建启动可选时段或预设执行时间以实现用户与服务器的交互。输入输出单元可以是,但不限于,鼠标和键盘等。
可以理解,图3所示的结构仅为示意,电子设备还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。图3中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有指令,当指令在计算机上运行时,计算机程序被处理器执行时实现方法实施例的方法,为避免重复,此处不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种任务处理方法,其特征在于,包括:
判断任务队列是否拥塞;
若是,创建线程池;
调用所述线程池中的线程处理所述任务队列中的任务;
获取所述线程池的工作参数;
根据所述线程池的工作参数调整所述线程池的可用线程数量。
2.根据权利要求1所述的任务处理方法,其特征在于,所述调用所述线程池中的线程处理所述任务队列中的任务,包括:
获取所述线程池的线程利用率;
若所述线程池的利用率小于第一阈值,调用所述线程池中的线程处理所述任务队列中的任务。
3.根据权利要求1所述的任务处理方法,其特征在于,所述任务在被执行时连接数据库;所述工作参数包括:数据库的连接数量和所述线程池的线程利用率;
所述根据所述线程池的工作参数调整所述线程池的可用线程数量,包括:
根据数据库的连接数量和所述线程利用率调整所述线程池的可用线程数量。
4.根据权利要求3所述的任务处理方法,其特征在于,所述根据数据库的连接数量和所述线程利用率调整所述线程池的可用线程数量,包括:
若所述数据库的连接数量在预设时间内未达到第二阈值且所述线程利用率未达到第三阈值,增加所述线程池中的可用线程数量。
5.根据权利要求4所述的任务处理方法,其特征在于,所述工作参数包括:所述线程池中的线程的工作状态参数;
所述若所述数据库的连接数量在预设时间内未达到第二阈值且所述线程利用率未达到第三阈值,增加所述线程池中的可用线程数量,包括:
若所述数据库的连接数量在预设时间内未达到第二阈值,且所述线程利用率未达到第三阈值,且所述工作状态参数为正常,增加所述线程池中的可用线程数量。
6.根据权利要求1所述的任务处理方法,其特征在于,所述线程池具有最高线程容量;所述工作参数包括:所述线程池的线程的工作状态参数;
所述方法还包括:
根据所述工作状态参数调整所述线程池的可用线程数量。
7.根据权利要求6所述的任务处理方法,其特征在于,所述根据所述工作状态参数调整所述线程池的可用线程数量,包括:
若所述工作状态参数为异常,减少所述线程池的可用线程数量。
8.一种任务处理装置,其特征在于,
判断模块,用于判断任务队列是否拥塞;
创建模块,用于在所述判断模块的判断结果为是时创建线程池;
调用模块,用于调用所述线程池中的线程处理所述任务队列中的任务;
获取模块,用于获取所述线程池的工作参数;
调整模块,用于根据所述线程池的工作参数调整所述线程池的可用线程数量。
9.一种电子设备,其特征在于,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7任一项所述的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1-7任一项所述的方法。
CN202310672487.7A 2023-06-07 2023-06-07 一种任务处理方法、装置、电子设备和存储介质 Pending CN116627615A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310672487.7A CN116627615A (zh) 2023-06-07 2023-06-07 一种任务处理方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310672487.7A CN116627615A (zh) 2023-06-07 2023-06-07 一种任务处理方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN116627615A true CN116627615A (zh) 2023-08-22

Family

ID=87602487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310672487.7A Pending CN116627615A (zh) 2023-06-07 2023-06-07 一种任务处理方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN116627615A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117215800A (zh) * 2023-11-07 2023-12-12 北京大数据先进技术研究院 一种动态线程控制系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117215800A (zh) * 2023-11-07 2023-12-12 北京大数据先进技术研究院 一种动态线程控制系统

Similar Documents

Publication Publication Date Title
CN106802826B (zh) 一种基于线程池的业务处理方法及装置
CN111459659A (zh) 数据处理方法、装置、调度服务器及介质
CN111258774A (zh) 流程处理方法、装置、计算机设备及存储介质
CN111897633A (zh) 一种任务处理的方法和装置
CN116627615A (zh) 一种任务处理方法、装置、电子设备和存储介质
EP3399413B1 (en) Component logical threads quantity adjustment method and device
CN110515715A (zh) 基于线程池的任务处理方法及装置
CN109558227A (zh) 一种基于任务执行预算的单调速率任务调度方法
CN111090532A (zh) 应用服务的调用方法、其装置、电子设备及计算机存储介质
CN111258741B (zh) 仓库任务执行的方法、分布式服务器集群及计算机设备
CN115525411A (zh) 处理业务请求的方法、装置、电子设备和计算机可读介质
CN116661960A (zh) 一种批量任务处理方法、装置、设备以及存储介质
CN111858040A (zh) 一种资源调度方法和装置
CN114153635A (zh) 消息处理方法、装置、存储介质及计算机设备
GB2607475A (en) Generating a scaling plan for external systems during cloud tenant onboarding/offboarding
CN112948081A (zh) 延时处理任务的方法、装置、设备以及存储介质
CN108494978B (zh) 坐席任务管理方法、装置、计算机设备及存储介质
CN117112121A (zh) 分布式任务处理系统、方法、装置及计算机程序产品
CN114327818A (zh) 一种算法调度方法、装置、设备及可读存储介质
CN109933426B (zh) 服务调用的处理方法、装置、电子设备及可读存储介质
CN107247621B (zh) 批处理任务的调度方法及装置
CN112925623A (zh) 任务处理方法、装置、电子设备和介质
CN111698266A (zh) 服务节点调用方法、装置、设备及可读存储介质
CN111726418B (zh) 云资源的调配方法、装置、终端设备及存储介质
CN103888495A (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