CN110569123B - 线程分配方法、装置、计算机设备和存储介质 - Google Patents

线程分配方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN110569123B
CN110569123B CN201910701316.6A CN201910701316A CN110569123B CN 110569123 B CN110569123 B CN 110569123B CN 201910701316 A CN201910701316 A CN 201910701316A CN 110569123 B CN110569123 B CN 110569123B
Authority
CN
China
Prior art keywords
thread
task
target
processing
cache
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
Application number
CN201910701316.6A
Other languages
English (en)
Other versions
CN110569123A (zh
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.)
Jiangsu Suning Cloud Computing Co ltd
SuningCom Co ltd
Original Assignee
Suning Cloud Computing 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 Suning Cloud Computing Co Ltd filed Critical Suning Cloud Computing Co Ltd
Priority to CN201910701316.6A priority Critical patent/CN110569123B/zh
Publication of CN110569123A publication Critical patent/CN110569123A/zh
Application granted granted Critical
Publication of CN110569123B publication Critical patent/CN110569123B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5013Request control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请涉及一种线程分配方法、装置、计算机设备和存储介质。所述方法包括:获取目标任务的线程阈值,所述线程阈值为处理所述目标任务对应的任务数据的最大线程数量;获取处理缓存队列中任务数据的线程的数量值,所述缓存队列用于存储所述目标任务的任务处理请求调用的任务数据;根据所述线程阈值以及所述数量值,控制对所述缓存队列的线程分配。上述方法能够降低使用同一线程池的多个任务在任务处理过程的互相干扰。

Description

线程分配方法、装置、计算机设备和存储介质
技术领域
本申请涉及互联网技术领域,特别是涉及一种线程分配方法、装置、计算机设备和存储介质。
背景技术
通过启用线程池中的多线程来处理任务,是目前常用的一种提高系统任务处理效率的方案。合理利用线程池的线程,除了提高系统处理任务的响应效率以外,还可以通过重复利用已创建的线程来降低线程创建和销毁过程中所带来的系统资源消费。通过对线程池线程的利用管理,一方面可以确保线程不会无限制创建,另一方面可以对线程进行统一的调度和监控。
线程池中线程共享和队列按照FIFO(First Input First Output,先进先出)的原则处理数据,然而这种处理方式容易使得不同任务之间产生相互影响。如图1所示,图1为线程池结构图。图2为基于图1的任务启用线程过程的流程简图。线程池中的线程和队列都是所有任务共享的。因此,线程池中采用图2所示的处理方式,同时采用多线程处理多个任务时,容易造成任务处理之间的相互干扰。例如:任务A处理时间长,并发量大时会长期占用线程池的线程资源,从而导致其它任务因无可用线程无法正常处理。对于这种现象,解决的方式一般为按任务业务逻辑对系统输入/输出接口与和中央处理器资源的损耗以及业务的重要程度创建多个线程池的方式,将多个任务分到不同线程池。一定程度上,该方式降低了任务间的相互影响,但实际上不可能针对所有的任务给与每个任务一个线程池,因此该方式还是无法从实际上解决任务之间使用线程池线程导致的互相干扰。
发明内容
基于此,有必要针对上述技术问题,提供一种基于任务处理的线程分配方法、装置、计算机设备和存储介质,以降低使用同一个线程池的多个任务在任务处理过程相互干扰。
一种基于任务处理的线程分配方法,所述方法包括:
获取目标任务的线程阈值,所述线程阈值为处理所述目标任务对应的任务数据的最大线程数量;
获取处理缓存队列中任务数据的线程的数量值,所述缓存队列用于存储所述目标任务的任务处理请求调用的任务数据;
根据所述线程阈值以及所述数量值,控制对所述缓存队列的线程分配。
在其中一个实施例中,所述目标任务为多个,所述获取目标任务的线程阈值,包括:获取各所述目标任务的线程阈值;所述获取处理缓存队列中任务数据的线程的数量值,包括:获取处理各所述目标任务的缓存队列中任务数据的线程的数量值;
所述根据所述线程阈值以及所述数量值,控制对所述缓存队列的线程分配,包括:
根据各所述目标任务的线程阈值以及各所述目标任务的缓存队列对应的线程的数量值,分别控制对各所述目标任务的缓存队列的线程分配。
在其中一个实施例中,所述方法还包括:
在第一预设时间段内,多个所述目标任务中任一目标任务的缓存队列的任务数据大于预设任务数据量时,提高所述任一目标任务对应的线程阈值,并降低多个所述目标任务中其他目标任务对应的线程阈值。
在其中一个实施例中,所述根据所述线程阈值以及所述数量值,控制对所述缓存队列的线程分配,包括:
当所述数量值小于所述线程阈值时,向所述缓存队列分配线程;
当所述数量值等于所述线程阈值时,停止向所述缓存队列分配线程。
在其中一个实施例中,所述当所述数量值等于所述线程阈值时,停止向所述缓存队列分配线程之后,还包括:
当确定处理所述缓存队列中任务数据的任一线程结束任务处理操作时,释放所述任一线程,并向所述缓存队列分配线程。
在其中一个实施例中,所述方法还包括:
接收所述目标任务的任务处理请求;
当所述缓存队列未达到预设最大缓存值时,将所述任务处理请求调用的任务数据缓存进所述缓存队列;
当所述缓存队列达到预设最大缓存值时,返回提醒信息。
在其中一个实施例中,所述方法还包括:
在第二预设时间段内,提醒信息的返回次数大于预设次数时,提高所述最大预设缓存值。
一种基于任务处理的线程分配装置,所述装置包括:
第一获取模块,用于获取目标任务的线程阈值,所述线程阈值为处理所述目标任务对应的任务数据的最大线程数量;
第二获取模块,用于获取处理缓存队列中任务数据的线程的数量值,所述缓存队列用于存储所述目标任务的任务处理请求调用的任务数据;
控制模块,用于根据所述线程阈值以及所述数量值,控制对所述缓存队列的线程分配。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求上述任一实施例所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的方法的步骤。
上述基于任务处理的线程分配方法、装置、计算机设备和存储介质,对处理目标任务的任务处理请求调用的任务数据的线程在数量上进行控制,预先设置线程阈值。在对目标任务对应的线程数量进行控制时,获取目标任务的线程阈值以及获取处理该目标任务对应的缓存队列中任务数据的线程的数量值,通过线程阈值以及处理该目标任务对应的缓存队列中任务数据的线程的数量值,对分配给处理该目标任务的缓存队列的任务数据的线程进行控制。因此,通过对线程池中线程资源的分配,可避免服务器在处理目标任务的任务数据时,调度过多的线程进行数据处理而导致影响其他任务的处理进度,降低使用同一线程池的多个任务在任务处理过程的互相干扰。
附图说明
图1为一个实施例线程池的结构简图;
图2为一个实施例中任务启用线程过程的流程简图;
图3为一个实施例中一种基于任务处理的线程分配方法的应用环境示意图;
图4为一个实施例中一种基于任务处理的线程分配方法的流程示意图;
图5为另一个实施例中一种基于任务处理的线程分配方法的流程示意图;
图6为又一个实施例中一种基于任务处理的线程分配方法的部分流程示意图;
图7为一个具体实施方式中一种基于任务处理的线程分配方法的流程示意图;
图8为一个实施例中一种基于任务处理的线程分配装置的结构框图;
图9为另一个实施例中一种基于任务处理的线程分配装置的部分结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的基于任务处理的线程分配方法,可以应用于如图3所示的应用环境中。终端通过网络300与服务器200通信。终端可以是一个或者多个。如图3所示,终端可以包括个人计算机120、笔记本电脑110、智能手机130、平板电脑和便携式可穿戴设备等,服务器200可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本申请中,终端通过网络300向服务器200发送任务处理请求,服务器200接收到终端发送的任务处理请求之后,通过本申请的基于任务处理的线程分配方法对该任务处理请求进行线程分配,利用分配的线程处理该任务处理请求,并将处理结果通过网络300反馈到终端。
在一个实施例中,如图4所示,提供了一种基于任务处理的线程分配方法,以该方法应用于图3中的服务器200为例进行说明,包括以下步骤:
S100,获取目标任务的线程阈值,线程阈值为处理目标任务对应的任务数据的最大线程数量。
在本实施例中,对于处理目标任务对应的任务数据的线程数量,服务器设置有预分配的线程阈值。也即是,服务器控制线程池中处理目标任务的任务数据的线程的数量值不超过该预分配的线程阈值。该预分配的线程阈值为服务器根据目标任务的任务类型设置,并且该预分配的线程阈值可动态调整。
S200,获取处理缓存队列中任务数据的线程的数量值,缓存队列用于存储目标任务的任务处理请求调用的任务数据。
在本实施例中,服务器对不同的任务以及对应的任务数据分别做了队列缓存。目标任务对应有缓存队列,用于存储该目标任务的任务处理请求所需调用的任务数据。当服务器接收到终端发送的目标任务的任务处理请求时,将该任务处理请求对应的调用对象,也即是对应的任务数据,存储到目标任务的缓存队列中。此外,对应于目标任务的缓存队列,服务器从线程池中获取对应的线程以处理该缓存队列的任务数据。处理该缓存队列的任务数据的线程可以是一条或多条。
S300,根据线程阈值以及数量值,控制对缓存队列的线程分配。
在本实施例中,服务器对目标任务进行线程分配,以通过线程对目标任务的缓存队列中的任务数据进行处理时,根据获取到的目标任务对应的线程阈值,以及当前处理目标任务的缓存队列中任务数据的线程的数量值,控制对目标任务的缓存队列的线程分配,以使处理目标任务对应的缓存队列中任务数据的线程的数量值不超过该目标任务对应的线程阈值。
在一实施方式中,步骤S300,包括:
当数量值小于线程阈值时,向缓存队列分配线程;
当数量值等于线程阈值时,停止向缓存队列分配线程。
具体地,根据目标任务的线程阈值以及处理目标任务的缓存队列中任务数据的数量值,控制对缓存队列的线程分配的方式为:当检测到处理目标任务的缓存队列中任务数据的线程的数量值小于该目标任务的线程阈值时,服务器继续向该目标任务的缓存队列分配线程,利用该分配的线程对目标任务的缓存队列的任务数据进行任务数据处理。同时,在服务器不断向目标任务的缓存队列分配线程时,目标任务的缓存队列的线程数量逐渐增加。当检测到处理目标任务的缓存队列中任务数据的线程的数量值等于该目标任务的线程阈值时,停止向该目标任务的缓存队列分配线程的操作。因此,分配到目标任务的缓存队列的线程的数量值不会超过服务器预先设定的线程阈值,从而可避免服务器在处理目标任务的任务数据时,调度过多的线程进行数据处理而导致影响其他任务的处理进度,降低使用同一线程池的多个任务之间任务处理过程的互相干扰。
进一步地,当数量值等于线程阈值时,停止向缓存队列分配线程之后,还包括:当确定处理缓存队列中任务数据的任一线程结束任务处理操作时,释放任一线程,并向缓存队列分配线程。
具体地,服务器使用线程处理目标任务的缓存队列中任务数据,当任一线程结束任务处理操作时,服务器释放该线程。此时,处理目标任务的缓存队列中任务数据的线程数量减少,该线程数量小于目标任务的线程阈值,服务器向该目标任务的缓存队列继续分配线程,从而使得处理目标任务的缓存队列的线程数量达到线程阈值,加快目标任务的处理进度。
在一实施例中,步骤S200,包括:通过设置计数器计数的方式获取处理缓存队列中任务数据的线程的数量值。具体地,服务器设置计数器,用于对处理目标任务的缓存队列中任务数据的线程进行计数,统计处理目标任务的缓存队列中任务数据的线程的数量。
进一步地,当服务器向目标任务的缓存队列分配一条线程时,控制计数器的计数值加1。也即是,服务器确认从线程池中调度一个线程,并采用该调度的线程对缓存队列中任务数据进行处理之后,控制计数器的计数值加1。依次类推,当计数器的计数值达到预分配的线程阈值时,则说明处理缓存队列中任务数据的线程数量达到上限,此时不再调度线程以处理缓存队列中的任务数据。
进一步地,控制计数器的计数值加1之后,还包括:确定处理缓存队列中任务数据的任一线程结束任务处理操作时,控制计数器的计数值减1。具体地,服务器对处理缓存队列中的任务数据进行监控。当确定处理缓存队列中任务数据的任一线程结束任务处理操作时,释放该任一线程,同时控制计数器的计数值减1。依次类推,当计数器的计数值未达到预分配的线程阈值时,又从线程池中调度线程,采用调度的线程处理缓存队列中的任务数据。
上述基于任务处理的线程分配方法,对处理目标任务的任务处理请求调用的任务数据的线程在数量上进行控制,预先设置线程阈值。在对目标任务对应的线程数量进行控制时,获取目标任务的线程阈值以及获取处理该目标任务对应的缓存队列中任务数据的线程的数量值,通过线程阈值以及处理该目标任务对应的缓存队列中任务数据的线程的数量值,对分配给处理该目标任务的缓存队列的任务数据的线程进行控制。因此,通过对线程池中线程资源的分配,可避免服务器在处理目标任务的任务数据时,调度过多的线程进行数据处理而导致影响其他任务的处理进度,降低使用同一线程池的多个任务的任务处理过程的互相干扰。
在一实施例中,目标任务为多个。此时,如图5所示,
步骤S100,包括步骤:
S110:获取各目标任务的线程阈值。
步骤S200,包括步骤:
S210:获取处理各目标任务的缓存队列中任务数据的线程的数量值。
步骤S300,包括步骤:
S310:根据各目标任务的线程阈值以及各目标任务的缓存队列对应的线程的数量值,分别控制对各目标任务的缓存队列的线程分配。
在该实施例中,目标任务为多个。各个目标任务对应有缓存队列,各个缓存队列对应有处理该缓存队列中任务数据的线程。服务器对各个目标任务预先设置有线程阈值,各个目标任务的线程阈值可以相同也可以不相同。服务器在对各个目标任务的缓存队列进行线程分配时,根据各个目标任务的线程阈值以及处理各个目标任务的缓存队列中任务数据的线程数量,分别控制对各个目标任务的缓存队列的线程分配。
进一步地,在该实施例中,该基于任务处理的线程分配方法还包括:在第一预设时间段内,多个目标任务中任一目标任务的缓存队列的任务数据大于预设任务数据量时,提高任一目标任务对应的线程阈值,并降低多个目标任务中其他目标任务对应的线程阈值。
具体地,服务器对多个目标任务中各个目标任务的缓存队列中任务数据的数据量进行监控。当检测到在第一预设时间段内,多个目标任务中任一目标任务的缓存队列的任务数据大于预设任务数据量时,提高该任一目标任务对应的线程阈值,并降低其他目标任务对应的线程阈值。此处,各个目标任务对应有预设任务数据量,各个目标任务对应的预设任务数据量可以相同或者而不同。因此,通过该方式,服务器对各个目标任务的线程阈值进行动态调整,提高多个目标任务的整体处理进度。
在一实施例中,如图6所示,该基于任务处理的线程分配方法,还包括以下步骤:
S400,接收目标任务的任务处理请求。
S500,当缓存队列未达到预设最大缓存值时,将任务处理请求调用的任务数据缓存进缓存队列。
S600,当缓存队列达到预设最大缓存值时,返回提醒信息。
在该实施例中,服务器在接收到目标任务的任务处理请求时,获取该任务处理请求需要调用到的任务数据。此处的任务数据指的是,服务器响应该任务处理请求时使用到的任务数据。进一步地,判断该目标任务对应的缓存队列是否达到最大缓存值。当目标任务的缓存队列未达到预设最大缓存值时,将获取到的任务数据缓存进缓存队列中,以便通过线程处理该任务数据。在一实施方式中,目标任务的缓存队列为服务器分配的只用于存储目标任务的任务处理请求调用的任务数据的安全队列。因此,服务器将存储任务数据的队列进行对应分配,可更好地降低使用同一线程池的多个任务之间的互相干扰。
当目标任务的缓存队列达到预设最大缓存值时,缓存队列无法再缓存任务数据,此时返回提醒信息,以提示该缓存队列无法再缓存任务数据,并且不再进行后续操作。其中提醒信息可以是错误提醒的信息。具体地,可以是返回该缓存队列的长度值,以提示操作出现错误。
进一步地,该基于任务处理的线程分配方法,还包括:在第二预设时间段内,提醒信息的返回次数大于预设次数时,提高最大预设缓存值。
具体地,服务器对目标任务的缓存队列中缓存的任务数据的数据量进行监控。当在第二预设时间段内,提醒信息的返回次数大于预设次数时,提高最大预设缓存值,从而使得服务器对目标任务的任务数据的缓存量增大,提高后续目标任务的处理进度。
为了进一步详述上述基于任务处理的线程分配方法,以下提供一具体实施方式:
本申请的基于任务处理的线程分配方法适用的业务场景:针对启用线程池进行多线程并发处理任务的场景。例如:业务系统中处理订单、处理主数据接口服务数据、销售报表的异步下载等场景中,都需要通过线程池启用多线程进行处理。通过本申请的基于任务处理的线程分配方法,可以通过灵活的配置调整3个功能之间对有限线程的分配,既能满足核心功能的处理时效,又可以避免其余功能无线程可用,始终处于阻塞的状态影响用户体验问题。
具体地,将启用线程的方法进行抽象类封装,使用起线程的方法实现该抽象类。该抽象类提供两个成员变量,线程安全的队列和计数器。计数器用于控制该抽象类的线程个数,队列用于处理数据的二级缓存,将超出最大线程数的起线程任务暂存到队列中。同时该抽象类提供统一的调用方法,只需要抽象类实现excute的方法即可。
具体的实施过程,如图7的流程简图所示。基于在启用多线程进行处理前,不同的任务分别做了队列缓存,以及设计线程计数来进行资源分配和控制,具体如下:
1、提供抽象类DataTaskQueue<T>。
包含ConcurrentLinkedQueue<T>,AtomicInteger类成员变量;
ConcurrentLinkedQueue:任务数据的缓存队列;
AtomicInteger:任务数据启用线程的计数器;
成员方法:
addData(T map,TaskExecutor threadPool TaskExecutor,intmaxQueueDeep,int maxThreads)的方法,其中
##map待处理数据;
##threadPoolTaskExecutor线程池;
##maxQueueDeep最大深度,达到最大深度返回false(错误);
##maxThreads最大线程数;
abstract void execute(T data)待实现的处理不同任务逻辑的抽象方法。
##data为待处理数据。
2、任务A实现该抽象类的execute方法。
3、通过调用任务A的实现类的addData方法进行多线程处理。其中,maxQueueDeep为缓存队列的最大深度,maxThreads为最大线程数并支持动态传入。首先判断缓存队列的深度是否达到最大深度,若达到最大深度则返回错误提醒,代表已达到设置的上限。同时,可以根据服务器的实际情况调整最大深度。如果缓存队列的深度还没达到最大深度,则进一步判断线程的计数器是否达到最大线程数。线程的计数器达到最大线程数则任务数据在缓存队列中等待,没有达到最大线程数则计数器+1后,调用线程池线程,采用该线程循环处理缓存队列中的任务数据,直到队列长度为0,则计数器-1,结束。
以下举例说明:
业务B1,业务B2和业务B3共用一个线程池Tpool。线程池Tpool的核心线程数50,最大线程数50。其中业务B1的缓存队列的最大深度的深度值B1-maxQueueDeep=200,最大线程数的数量值B1-maxThreads=10。业务B2的缓存队列的最大深度的深度值B2-maxQueueDeep=300,最大线程数的数量值B2-maxThreads=20。此外,业务B3的缓存队列的最大深度的深度值B3-maxQueueDeep=500,最大线程数的数量值B3-maxThreads=20。每个业务的缓存队列的最大深度和最大线程数都可以动态传入。
业务B1启用线程,服务器判断出业务B1的ConcurrentLinkedQueue的缓存队列的深度>B1-maxQueueDeep,此时已达处理能力上限,返回异常,否则将业务B1的任务数据加到缓存队列中。接着判断出业务B1的计数器的数值AtomicInteger>B1-maxThreads时,服务器不再获取线程池Tpool的线程以进行数据处理。反之,服务器获取线程池Tpool的线程对业务B1进行数据处理,之后AtomicInteger+1,循环查询业务B1的缓存队列数据进行数据处理,直至处理完,AtomicInteger-1。
如果业务B1的业务数据有积压,可以调整B1-maxQueueDeep=300。同时可以将业务B2和业务B3分配的线程数按实际场景缩减,将业务B2和业务B3的缩减的线程分配给业务B1,此时B1-maxThreads=20,因此可加快业务B1的处理速度。
因此,上述具体实施方式中的基于任务处理的线程分配方法,针对同一个线程池中任务处理之间出现因共享资源相互影响的情况,通过对每个任务占用线程数进行动态调整,达到对线程资源的有效分配,既能兼顾重要任务的优先处理的情况下,也能平衡任务之间的相互影响。
应该理解的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种基于任务处理的线程分配装置,包括:第一获取模块10、第二获取模块20和控制模块30,其中:
获取模块10用于获取目标任务的线程阈值,线程阈值为处理目标任务对应的任务数据的最大线程数量。
在本实施例中,对于处理目标任务对应的任务数据的线程数量,服务器设置有预分配的线程阈值。也即是,服务器控制线程池中处理目标任务的任务数据的线程的数量值不超过该预分配的线程阈值。该预分配的线程阈值为服务器根据目标任务的任务类型设置,并且该预分配的线程阈值可动态调整。
第二获取模块20用于获取处理缓存队列中任务数据的线程的数量值,缓存队列用于存储目标任务的任务处理请求调用的任务数据。
在本实施例中,服务器对不同的任务以及对应的任务数据分别做了队列缓存。目标任务对应有缓存队列,用于存储该目标任务的任务处理请求所需调用的任务数据。当服务器接收到终端发送的目标任务的任务处理请求时,将该任务处理请求对应的调用对象,也即是对应的任务数据,存储到目标任务的缓存队列中。此外,对应于目标任务的缓存队列,服务器从线程池中获取对应的线程以处理该缓存队列的任务数据。处理该缓存队列的任务数据的线程可以是一条或多条。
控制模块30用于根据线程阈值以及数量值,控制对缓存队列的线程分配。
在本实施例中,服务器对目标任务进行线程分配,以通过线程对目标任务的缓存队列中的任务数据进行处理时,根据获取到的目标任务对应的线程阈值,以及当前处理目标任务的缓存队列中任务数据的线程的数量值,控制对目标任务的缓存队列的线程分配,以使处理目标任务对应的缓存队列中任务数据的线程的数量值不超过该目标任务对应的线程阈值。
在一实施例中,控制模块30还用于当数量值小于线程阈值时,向缓存队列分配线程;当数量值等于线程阈值时,停止向缓存队列分配线程。
具体地,根据目标任务的线程阈值以及处理目标任务的缓存队列中任务数据的数量值,控制对缓存队列的线程分配的方式为:当检测到处理目标任务的缓存队列中任务数据的线程的数量值小于该目标任务的线程阈值时,服务器继续向该目标任务的缓存队列分配线程,利用该分配的线程对目标任务的缓存队列的任务数据进行任务数据处理。同时,在服务器不断向目标任务的缓存队列分配线程时,目标任务的缓存队列的线程数量逐渐增加。当检测到处理目标任务的缓存队列中任务数据的线程的数量值等于该目标任务的线程阈值时,停止向该目标任务的缓存队列分配线程的操作。因此,分配到目标任务的缓存队列的线程的数量值不会超过服务器预先设定的线程阈值,从而可避免服务器在处理目标任务的任务数据时,调度过多的线程进行数据处理而导致影响其他任务的处理进度,降低使用同一线程池的多个任务的任务处理过程的互相干扰。
进一步地,当数量值等于线程阈值时,停止向缓存队列分配线程之后,还包括:当确定处理缓存队列中任务数据的任一线程结束任务处理操作时,释放任一线程,并向缓存队列分配线程。
具体地,服务器使用线程处理目标任务的缓存队列中任务数据,当任一线程结束任务处理操作时,服务器释放该线程。此时,处理目标任务的缓存队列中任务数据的线程数量减少,该线程数量小于目标任务的线程阈值,服务器向该目标任务的缓存队列继续分配线程,从而使得处理目标任务的缓存队列的线程数量达到线程阈值,加快目标任务的处理进度。
在一实施例中,第二获取模块20还用于通过设置计数器计数的方式获取处理缓存队列中任务数据的线程的数量值。具体地,服务器设置计数器,用于对处理目标任务的缓存队列中任务数据的线程进行计数,统计处理目标任务的缓存队列中任务数据的线程的数量。
进一步地,当服务器向目标任务的缓存队列分配一条线程时,控制计数器的计数值加1。也即是,服务器确认从线程池中调度一个线程,并采用该调度的线程对缓存队列中任务数据进行处理之后,控制计数器的计数值加1。依次类推,当计数器的计数值达到预分配的线程阈值时,则说明处理缓存队列中任务数据的线程数量达到上限,此时不再调度线程以处理缓存队列中的任务数据。
进一步地,控制计数器的计数值加1之后,还包括:确定处理缓存队列中任务数据的任一线程结束任务处理操作时,控制计数器的计数值减1。具体地,服务器对处理缓存队列中的任务数据进行监控。当确定处理缓存队列中任务数据的任一线程结束任务处理操作时,释放该任一线程,同时控制计数器的计数值减1。依次类推,当计数器的计数值未达到预分配的线程阈值时,又从线程池中调度线程,采用调度的线程处理缓存队列中的任务数据。
在一实施例中,目标任务为多个。此时,获取模块10用于获取各目标任务的线程阈值。第二获取模块20用于获取处理各目标任务的缓存队列中任务数据的线程的数量值。控制模块30用于根据各目标任务的线程阈值以及各目标任务的缓存队列对应的线程的数量值,分别控制对各目标任务的缓存队列的线程分配。
在该实施例中,目标任务为多个。各个目标任务对应有缓存队列,各个缓存队列对应有处理该缓存队列中任务数据的线程。服务器对各个目标任务预先设置有线程阈值,各个目标任务的线程阈值可以相同也可以不相同。服务器在对各个目标任务的缓存队列进行线程分配时,根据各个目标任务的线程阈值以及处理各个目标任务的缓存队列中任务数据的线程数量,分别控制对各个目标任务的缓存队列的线程分配。
进一步地,该基于任务处理的线程分配装置还包括调整模块。调整模块用于在第一预设时间段内,多个目标任务中任一目标任务的缓存队列的任务数据大于预设任务数据量时,提高任一目标任务对应的线程阈值,并降低多个目标任务中其他目标任务对应的线程阈值。
具体地,服务器对多个目标任务中各个目标任务的缓存队列中任务数据的数据量进行监控。当检测到在第一预设时间段内,多个目标任务中任一目标任务的缓存队列的任务数据大于预设任务数据量时,提高该任一目标任务对应的线程阈值,并降低其他目标任务对应的线程阈值。此处,各个目标任务对应有预设任务数据量,各个目标任务对应的预设任务数据量可以相同或者而不同。因此,通过该方式,服务器对各个目标任务的线程阈值进行动态调整,提高多个目标任务的整体处理进度。
在一实施例中,如图9所示,该基于任务处理的线程分配装置还包括接收模块40、缓存模块50和返回模块60。
接收模块40用于接收目标任务的任务处理请求。缓存模块50用于当缓存队列未达到预设最大缓存值时,将任务处理请求调用的任务数据缓存进缓存队列。返回模块60用于当缓存队列达到预设最大缓存值时,返回提醒信息。
在该实施例中,服务器在接收到目标任务的任务处理请求时,获取该任务处理请求需要调用到的任务数据。此处的任务数据指的是,服务器响应该任务处理请求时使用到的任务数据。进一步地,判断该目标任务对应的缓存队列是否达到最大缓存值。当目标任务的缓存队列未达到预设最大缓存值时,将获取到的任务数据缓存进缓存队列中,以便通过线程处理该任务数据。在一实施方式中,目标任务的缓存队列为服务器分配的只用于存储目标任务的任务处理请求调用的任务数据的安全队列。因此,服务器将存储任务数据的队列进行对应分配,可更好地降低使用同一线程池的多个任务之间的互相干扰。
当目标任务的缓存队列达到预设最大缓存值时,缓存队列无法再缓存任务数据,此时返回提醒信息,以提示该缓存队列无法再缓存任务数据,并且不再进行后续操作。其中提醒信息可以是错误提醒的信息。具体地,可以是返回该缓存队列的长度值,以提示操作出现错误。
进一步地,该基于任务处理的线程分配装置还包括提高模块。提高模块用于在第二预设时间段内,提醒信息的返回次数大于预设次数时,提高最大预设缓存值。
具体地,服务器对目标任务的缓存队列中缓存的任务数据的数据量进行监控。当在第二预设时间段内,提醒信息的返回次数大于预设次数时,提高最大预设缓存值,从而使得服务器对目标任务的任务数据的缓存量增大,提高后续目标任务的处理进度。
关于基于任务处理的线程分配装置的具体限定可以参见上文中对于基于任务处理的线程分配方法的限定,在此不再赘述。上述基于任务处理的线程分配装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储任务数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述任意一种基于任务处理的线程分配方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取目标任务的线程阈值,线程阈值为处理目标任务对应的任务数据的最大线程数量;获取处理缓存队列中任务数据的线程的数量值,缓存队列用于存储目标任务的任务处理请求调用的任务数据;根据线程阈值以及数量值,控制对缓存队列的线程分配。
在一个实施例中,目标任务为多个,处理器执行计算机程序时还实现以下步骤:
获取各目标任务的线程阈值;获取处理各目标任务的缓存队列中任务数据的线程的数量值;根据各目标任务的线程阈值以及各目标任务的缓存队列对应的线程的数量值,分别控制对各目标任务的缓存队列的线程分配。
在该实施例中,处理器执行计算机程序时还实现以下步骤:
在第一预设时间段内,多个目标任务中任一目标任务的缓存队列的任务数据大于预设任务数据量时,提高任一目标任务对应的线程阈值,并降低多个目标任务中其他目标任务对应的线程阈值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
当数量值小于线程阈值时,向缓存队列分配线程;当数量值等于线程阈值时,停止向缓存队列分配线程。
在该实施例中,处理器执行计算机程序时还实现以下步骤:
当确定处理缓存队列中任务数据的任一线程结束任务处理操作时,释放任一线程,并向缓存队列分配线程。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
接收目标任务的任务处理请求;当缓存队列未达到预设最大缓存值时,将任务处理请求调用的任务数据缓存进缓存队列;当缓存队列达到预设最大缓存值时,返回提醒信息。
进一步地,处理器执行计算机程序时还实现以下步骤:
在第二预设时间段内,提醒信息的返回次数大于预设次数时,提高最大预设缓存值。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取目标任务的线程阈值,线程阈值为处理目标任务对应的任务数据的最大线程数量;获取处理缓存队列中任务数据的线程的数量值,缓存队列用于存储目标任务的任务处理请求调用的任务数据;根据线程阈值以及数量值,控制对缓存队列的线程分配。
在一个实施例中,目标任务为多个,计算机程序被处理器执行时还实现以下步骤:
获取各目标任务的线程阈值;获取处理各目标任务的缓存队列中任务数据的线程的数量值;根据各目标任务的线程阈值以及各目标任务的缓存队列对应的线程的数量值,分别控制对各目标任务的缓存队列的线程分配。
在该实施例中,计算机程序被处理器执行时还实现以下步骤:
在第一预设时间段内,多个目标任务中任一目标任务的缓存队列的任务数据大于预设任务数据量时,提高任一目标任务对应的线程阈值,并降低多个目标任务中其他目标任务对应的线程阈值。
在该实施例中,计算机程序被处理器执行时还实现以下步骤:
当数量值小于线程阈值时,向缓存队列分配线程;当数量值等于线程阈值时,停止向缓存队列分配线程。
进一步地,计算机程序被处理器执行时还实现以下步骤:
当确定处理缓存队列中任务数据的任一线程结束任务处理操作时,释放任一线程,并向缓存队列分配线程。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
接收目标任务的任务处理请求;当缓存队列未达到预设最大缓存值时,将任务处理请求调用的任务数据缓存进缓存队列;当缓存队列达到预设最大缓存值时,返回提醒信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在第二预设时间段内,提醒信息的返回次数大于预设次数时,提高最大预设缓存值。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (8)

1.一种基于任务处理的线程分配方法,所述方法包括:
获取各目标任务的线程阈值,所述目标任务为多个,所述线程阈值为处理各所述目标任务对应的任务数据的最大线程数量;
获取处理各所述目标任务的缓存队列中任务数据的线程的数量值,所述缓存队列用于存储所述目标任务的任务处理请求调用的任务数据;
根据各所述目标任务的线程阈值以及各所述目标任务的缓存队列对应的线程的数量值,分别控制对各所述目标任务的缓存队列的线程分配,以使处理各目标任务对应的缓存队列中任务数据的线程的数量值不超过该目标任务对应的线程阈值;
在第一预设时间段内,多个所述目标任务中任一目标任务的缓存队列的任务数据大于预设任务数据量时,提高所述任一目标任务对应的线程阈值,并降低多个所述目标任务中其他目标任务对应的线程阈值。
2.根据权利要求1所述的方法,其特征在于,所述根据各所述目标任务的线程阈值以及各所述目标任务的缓存队列对应的线程的数量值,分别控制对各所述目标任务的缓存队列的线程分配,包括:
当任一所述目标任务的缓存队列对应的线程的所述数量值小于对应的所述线程阈值时,向所述任一所述目标任务的缓存队列分配线程;
当任一所述目标任务的缓存队列对应的线程的所述数量值等于对应的所述线程阈值时,停止向所述任一所述目标任务的缓存队列分配线程。
3.根据权利要求2所述的方法,其特征在于,所述当任一所述目标任务的缓存队列对应的线程的所述数量值等于对应的所述线程阈值时,停止向所述任一所述目标任务的缓存队列分配线程之后,还包括:
当确定处理所述任一所述目标任务的缓存队列中任务数据的任一线程结束任务处理操作时,释放所述任一线程,并向所述任一所述目标任务的缓存队列分配线程。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收任一所述目标任务的任务处理请求;
当所述任一所述目标任务的缓存队列未达到预设最大缓存值时,将所述任务处理请求调用的任务数据缓存进所述任一所述目标任务的缓存队列;
当所述任一所述目标任务的缓存队列达到预设最大缓存值时,返回提醒信息。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在第二预设时间段内,提醒信息的返回次数大于预设次数时,提高所述预设最大缓存值。
6.一种基于任务处理的线程分配装置,其特征在于,所述装置包括:
第一获取模块,用于获取各目标任务的线程阈值,所述目标任务为多个,所述线程阈值为处理各所述目标任务对应的任务数据的最大线程数量;
第二获取模块,用于获取处理各所述目标任务的缓存队列中任务数据的线程的数量值,所述缓存队列用于存储所述目标任务的任务处理请求调用的任务数据;
控制模块,用于根据各所述目标任务的线程阈值以及各所述目标任务的缓存队列对应的线程的数量值,分别控制对各所述目标任务的缓存队列的线程分配,以使处理各目标任务对应的缓存队列中任务数据的线程的数量值不超过该目标任务对应的线程阈值;
调整模块,用于在第一预设时间段内,多个所述目标任务中任一目标任务的缓存队列的任务数据大于预设任务数据量时,提高所述任一目标任务对应的线程阈值,并降低多个所述目标任务中其他目标任务对应的线程阈值。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
CN201910701316.6A 2019-07-31 2019-07-31 线程分配方法、装置、计算机设备和存储介质 Active CN110569123B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910701316.6A CN110569123B (zh) 2019-07-31 2019-07-31 线程分配方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910701316.6A CN110569123B (zh) 2019-07-31 2019-07-31 线程分配方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN110569123A CN110569123A (zh) 2019-12-13
CN110569123B true CN110569123B (zh) 2022-08-02

Family

ID=68773421

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910701316.6A Active CN110569123B (zh) 2019-07-31 2019-07-31 线程分配方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN110569123B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111159236A (zh) * 2019-12-23 2020-05-15 五八有限公司 数据处理方法、装置、电子设备及存储介质
CN113672834A (zh) * 2020-05-15 2021-11-19 北京沃东天骏信息技术有限公司 数据处理方法、装置、电子设备及计算机可读介质
CN111858508B (zh) * 2020-06-17 2023-01-31 远光软件股份有限公司 一种日志系统的调控方法、装置、存储介质及电子设备
CN113778656B (zh) * 2020-09-16 2024-10-18 北京沃东天骏信息技术有限公司 线程池的线程配置方法、装置、服务器和存储介质
CN112818054B (zh) * 2020-10-15 2022-05-06 广州南天电脑系统有限公司 数据同步方法、装置、计算机设备和存储介质
CN112596874B (zh) * 2020-12-16 2023-07-07 北京天融信网络安全技术有限公司 一种信息处理方法及电子设备
CN112631754A (zh) * 2020-12-29 2021-04-09 浙江大华技术股份有限公司 数据处理方法、装置、存储介质及电子装置
CN113419824A (zh) * 2021-01-25 2021-09-21 阿里巴巴集团控股有限公司 数据处理方法、装置、系统及计算机存储介质
CN112925617A (zh) * 2021-01-28 2021-06-08 长沙市到家悠享网络科技有限公司 数据处理方法、装置及系统
CN113014624B (zh) * 2021-02-08 2022-07-19 武汉虹信科技发展有限责任公司 设备数据配置方法和系统
CN113467933B (zh) * 2021-06-15 2024-02-27 济南浪潮数据技术有限公司 分布式文件系统线程池优化方法、系统、终端及存储介质
CN113342898B (zh) * 2021-06-29 2022-10-04 杭州数梦工场科技有限公司 数据同步方法及装置
CN113806068B (zh) * 2021-07-30 2023-12-12 上海晶赞融宣科技有限公司 业务系统的扩容方法及装置、可读存储介质、终端
CN115033393B (zh) * 2022-08-11 2023-01-17 苏州浪潮智能科技有限公司 批量请求下发的优先排队处理方法、装置、服务器及介质
CN115905268B (zh) * 2023-01-03 2023-09-29 北京力控元通科技有限公司 一种基于队列的电表数据处理方法、系统及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107341050A (zh) * 2016-04-28 2017-11-10 北京京东尚科信息技术有限公司 基于动态线程池的服务处理方法和装置
WO2019062182A1 (zh) * 2017-09-30 2019-04-04 平安科技(深圳)有限公司 数据同步装置、方法及计算机可读存储介质
CN109582455A (zh) * 2018-12-03 2019-04-05 恒生电子股份有限公司 多线程任务处理方法、装置及存储介质
CN109710400A (zh) * 2018-12-17 2019-05-03 平安普惠企业管理有限公司 线程资源分组的方法及装置
CN110062025A (zh) * 2019-03-14 2019-07-26 深圳绿米联创科技有限公司 数据采集的方法、装置、服务器及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107341050A (zh) * 2016-04-28 2017-11-10 北京京东尚科信息技术有限公司 基于动态线程池的服务处理方法和装置
WO2019062182A1 (zh) * 2017-09-30 2019-04-04 平安科技(深圳)有限公司 数据同步装置、方法及计算机可读存储介质
CN109582455A (zh) * 2018-12-03 2019-04-05 恒生电子股份有限公司 多线程任务处理方法、装置及存储介质
CN109710400A (zh) * 2018-12-17 2019-05-03 平安普惠企业管理有限公司 线程资源分组的方法及装置
CN110062025A (zh) * 2019-03-14 2019-07-26 深圳绿米联创科技有限公司 数据采集的方法、装置、服务器及存储介质

Also Published As

Publication number Publication date
CN110569123A (zh) 2019-12-13

Similar Documents

Publication Publication Date Title
CN110569123B (zh) 线程分配方法、装置、计算机设备和存储介质
US11507420B2 (en) Systems and methods for scheduling tasks using sliding time windows
CN112099958B (zh) 分布式多任务管理方法、装置、计算机设备及存储介质
CN110554921B (zh) 时间片分配方法、装置、存储介质和计算机设备
US8695004B2 (en) Method for distributing computing time in a computer system
KR101885211B1 (ko) Gpu의 자원 할당을 위한 방법 및 장치
US8875146B2 (en) Systems and methods for bounding processing times on multiple processing units
US10467054B2 (en) Resource management method and system, and computer storage medium
CN111565154B (zh) 图像识别请求处理方法、装置、计算机设备和存储介质
CN112817722B (zh) 一种基于优先级的分时调度方法、终端及存储介质
CN110489227B (zh) 一种资源分配方法、装置、计算机设备和存储介质
CN109542600B (zh) 分布式任务调度系统及方法
CN113327053A (zh) 任务处理方法及装置
CN108845883B (zh) 线程调优方法、装置、计算机设备和存储介质
CN108388409B (zh) 打印请求处理方法、装置、计算机设备和存储介质
CN111143063B (zh) 任务的资源预约方法及装置
CN110049350B (zh) 视频转码处理方法、装置、计算机设备和存储介质
CN109815087B (zh) 任务处理进程监控方法、装置、计算机设备和存储介质
CN113220429B (zh) Java线程池的任务处理方法、装置、设备和介质
CN108874548B (zh) 数据处理调度方法、装置、计算机设备和数据处理系统
CN112395063B (zh) 一种动态多线程调度方法及系统
CN114661415A (zh) 调度方法及计算机系统
CN115729705A (zh) 分布式任务批量处理方法、装置、设备及存储介质
CN109379605B (zh) 基于弹幕顺序的弹幕分发方法、装置、设备和存储介质
CN113806049A (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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210000

Patentee after: Jiangsu Suning cloud computing Co.,Ltd.

Address before: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210000

Patentee before: Suning Cloud Computing Co.,Ltd.

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20240119

Address after: 210000, 1-5 story, Jinshan building, 8 Shanxi Road, Nanjing, Jiangsu.

Patentee after: SUNING.COM Co.,Ltd.

Address before: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210000

Patentee before: Jiangsu Suning cloud computing Co.,Ltd.

TR01 Transfer of patent right