CN107832126A - 一种线程的调整方法及其终端 - Google Patents

一种线程的调整方法及其终端 Download PDF

Info

Publication number
CN107832126A
CN107832126A CN201710985525.9A CN201710985525A CN107832126A CN 107832126 A CN107832126 A CN 107832126A CN 201710985525 A CN201710985525 A CN 201710985525A CN 107832126 A CN107832126 A CN 107832126A
Authority
CN
China
Prior art keywords
thread
task
upper limit
waiting task
waiting
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.)
Granted
Application number
CN201710985525.9A
Other languages
English (en)
Other versions
CN107832126B (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201710985525.9A priority Critical patent/CN107832126B/zh
Priority to PCT/CN2018/077682 priority patent/WO2019075980A1/zh
Publication of CN107832126A publication Critical patent/CN107832126A/zh
Application granted granted Critical
Publication of CN107832126B publication Critical patent/CN107832126B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence

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)
  • Computer And Data Communications (AREA)

Abstract

本发明适用于计算机技术领域,提供了一种线程的调整方法及其终端,包括:以预设的时间间隔查询待处理任务库中包含的任务个数;根据任务个数以及预设的线程启动上限,确定当前的线程启动个数;基于各个待处理任务的优先级,从待处理任务库中提取与线程启动个数匹配的待处理任务;启动与线程启动个数对应的线程,并通过线程响应待处理任务。本发明解决了现有线程的调整方法,线程的数量是固定不变的,若在业务繁忙时期,启动的线程可能无法满足当前的业务量,从而导致待处理任务积压,从而降低了业务响应的效率,甚至导致大量的任务失效或超时,降低了服务器的服务质量以及用户的使用体验的问题。

Description

一种线程的调整方法及其终端
技术领域
本发明属于计算机技术领域,尤其涉及一种线程的调整方法及其终端。
背景技术
随着科学技术的不断发展,用户可通过网络完成的服务种类也越来越多,因而服务器的业务压力也随之增大,通常情况下,服务器采用并发处理的方式对客户发起的业务进行响应,具体地,服务器通过启动多条线程同时处理多个业务请求。然而现有线程的调整方法,线程的数量是固定不变的,若在业务繁忙时期,启动的线程可能无法满足当前的业务量,从而导致待处理任务积压,从而降低了业务响应的效率,甚至导致大量的任务失效或超时,降低了服务器的服务质量以及用户的使用体验。
发明内容
有鉴于此,本发明实施例提供了一种线程的调整方法及其终端,以解决现有线程的调整方法,线程的数量是固定不变的,若在业务繁忙时期,启动的线程可能无法满足当前的业务量,从而导致待处理任务积压,从而降低了业务响应的效率,甚至导致大量的任务失效或超时,降低了服务器的服务质量以及用户的使用体验的问题。
本发明实施例的第一方面提供了一种线程的调整方法,所述线程的调整方法包括:
以预设的时间间隔查询待处理任务库中包含的任务个数;
根据所述任务个数以及预设的线程启动上限,确定当前的线程启动个数;
基于各个待处理任务的优先级,从所述待处理任务库中提取与所述线程启动个数匹配的待处理任务;
启动与所述线程启动个数对应的线程,并通过所述线程响应所述待处理任务。
本发明实施例的第二方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
以预设的时间间隔查询待处理任务库中包含的任务个数;
根据所述任务个数以及预设的线程启动上限,确定当前的线程启动个数;
基于各个待处理任务的优先级,从所述待处理任务库中提取与所述线程启动个数匹配的待处理任务;
启动与所述线程启动个数对应的线程,并通过所述线程响应所述待处理任务。
本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
以预设的时间间隔查询待处理任务库中包含的任务个数;
根据所述任务个数以及预设的线程启动上限,确定当前的线程启动个数;
基于各个待处理任务的优先级,从所述待处理任务库中提取与所述线程启动个数匹配的待处理任务;
启动与所述线程启动个数对应的线程,并通过所述线程响应所述待处理任务。
实施本发明实施例提供的一种线程的调整方法及其终端具有以下有益效果:
本发明实施例通过以预设的时间间隔查询待处理任务库中包含的任务个数,并根据该任务个数实时调整当前的线程启动个数,以使终端设备的服务响应能力与当前的待处理任务的数量相匹配;终端设备在确定了线程启动个数后,则从待处理任务库中,基于各个待处理任务的优先级,从待处理任务库中提取与线程启动个数一致的待处理任务,并进行响应,从而实现了动态调整终端设备的线程启动个数的目的。与现有的服务响应技术相比,服务器的启动线程个数保持不变,当待处理任务较少时,容易出现线程启动但空闲,浪费了服务器的资源,当待处理任务较多时,又不会增加当前的线程启动的个数,容易导致任务积压的情况,而本实施例在每次对待处理任务进行批量并发响应之前,将根据当前待处理任务库中包含的待处理任务,调整当前的线程启动个数,从而在每个服务响应周期到达的时刻,保持终端设备的服务响应能力与当前的任务数相匹配,提高了服务响应的效率以及终端设备的服务质量,为用户提供更好的使用体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的一种线程的调整方法的实现流程图;
图2是本发明第二实施例提供的一种线程的调整方法S102的具体实现流程图;
图3是本发明第三实施例提供的一种线程的调整方法的具体实现流程图;
图4是本发明第四实施例提供的一种线程的调整方法S102的具体实现流程图;
图5是本发明第五实施例提供的一种线程的调整方法S103的具体实现流程图;
图6是本发明一实施例提供的一种线程的调整终端的结构框图;
图7是本发明一实施例提供的一种终端设备的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例通过以预设的时间间隔查询待处理任务库中包含的任务个数,并根据该任务个数实时调整当前的线程启动个数,以使终端设备的服务响应能力与当前的待处理任务的数量相匹配;终端设备在确定了线程启动个数后,则从待处理任务库中,基于各个待处理任务的优先级,从待处理任务库中提取与线程启动个数一致的待处理任务,并进行响应,从而实现了动态调整终端设备的线程启动个数的目的,解决了现有线程的调整方法,线程的数量是固定不变的,若在业务繁忙时期,启动的线程可能无法满足当前的业务量,从而导致待处理任务积压,从而降低了业务响应的效率,甚至导致大量的任务失效或超时,降低了服务器的服务质量以及用户的使用体验的问题。
在本发明实施例中,流程的执行主体为安装有线程调整程序的终端设备,终端设备包括手机、计算机设备、平板电脑等终端,特别地,该终端设备具体为一服务器,用于接收各个用户终端发起的服务请求并进行响应,继而将响应结果返回给对应的用户终端,从而实现服务响应的操作。图1示出了本发明第一实施例提供的线程的调整方法的实现流程图,详述如下:
在S101中,以预设的时间间隔查询待处理任务库中包含的任务个数。
在本实施例中,终端设备在接收到其他用户终端发送的处理任务后,则把处理任务存储与待处理任务库中,以便当处理时机到达时,根据各个待处理任务的优先级以及接收次序,提取相应的待处理任务进行响应。
需要说明的是,该待处理任务库可为终端设备的本地存储器中,在该情况下,终端设备直接读取本地存储器,即可获取待处理任务的相关信息;待处理任务库也可以为一独立的存储服务器,专门接收并存储各个用户终端发送的处理任务。由于终端设备需要同时响应多个用户终端发送的处理任务,即需要分配一定的端口数量,来执行处理任务接收的操作,另一方面,终端设备在响应完成对应的待处理任务后,还需将处理结果返回给用户终端,此时,返回操作又需要调用一定的端口数量。因此,终端设备为了提高其服务响应的效率,可将设置一独立的存储服务器,设置相应数量的端口,接收其他用户终端发送的处理任务,终端设备只需与待处理任务库之间,建立一条数据链路用于获取需要的待处理任务即可,其他端口可用于将生成的处理结果反馈给用户终端。
在本实施例中,终端设备以预设的时间间隔查询待处理任务库中包含的任务个数,其中,该预设的时间间隔具体为终端设备的任务提取周期。终端设备具有预设的任务提取周期以及任务响应周期,终端设备在到达任务提取周期时,将从待处理任务库中提取相应数量的待处理任务,并进入任务响应周期。在任务响应周期内,终端设备通过多个线程对提取的待处理任务进行响应,且并不会从待处理任务库中提取待处理任务,在任务响应周期完毕后,若再次到达任务提取周期对应的开启时刻,则循环执行提取待处理任务的操作。而本实施例提供的S101的步骤则为终端设备进入任务提取周期时执行的操作。举例性地,例如预设的时间间隔为2分钟,则终端设备每两分钟将会查询待处理任务库中包含的任务个数,继而对该待处理任务库中的任务进行响应。当然,预设的时间间隔的时长可根据用户的实际需求进行设置,例如30秒、10分钟等,也可以根据当前时间段是否属于繁忙时间段,调整该预设的时间间隔。
可选地,在本实施例中,在S101之前还包括:通过预设的待处理任务校验算法,校验待处理任务的合法性以及完整性,若校验成功,则存储于待处理任务库,并执行S101的相关操作;反之,若校验失败,则丢弃该任务请求,并返回任务非法的信息给到对应的用户终端。通过上述手段,终端设备可在处理前对待处理任务进行预处理,从而滤除大部分非法的任务,不仅减少了终端设备的服务响应压力,还能释放更多待处理任务库的存储空间,用于保存其他有效的待处理任务。
在S102中,根据所述任务个数以及预设的线程启动上限,确定当前的线程启动个数。
在本实施例中,终端设备在获取了待处理任务库中包含的任务个数后,则获取预设的线程启动上限,判断任务个数与线程启动上限两者的大小,从而确定是否能够为每一个待处理任务分配一条独立的线程进行响应。若任务个数小于或等于线程启动上限,则表示可以为每一个待处理任务设置一条线程,来响应上述待处理任务,此时当前的线程启动个数即为任务个数;反之,若任务个数大于预设的线程启动上限,则表示无法为任务的数量超过可开启的线程数量,即本次任务响应周期内,无法对全部的待处理任务进行响应,因此将线程启动上限设置为当前的线程启动个数。
可选地,在本实施例中,终端设备还可以为每一个任务类型设置对应的线程启动上限。在该情况下,终端设备在S101不仅获取待执行任务库中包含的任务个数,还根据分别统计各个任务类型对应的任务个数,继而将各个任务类型的任务个数与与之对应的线程启动上限进行比较,并得到每个任务类型的线程启动子个数,从而通过多个线程启动子个数计算出当前的线程启动个数。终端设备为了在每次任务响应周期中,除了响应优先级较高的任务外,还预留了一定的资源来响应优先级较低的任务,从而避免了优先级较低的任务类型一直被延后执行,因而为每一个任务类型设置对应的线程启动上限,从而均衡每一种任务类型的响应数量。
举例性地,终端设备为净推荐值服务器,用于响应各个用户终端发送的净推荐值服务请求,其中该净推荐值服务请求包括但不限于:影响用户对交互对象的净推荐值的服务,如在线服务咨询、意见反馈回复、故障申报处理等,也包括在计算交互对象净推荐值过程中的相关服务请求,如样本操作反馈意见收集服务请求,样本操作反馈意见发送服务请求等。由于净推荐值服务请求一般具有较强的实时性,因此,当净推荐值服务器检测到待处理任务库中包含净推荐值服务请求,则会优先进行处理。若某个时间段内,净推荐值服务器持续获取了大量的净推荐值服务请求,而由于该服务请求的优先级较高,服务器在每个任务响应周期内只响应净推荐值服务请求,则会导致其他服务请求无法响应。因此,净推荐值服务器为不同的服务请求类型设置对应的线程启动上限,例如对于整体的净推荐值服务器,其线程启动上限为100,而净推荐值服务请求对应的线程启动上限为80,其他类型的服务请求的线程启动上限为20。可见,服务器在确保优先对净推荐值服务请求进行响应的同时,预留了一定的线程服务来响应其他类型的服务请求,从而合理地分配服务资源。
优选地,对于上述方案,第一类型的任务个数小于与之对应的线程启动上限,并且第二类型的任务个数大于与之对应的线程启动上限,此时,第一类型的任务个数剩余的线程,可用于响应第二类型的任务。举例性,第一类型的任务个数为15,而其对应的第一线程启动上限为30,因此,终端设备分配给该第一类型的任务的资源还剩余15个线程将处于空闲,可响应其他类型的任务。此时,终端设备确定第二类型的任务个数为25,其对应的第二线程启动上限为20,因此可将第一类型的线程中剩余的15个线程中,提取5个线程用于响应第二类型的任务,从而根据实际情况,合理调用各个类型的资源。
在S103中,基于各个待处理任务的优先级,从所述待处理任务库中提取与所述线程启动个数匹配的待处理任务。
在本实施例中,终端设备首先获取各个待处理任务的优先级,并根据在S102中确定的当前的启动线程个数N,从待处理任务库中提取优先级最高的N个待处理任务,作为本次任务响应流程执行的待处理任务。
在本实施例中,待处理任务的优先级可以由任务发起方,即由任务请求的用户进行设置,用户在生成待处理任务时,则设置待处理任务的优先级,以便终端设备在接收到待处理任务时,可基于其对应的优先级,确定对应的响应时机。具体地,用户直接设置优先级参数,如在待处理任务的优先级字节,设置相应的参数值;也可以通过限定任务反馈时间的方式,间接设置待处理任务的优先级,例如对于优先级较高的待处理任务,其对应的预定反馈时间较短;而对应优先级较低的待处理任务,其对应的预定反馈时间较长。
在本实施例中,待处理任务的优先级也可以由终端设备进行设置。具体地,终端设备根据待处理任务的任务类型,查询预设的任务类型与优先级对应关系列表,从而确定待处理任务的优先级,并生成待处理任务与优先级的对应关系列表。终端设备在执行S103的操作时,则直接读取该待处理任务与优先级的对应关系列表,即可确定各个待处理任务对应优先级。优选地,待处理任务与优先级的对应关系列表中的待处理任务,根据优先级的大小顺序,依次进行排序,若优先级相同的待处理任务,则根据任务获取时间的先后顺序进行排序,从而终端设备直接截取与线程启动个数N相应的待处理任务,无需逐一获取优先级信息后,再进行提取,提高了任务响应效率。
在S104中,启动与所述线程启动个数对应的线程,并通过所述线程响应所述待处理任务。
在本实施例中,终端设备根据S102中确定的线程启动个数,启动与其对应数量的线程,并通过已启动的线程响应在S103中提取得到的待处理任务。具体地,每一个线程响应一个待处理任务,从而实现多个待处理任务并发响应的目的。
在本实施例中,终端设备某一线程已完成一待处理任务后,则获取该任务对应的请求用户标识,并根据该请求用户标识,将任务处理结果反馈给该请求用户标识对应的终端。其中,处理结果反馈的操作可交由响应该待处理任务的线程执行,也可以在线程执行完成任务后,将处理结果以及对应终端的网络地址发送给处理结果发送模块,交由处理结果发送模块统一进行任务结果的发送操作。
可选地,在本实施例中,终端设备可汇总本次响应周期所有线程生成的处理结果后,才统一将处理结果的反馈给对应的用户终端。在该情况下,由于某些待处理任务可能涉及的数据运算量较少,因此处理该类型的待处理任务的线程可较早完成响应操作,并且处理结果是统一进行发送,即上述线程处于空闲状态。在该情况下,终端设备可安排该空闲的线程支援进度较慢的线程,即通过两个线程同时执行进度较慢的待处理任务,从而较快任务的响应速率以及资源的利用率。
以上可以看出,本发明实施例提供的一种线程的调整方法通过以预设的时间间隔查询待处理任务库中包含的任务个数,并根据该任务个数实时调整当前的线程启动个数,以使终端设备的服务响应能力与当前的待处理任务的数量相匹配;终端设备在确定了线程启动个数后,则从待处理任务库中,基于各个待处理任务的优先级,从待处理任务库中提取与线程启动个数一致的待处理任务,并进行响应,从而实现了动态调整终端设备的线程启动个数的目的。与现有的服务响应技术相比,服务器的启动线程个数保持不变,当待处理任务较少时,容易出现线程启动但空闲,浪费了服务器的资源,当待处理任务较多时,又不会增加当前的线程启动的个数,容易导致任务积压的情况,而本实施例在每次对待处理任务进行批量并发响应之前,将根据当前待处理任务库中包含的待处理任务,调整当前的线程启动个数,从而在每个服务响应周期到达的时刻,保持终端设备的服务响应能力与当前的任务数相匹配,提高了服务响应的效率以及终端设备的服务质量,为用户提供更好的使用体验。
图2示出了本发明第二实施例提供的一种线程的调整方法S102的具体实现流程图。参见图2所示,相对于图1所述实施例,本实施例提供的一种线程的调整方法S102还包括以下步骤,详述如下:
进一步地,所述根据所述任务个数以及预设的线程启动上限,确定当前的线程启动个数,包括:
在S201中,获取当前时刻的时间信息。
在本实施例中,终端设备中预设的线程启动上限是随时间的变化而变化的,即不同的时间段,均对应一个线程启动上限。例如,对于空闲时间段,终端设备平均接收的待处理任务数量一般较少,此时,终端设备无需处于满载状态进行工作,而是可以逐步对待处理任务进行响应,因此线程启动上限较小;反之,在繁忙时段,终端设备将持续接收大量的待处理任务,此时,终端设备可处于满载状态,避免待处理任务大量堆积而导致批量任务失效。
在本实施例中,终端设备在确定了当前待处理任务库中包含的任务个数后,将确定当前时刻的时间信息。其中,该时间信息可以为绝对的时间信息,如18:53,唯一确定当前的时间;该时间信息也可以为相对的时间信息,如终端设备运行的时长、满载模式的时长等用于表示终端设备运行状态的时间信息。在该情况下,终端设备限定了各个运行模式的最大运行时间,若当前时刻的时间信息,即运行模式的运行时间大于最大的运行时间,则切换该终端设备的运行模式,并相应地调整当前的线程启动上限,从而管理员通过配置响应的运行模式与线程启动上限关系列表,则可实时调整终端设备的线程启动上限。
在S202中,基于预设的线程启动上限与时间信息的对应关系,确定所述时间信息对应的所述线程启动上限。
在本实施例中,终端设备预先存储有各个不同的时间信息对应的线程启动上限,并生成线程启动上限与时间信息的对应关系。其中,该对应关系可以从终端设备的上位服务器中获取,该上位服务器通过获取多个终端设备的运行情况,确定各个设备在不同时间段对应的线程启动上限,继而生成一个适用于各个终端设备的通用线程启动上线与时间信息的对应关系。因此,各个终端设备可直接从上位服务器中获取该对应关系,并存储与本地的存储模块中。
在本实施例中,用户可根据实际的使用需求,生成该线程启动上限与时间信息的对应关系,也可以基于已有的对应关系进行调整。为了便于管理,终端设备从而***默认设置的方式外生成该线程启动上限与时间信息的对应关系,还可以让用户进行生成或调整。
终端设备在确定了当前的时间信息后,将查询预设的线程启动上限与时间信息的对应关系,确定当前时刻对应线程启动上限,继而执行S203的相关操作。
在S203中,根据所述任务个数以及所述时间信息对应的所述线程启动上限,确定当前的线程启动个数。
在本实施例中,终端设备在确定了当前时间信息对应的线程启动上限后,将待执行任务库中包含的任务个数与线程启动上限进行比较,选取上述两者中较小的数值作为当前的线程启动个数。
在本发明实施例中,线程启动上限的数值并非固定不变的,而是可以根据不同的时间信息进行调整,从而有效地利用终端设备的线程资源,避免不必要的资源浪费,提高了资源的利用效率,以及终端设备的灵活性。特别地,终端设备在繁忙时段可能长时间处于满载或超载的模式下进行工作,因此为了对终端设备提供一定的缓冲期,在非繁忙时间段,终端设备可以处于负载较少的状态下工作。例如,在空闲时间的某一任务提取周期,终端设备检测到待处理任务库中包含100个待处理任务,而该时刻对应的线程启动上限为50,并且下一提取周期数据库并未接受到新的待处理任务,因此,终端设备可通过两个任务响应周期,来执行上述100个待处理任务,虽然终端设备在繁忙时段线程启动上限可以达到100,但该时间段为空闲时间段,即该时间段内,待处理任务的任务量的数学期望值较少,并不会长时间持续获取到大量的待处理任务,因此可保持较低的线程启动上限,即便遇到突发增多的待处理任务,仍可逐步进行响应。
图3示出了本发明第三实施例提供的一种线程的调整方法的具体实现流程图。参见图3所示,相对于图2所述实施例,本实施例提供的一种线程的调整方法还包括以下步骤,详述如下:
进一步地,在S101之前,所述线程的调整方法还包括:
在S301中,获取历史服务响应记录;其中,所述历史服务响应记录包括各个时间段的待处理任务信息以及硬件资源运行信息。
在本实施例中,终端设备在每次响应待执行任务后,将生成与之对应的待处理任务响应记录,其中,该待处理任务响应记录具体包括:响应开启时间、响应完成时间、执行时长、硬件资源占用情况、响应等待时长等信息。终端设备在获取了各个待处理任务对应的任务响应记录后,则可以确定在不同时间段包含的待处理任务的数量,以及各个时间段的终端设备整体的硬件资源的消耗情况,继而生成该历史服务响应记录。
在本实施例中,硬件资源运行信息包括但不限于以下一种或至少两种的组合:CPU的运行情况、内存的占用情况、终端设备的运行温度、数据读写速率等。由于硬件资源运行信息除了与当前响应的任务数量等内部因素相关外,还与如机房温度、电压、功率等外部因素有关,因此,终端设备不仅获取各个时间段的待处理任务信息,还获取硬件资源运行信息,并生成对应的历史服务响应记录,以便确定线程启动上限时,既考虑内部因素还考虑外部环境对终端设备的影响因素。
在S302中,基于所述历史服务响应记录,生成所述线程启动上限与时间信息的对应关系。
在本实施例中,终端设备根据历史服务响应记录中不同时间段或者任务提取周期对应的待执行任务数,确定各个时间段内平均的待执行任务数,从而得到待执行任务数随时间推移的变化趋势。终端设备基于该待执行任务数变化趋势,得到确定线程启动上限与时间信息的对应关系的第一因子。
在本实施例中,终端设备根据历史服务响应记录中不同时间段或者任务提取周期对应的硬件运行信息,确定各个时间段内终端设备的运行状态,该运行状态包括负载情况、运行效率情况以及异常发生率,从而得到运行状态随时间推移的变化趋势。终端设备基于该运行状态变化趋势,得到确定线程启动上限与时间信息的对应关系的第二因子。
在本实施例中,终端设备根据第一因子与第二因子生成线程启动上限与时间信息的对应关系。可选地,第一因子具体为平均执行任务数,第二因子为硬件运行效率,因此任一时间段对应的线程启动上限为:平均执行任务数×硬件运行效率。举例性,8:00至8:10这一时间段内,终端设备平均接收到的待执行任务数为50,且该时段硬件运行的速率达到额定运行速率,因此运行效率为100%,因此该时间段对应的线程启动上限为:50×100%=50。当然,该第一因子可以为历史记录中该时间段最大的待执行任务数或最小的待执行任务数,也可以是待执行任务数的数学期望,在此不一一限定。然后,第二因子也可以根据运行状态确定对应的比例系数,在此也不一一限定,具体地,终端设备的运行状态越良好,即负载越少、运行效率越高和/或异常发生率越低,其对应的比例系数越大,则终端设备在该时间段可响应更多的待执行任务,因此线程启动上限越高;反之,终端设备的运作状态越差,其对应的比例系数越小。其中,该比例系数为大于0的正数。
在本发明实施例中,终端设备还可以根据历史服务响应记录,对线程启动上限与时间信息的对应关系列表进行调整,基于上述目的,终端设备首先获取本机的历史服务响应记录,继而通过历史服务响应记录进行学习,提高了对应关系列表的准确性。
图4示出了本发明第四实施例提供的一种线程的调整方法S102的具体实现流程图。参见图4所示,相对于图1至图3所述实施例,本实施例提供的一种线程的调整方法中所述根据所述任务个数以及预设的线程启动上限,确定当前的线程启动个数,还包含S401~S405,详述如下:
在S401中,判断所述任务个数是否大于所述线程启动上限。
在S402中,若所述任务个数大于所述线程启动上限,则判断所述任务个数与所述线程启动上限之间的第一比值是否大于预设的上调触发阈值。
在本实施例中,终端设备的线程启动上限可根据当前实际的任务个数进行调整,以使终端设备的任务处理能力与当前任务量相匹配。由于预设的线程启动上限是根据管理员或者***历史记录进行预判得到的,而实际过程中常常会出现各种各样的突发情况,因此,终端设备设置有调整线程启动上限的流程,来灵活调整该线程启动上限。
在本实施例中,终端设备检测到当前待处理任务库中包含的任务个数大于线程启动上限,即表示终端设备无法在本次任务响应周期内对所有待处理任务完成响应,实际的任务量大于当前终端设备的任务处理能力。此时,终端设备则计算任务个数与线程启动上限之间的第一比值,并判断该第一比值是否大于预设的上调触发阈值。
在本实施例中,上调触发阈值用于界定当前的任务量是否属于异常增多的情况,并且当前的任务处理能力是否足以应对当前的任务量,而不会导致大批量的任务积压并失效。因此,若第一比值小于或等于上调触发阈值,则表示终端设备当前的任务处理能力与当前的任务量是匹配的,无需调整线程启动上限,维持当前的线程启动上限不变;反之,若第一比值大于上调触发阈值,则表示当前的任务量突发增大,且终端设备当前的处理能力无法确保待处理任务均能正常响应,因此将调整线程启动上限,执行S403的相关操作。
举例性地,某一时间段内,终端设备的线程启动上限为100,上调触发阈值为300%,即若某一时刻待执行任务的数量超出终端设备的处理能力两倍以上,则需要对线程启动上限进行调整。若当前时刻待执行任务库中包含的任务个数为150,大于线程启动上限100,则终端设备计算任务个数与线程启动上限的第一比值为:150/100=150%,小于上调触发阈值,则保持当前的线程启动上限不变。
在S403中,若所述第一比值大于预设的上调触发阈值,则基于所述第一比值,提高所述线程启动上限,并选取所述任务个数与提高后的所述线程启动上限中的较小值作为所述当前的线程启动个数。
在本实施例中,终端设备检测到第一比值大于预设的上调触发阈值后,则对终端设备的线程启动上限进行对应的调整。终端设备预设有第一比值与调整幅度的对应关系列表,根据当前计算得到的第一比值,查询该第一比值对应的调整系数,继而通过该调整系数增大该线程启动上限。
举例性地,如S402的例子所述,终端设备的线程启动上限为100,上调触发阈值为300%,当前的任务个数为320,即第一比值为320%大于上调触发阈值,因此需要对线程启动上限进行调整。终端设备基于该第一比值与调整幅度的对应关系列表,计算得到320%对应的调整系数为200%,即将线程启动上限增大一倍,即提高后的线程启动上限为200。
在本实施例中,终端设备在确定了线程启动上限后,则从任务个数以及调整后的线程启动上限中,选取较小的一个数值作为当前的线程启动个数。由于调整系数可能大于第一比值,因此实际计算得到的线程启动上限可能大于任务个数。
在S404中,若所述任务个数小于所述线程启动上限,则判断所述线程启动上限与所述任务个数之间的第二比值是否大于预设的下调触发阈值。
在本实施例中,终端设备还会根据当前的任务个数适当调整当前的线程启动上限,由于终端设备在设置时间信息与线程启动上限的对应关系时,可能会根据历史记录中各个时段的当前启动上限来作为设置的依据,因而为了使得该对应关系更加准确,并且合理地分配终端设备的线程资源,因此终端设备还可以根据当前的任务数量适当降低线程启动上限,以便预留的线程可执行其他操作。举例性地,某一时间段内,终端设备的线程启动上限为100,下调触发阈值为200%,即若某一时刻待执行任务的数量小于终端设备当前的处理能力两倍以上,则需要对线程启动上限进行调整。若当前时刻待执行任务库中包含的任务个数为40,小于线程启动上限100,则终端设备计算线程启动上限与任务个数的第二比值为:100/40=250%,大于下调触发阈值,则执行S405的相关操作。
在本实施例中,终端设备在确定任务个数小于线程启动上限时,则计算线程启动上限与任务个数之间的第二比值,并判断第二比值是否大于预设的下调触发阈值。若第二比值大于下调触发阈值,则表示终端设备的任务处理能力远远大于当前所需的任务量,因此将降低线程启动上限,并执行S405的操作;反之,若第二比值小于或等于下调触发阈值,则保持当前的线程启动上限。
在S405中,若所述第二比值大于预设的下调触发阈值,则基于所述第一比值,降低所述线程启动上限,并选取所述任务个数与降低后的所述线程启动上限中的较小值作为所述当前的线程启动个数。
举例性地,如S402的例子所述,终端设备的线程启动上限为100,下调触发阈值为200%,当前的任务个数为40,即第二比值为250%大于下调触发阈值,因此需要对线程启动上限进行下调。终端设备基于该第一比值与调整幅度的对应关系列表,计算得到250%对应的调整系数为200%,即将线程启动上限降低一倍,即下降后的线程启动上限为50。
在本实施例中,终端设备检测到第二比值大于预设的下调触发阈值后,则对终端设备的线程启动上限进行对应的调整。终端设备预设有第二比值与调整幅度的对应关系列表,根据当前计算得到的第二比值,查询该第二比值对应的调整系数,继而通过该调整系数减少该线程启动上限。
在本发明实施例中,通过获取任务个数与线程启动上限之间的比值,确定是否需要对线程启动上限进行调整,从而灵活调整终端设备的任务处理能力,提高了线程启动上限的准确性。
图5示出了本发明第五实施例提供的一种线程的调整方法S103的具体实现流程图。参见图5所示,相对于图1所述实施例,本实施例提供的一种线程的调整方法S103还包括以下步骤,详述如下:
进一步地,所述基于各个待处理任务的优先级,从所述待处理任务库中提取与所述线程启动个数匹配的待处理任务,包括:
在S501中,根据各个待处理任务的最大等待时长以及任务发送时刻,分别判定各个所述待处理任务是否有效。
在本实施例中,终端设备为了确保响应的待处理任务均是有效的待处理任务,因此在提取待处理任务之前,会对各个待处理任务的有效属性进行判定。若确定待处理任务有效,则执行S503的相关操作;若确定待处理无效,则执行S502的相关操作。
具体地,终端设备首先获取当前的时间信息以及该任务的发送时刻,计算相对于当前时刻的等待时长,若该等待时长大于最大等待时长,则表示该任务已经失效,识别为无效的待处理任务;反之,若该等待时长小于或等于最大等待时长,则表示该任务有效,识别为有效的待处理任务。
在S502中,若所述待处理任务无效,则将所述待处理任务从所述待处理任务库中删除,并向所述待处理任务对应的客户返回服务超时信息。
在本实施例中,终端设备若检测到待处理任务为无效的任务,则将该待处理任务宠待处理任务库中进行删除,从而确保待处理任务库中包含的待处理任务均为有效的待处理任务。进一步地,为了告知服务请求的用户其发送的待处理任务失效,终端设备向待处理任务对应的客户推送服务超时信息,以便该客户重新发起任务请求。
在S503中,若所述待处理任务有效,则基于所述待处理任务的剩余有效时长,调整所述待处理任务的优先级。
在本实施例中,终端设备若判定该待处理任务为有效任务,则提取该任务中包含的剩余有效时间,从而根据该剩余有效时间调整该待处理任务的优先级。终端设备避免待处理任务失效,对于较为紧急的待处理任务首先进行响应,因此终端设备将根据各个待处理任务的有效剩余时间,提高剩余时间较短的待处理任务的优先级,而对于有效剩余时间较长的待处理任务则维持其优先级不变。
在本发明实施例中,终端设备在提取操作前首先对待处理任务进行筛选,从而提高了服务响应的有效率,从而提高了服务响应的效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图6示出了本发明一实施例提供的一种线程的调整终端的结构框图,该线程的调整终端包括的各单元用于执行图1对应的实施例中的各步骤。具体请参阅图1与图1所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。
参见图6,所述线程的调整终端包括:
任务个数确定单元61,用于以预设的时间间隔查询待处理任务库中包含的任务个数;
当前线程启动个数确定单元62,用于根据所述任务个数以及预设的线程启动上限,确定当前的线程启动个数;
待处理任务提取单元63,用于基于各个待处理任务的优先级,从所述待处理任务库中提取与所述线程启动个数匹配的待处理任务;
待处理任务响应单元64,用于启动与所述线程启动个数对应的线程,并通过所述线程响应所述待处理任务。
可选地,所述当前线程启动个数确定单元62包括:
时间信息确定单元,用于获取当前时刻的时间信息;
线程启动上限确定单元,用于基于预设的线程启动上限与时间信息的对应关系,确定所述时间信息对应的所述线程启动上限;
当前线程启动个数设置单元,用于根据所述任务个数以及所述时间信息对应的所述线程启动上限,确定当前的线程启动个数。
可选地,所述线程的调整装置还包括:
历史服务响应记录获取单元,用于获取历史服务响应记录;其中,所述历史服务响应记录包括各个时间段的待处理任务信息以及硬件资源运行信息;
线程启动上限对应关系生成单元,用于基于所述历史服务响应记录,生成所述线程启动上限与时间信息的对应关系。
可选地,所述当前线程启动个数确定单元62还包括:
上调触发判定单元,用于若所述任务个数大于所述线程启动上限,则判断所述任务个数与所述线程启动上限之间的第一比值是否大于预设的上调触发阈值;
线程启动上限上调单元,用于若所述第一比值大于预设的上调触发阈值,则基于所述第一比值,提高所述线程启动上限,并选取所述任务个数与提高后的所述线程启动上限中的较小值作为所述当前的线程启动个数;
下调触发判定单元,用于若所述任务个数小于所述线程启动上限,则判断所述线程启动上限与所述任务个数之间的第二比值是否大于预设的下调触发阈值;
线程启动上限下调单元,用于若所述第二比值大于预设的下调触发阈值,则基于所述第一比值,降低所述线程启动上限,并选取所述任务个数与降低后的所述线程启动上限中的较小值作为所述当前的线程启动个数。
可选地,所述待处理任务提取单元63包括:
待处理任务失效判定单元,用于根据各个待处理任务的最大等待时长以及任务发送时刻,分别判定各个所述待处理任务是否有效;
待处理任务失效响应单元,用于若所述待处理任务无效,则将所述待处理任务从所述待处理任务库中删除,并向所述待处理任务对应的客户返回服务超时信息;
待处理任务优先级确定单元,用于若所述待处理任务有效,则基于所述待处理任务的剩余有效时长,调整所述待处理任务的优先级。
因此,本发明实施例提供的线程的调整终端同样可以通过以预设的时间间隔查询待处理任务库中包含的任务个数,并根据该任务个数实时调整当前的线程启动个数,以使终端设备的服务响应能力与当前的待处理任务的数量相匹配;终端设备在确定了线程启动个数后,则从待处理任务库中,基于各个待处理任务的优先级,从待处理任务库中提取与线程启动个数一致的待处理任务,并进行响应,从而实现了动态调整终端设备的线程启动个数的目的。与现有的服务响应技术相比,服务器的启动线程个数保持不变,当待处理任务较少时,容易出现线程启动但空闲,浪费了服务器的资源,当待处理任务较多时,又不会增加当前的线程启动的个数,容易导致任务积压的情况,而本实施例在每次对待处理任务进行批量并发响应之前,将根据当前待处理任务库中包含的待处理任务,调整当前的线程启动个数,从而在每个服务响应周期到达的时刻,保持终端设备的服务响应能力与当前的任务数相匹配,提高了服务响应的效率以及终端设备的服务质量,为用户提供更好的使用体验。
图7是本发明另一实施例提供的一种终端设备的示意图。如图7所示,该实施例的终端设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如线程的调整程序。所述处理器70执行所述计算机程序72时实现上述各个线程的调整方法实施例中的步骤,例如图1所示的S101至S104。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各单元的功能,例如图6所示模块61至64功能。
示例性的,所述计算机程序72可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述终端设备7中的执行过程。例如,所述计算机程序72可以被分割成任务个数确定单元、当前线程启动个数确定单元、待处理任务提取单元以及待处理任务响应单元,各单元具体功能如下:
任务个数确定单元,用于以预设的时间间隔查询待处理任务库中包含的任务个数;
当前线程启动个数确定单元,用于根据所述任务个数以及预设的线程启动上限,确定当前的线程启动个数;
待处理任务提取单元,用于基于各个待处理任务的优先级,从所述待处理任务库中提取与所述线程启动个数匹配的待处理任务;
待处理任务响应单元,用于启动与所述线程启动个数对应的线程,并通过所述线程响应所述待处理任务。
所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的示例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种线程的调整方法,其特征在于,包括:
以预设的时间间隔查询待处理任务库中包含的任务个数;
根据所述任务个数以及预设的线程启动上限,确定当前的线程启动个数;
基于各个待处理任务的优先级,从所述待处理任务库中提取与所述线程启动个数匹配的待处理任务;
启动与所述线程启动个数对应的线程,并通过所述线程响应所述待处理任务。
2.根据权利要求1所述的调整方法,其特征在于,所述根据所述任务个数以及预设的线程启动上限,确定当前的线程启动个数,包括:
获取当前时刻的时间信息;
基于预设的线程启动上限与时间信息的对应关系,确定所述时间信息对应的所述线程启动上限;
根据所述任务个数以及所述时间信息对应的所述线程启动上限,确定当前的线程启动个数。
3.根据权利要求2所述的调整方法,其特征在于,所述调整方法还包括:
获取历史服务响应记录;其中,所述历史服务响应记录包括各个时间段的待处理任务信息以及硬件资源运行信息;
基于所述历史服务响应记录,生成所述线程启动上限与时间信息的对应关系。
4.根据权利要求1-3任一项所述的调整方法,其特征在于,所述根据所述任务个数以及预设的线程启动上限,确定当前的线程启动个数,还包括:
若所述任务个数大于所述线程启动上限,则判断所述任务个数与所述线程启动上限之间的第一比值是否大于预设的上调触发阈值;
若所述第一比值大于预设的上调触发阈值,则基于所述第一比值,提高所述线程启动上限,并选取所述任务个数与提高后的所述线程启动上限中的较小值作为所述当前的线程启动个数;
若所述任务个数小于所述线程启动上限,则判断所述线程启动上限与所述任务个数之间的第二比值是否大于预设的下调触发阈值;
若所述第二比值大于预设的下调触发阈值,则基于所述第一比值,降低所述线程启动上限,并选取所述任务个数与降低后的所述线程启动上限中的较小值作为所述当前的线程启动个数。
5.根据权利要求1所述的调整方法,其特征在于,所述基于各个待处理任务的优先级,从所述待处理任务库中提取与所述线程启动个数匹配的待处理任务,包括:
根据各个待处理任务的最大等待时长以及任务发送时刻,分别判定各个所述待处理任务是否有效;
若所述待处理任务无效,则将所述待处理任务从所述待处理任务库中删除,并向所述待处理任务对应的客户返回服务超时信息;
若所述待处理任务有效,则基于所述待处理任务的剩余有效时长,调整所述待处理任务的优先级。
6.一种终端设备,其特征在于,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
以预设的时间间隔查询待处理任务库中包含的任务个数;
根据所述任务个数以及预设的线程启动上限,确定当前的线程启动个数;
基于各个待处理任务的优先级,从所述待处理任务库中提取与所述线程启动个数匹配的待处理任务;
启动与所述线程启动个数对应的线程,并通过所述线程响应所述待处理任务。
7.根据权利要求6所述的终端设备,其特征在于,所述根据所述任务个数以及预设的线程启动上限,确定当前的线程启动个数,包括:
获取当前时刻的时间信息;
基于预设的线程启动上限与时间信息的对应关系,确定所述时间信息对应的所述线程启动上限;
根据所述任务个数以及所述时间信息对应的所述线程启动上限,确定当前的线程启动个数。
8.根据权利要求7所述的终端设备,其特征在于,所述处理器执行所述计算机程序时还实现如下步骤:
获取历史服务响应记录;其中,所述历史服务响应记录包括各个时间段的待处理任务信息以及硬件资源运行信息;
基于所述历史服务响应记录,生成所述线程启动上限与时间信息的对应关系。
9.根据权利要求6-8任一项所述的终端设备,其特征在于,
所述根据所述任务个数以及预设的线程启动上限,确定当前的线程启动个数,还包括:
若所述任务个数大于所述线程启动上限,则判断所述任务个数与所述线程启动上限之间的第一比值是否大于预设的上调触发阈值;
若所述第一比值大于预设的上调触发阈值,则基于所述第一比值,提高所述线程启动上限,并选取所述任务个数与提高后的所述线程启动上限中的较小值作为所述当前的线程启动个数;
若所述任务个数小于所述线程启动上限,则判断所述线程启动上限与所述任务个数之间的第二比值是否大于预设的下调触发阈值;
若所述第二比值大于预设的下调触发阈值,则基于所述第一比值,降低所述线程启动上限,并选取所述任务个数与降低后的所述线程启动上限中的较小值作为所述当前的线程启动个数。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
CN201710985525.9A 2017-10-20 2017-10-20 一种线程的调整方法及其终端 Active CN107832126B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710985525.9A CN107832126B (zh) 2017-10-20 2017-10-20 一种线程的调整方法及其终端
PCT/CN2018/077682 WO2019075980A1 (zh) 2017-10-20 2018-02-28 一种线程的调整方法及其终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710985525.9A CN107832126B (zh) 2017-10-20 2017-10-20 一种线程的调整方法及其终端

Publications (2)

Publication Number Publication Date
CN107832126A true CN107832126A (zh) 2018-03-23
CN107832126B CN107832126B (zh) 2020-06-12

Family

ID=61648667

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710985525.9A Active CN107832126B (zh) 2017-10-20 2017-10-20 一种线程的调整方法及其终端

Country Status (2)

Country Link
CN (1) CN107832126B (zh)
WO (1) WO2019075980A1 (zh)

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108710538A (zh) * 2018-05-14 2018-10-26 中国平安人寿保险股份有限公司 一种线程配置方法、计算机可读存储介质及终端设备
CN109063140A (zh) * 2018-08-03 2018-12-21 福州麦辽自动化设备有限公司 一种数据查询方法、中转服务器及计算机可读存储介质
CN109086132A (zh) * 2018-06-26 2018-12-25 深圳市买买提信息科技有限公司 一种人脸识别任务均衡调用方法、装置及终端设备
CN109189336A (zh) * 2018-08-17 2019-01-11 郑州云海信息技术有限公司 一种存储***线程调整方法、***及电子设备和存储介质
CN109254835A (zh) * 2018-06-27 2019-01-22 阿里巴巴集团控股有限公司 批处理任务的处理方法、装置、服务器及可读存储介质
CN109271252A (zh) * 2018-08-29 2019-01-25 华为技术有限公司 一种调整线程数的方法及装置
CN109544015A (zh) * 2018-11-26 2019-03-29 平安科技(深圳)有限公司 一种基于数据处理的任务分配方法及相关设备
CN109710402A (zh) * 2018-12-17 2019-05-03 平安普惠企业管理有限公司 处理资源获取请求的方法、装置、计算机设备和存储介质
CN109815007A (zh) * 2018-12-15 2019-05-28 平安科技(深圳)有限公司 基于云监控的线程控制方法、装置、电子设备及存储介质
CN110287018A (zh) * 2019-07-04 2019-09-27 中国工商银行股份有限公司 批量任务编排方法及装置
CN110413419A (zh) * 2018-04-28 2019-11-05 北京京东尚科信息技术有限公司 一种规则执行的方法和装置
CN111262894A (zh) * 2018-11-30 2020-06-09 北京嘀嘀无限科技发展有限公司 一种控制在线咨询用户量的方法及装置
CN111324447A (zh) * 2019-06-26 2020-06-23 杭州海康威视***技术有限公司 线程的调整方法、装置、应用服务器和存储介质
CN111415725A (zh) * 2020-03-05 2020-07-14 北京深睿博联科技有限责任公司 一种应用于ai医疗影像诊断算法调度方法、***、终端及存储介质
CN111552567A (zh) * 2020-04-27 2020-08-18 北京奇艺世纪科技有限公司 一种线程管理方法、装置、电子设备及存储介质
CN111782378A (zh) * 2020-07-29 2020-10-16 平安银行股份有限公司 自适应性的处理性能调整方法、服务器及可读存储介质
CN111784533A (zh) * 2020-06-16 2020-10-16 洪江川 基于人工智能和大数据的信息分析方法及云计算平台
CN112000446A (zh) * 2020-07-13 2020-11-27 深圳市优必选科技股份有限公司 一种数据传输的方法及机器人
CN112069367A (zh) * 2020-09-07 2020-12-11 上海金仕达软件科技有限公司 一种任务调度方法及***
CN112153060A (zh) * 2020-09-27 2020-12-29 苏州浪潮智能科技有限公司 Smb协议服务器的通信控制方法、***及相关组件
CN112882818A (zh) * 2021-03-30 2021-06-01 中信银行股份有限公司 任务动态调整方法、装置以及设备
CN113222456A (zh) * 2021-05-29 2021-08-06 长沙市到家悠享家政服务有限公司 任务处理方法、***、电子设备及计算机可读介质
CN113568737A (zh) * 2021-06-30 2021-10-29 北京达佳互联信息技术有限公司 硬件资源分配方法及装置
CN113885956A (zh) * 2021-09-29 2022-01-04 北京百度网讯科技有限公司 服务部署方法及装置、电子设备和存储介质
CN113886185A (zh) * 2021-10-16 2022-01-04 深圳市瑞云科技有限公司 一种自动判断平台繁忙状态的方法
CN116755869A (zh) * 2023-08-23 2023-09-15 北京浩然五洲软件技术有限公司 一种金融业务进件处理方法、***和介质
CN117453363A (zh) * 2023-11-06 2024-01-26 北京明朝万达科技股份有限公司 一种附件处理方法及装置、电子设备、存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080155549A1 (en) * 2006-12-20 2008-06-26 Blinick Stephen L Method and Apparatus for Adjusting Sleep Time of Fixed High-Priority Threads
CN102779062A (zh) * 2011-05-09 2012-11-14 阿里巴巴集团控股有限公司 一种访问***资源的线程数量的控制方法及装置
CN104572277A (zh) * 2014-12-17 2015-04-29 大唐移动通信设备有限公司 一种线程流控方法和装置
CN106952163A (zh) * 2016-01-07 2017-07-14 平安科技(深圳)有限公司 保险数据处理方法及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080155549A1 (en) * 2006-12-20 2008-06-26 Blinick Stephen L Method and Apparatus for Adjusting Sleep Time of Fixed High-Priority Threads
CN102779062A (zh) * 2011-05-09 2012-11-14 阿里巴巴集团控股有限公司 一种访问***资源的线程数量的控制方法及装置
CN104572277A (zh) * 2014-12-17 2015-04-29 大唐移动通信设备有限公司 一种线程流控方法和装置
CN106952163A (zh) * 2016-01-07 2017-07-14 平安科技(深圳)有限公司 保险数据处理方法及***

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110413419A (zh) * 2018-04-28 2019-11-05 北京京东尚科信息技术有限公司 一种规则执行的方法和装置
CN108710538A (zh) * 2018-05-14 2018-10-26 中国平安人寿保险股份有限公司 一种线程配置方法、计算机可读存储介质及终端设备
CN108710538B (zh) * 2018-05-14 2023-06-02 中国平安人寿保险股份有限公司 一种线程配置方法、计算机可读存储介质及终端设备
CN109086132A (zh) * 2018-06-26 2018-12-25 深圳市买买提信息科技有限公司 一种人脸识别任务均衡调用方法、装置及终端设备
CN109254835A (zh) * 2018-06-27 2019-01-22 阿里巴巴集团控股有限公司 批处理任务的处理方法、装置、服务器及可读存储介质
CN109063140A (zh) * 2018-08-03 2018-12-21 福州麦辽自动化设备有限公司 一种数据查询方法、中转服务器及计算机可读存储介质
CN109189336A (zh) * 2018-08-17 2019-01-11 郑州云海信息技术有限公司 一种存储***线程调整方法、***及电子设备和存储介质
CN109271252A (zh) * 2018-08-29 2019-01-25 华为技术有限公司 一种调整线程数的方法及装置
CN109544015A (zh) * 2018-11-26 2019-03-29 平安科技(深圳)有限公司 一种基于数据处理的任务分配方法及相关设备
CN109544015B (zh) * 2018-11-26 2023-07-25 平安科技(深圳)有限公司 一种基于数据处理的任务分配方法及相关设备
CN111262894A (zh) * 2018-11-30 2020-06-09 北京嘀嘀无限科技发展有限公司 一种控制在线咨询用户量的方法及装置
CN109815007A (zh) * 2018-12-15 2019-05-28 平安科技(深圳)有限公司 基于云监控的线程控制方法、装置、电子设备及存储介质
CN109710402A (zh) * 2018-12-17 2019-05-03 平安普惠企业管理有限公司 处理资源获取请求的方法、装置、计算机设备和存储介质
CN111324447A (zh) * 2019-06-26 2020-06-23 杭州海康威视***技术有限公司 线程的调整方法、装置、应用服务器和存储介质
CN111324447B (zh) * 2019-06-26 2023-03-28 杭州海康威视***技术有限公司 线程的调整方法、装置、应用服务器和存储介质
CN110287018A (zh) * 2019-07-04 2019-09-27 中国工商银行股份有限公司 批量任务编排方法及装置
CN110287018B (zh) * 2019-07-04 2021-08-13 中国工商银行股份有限公司 批量任务编排方法及装置
CN111415725A (zh) * 2020-03-05 2020-07-14 北京深睿博联科技有限责任公司 一种应用于ai医疗影像诊断算法调度方法、***、终端及存储介质
CN111415725B (zh) * 2020-03-05 2023-09-26 北京深睿博联科技有限责任公司 一种应用于ai医疗影像诊断算法调度方法、***、终端及存储介质
CN111552567A (zh) * 2020-04-27 2020-08-18 北京奇艺世纪科技有限公司 一种线程管理方法、装置、电子设备及存储介质
CN111784533A (zh) * 2020-06-16 2020-10-16 洪江川 基于人工智能和大数据的信息分析方法及云计算平台
CN111784533B (zh) * 2020-06-16 2021-04-27 无限数联网络科技(北京)有限公司 基于人工智能和大数据的信息分析方法及云计算平台
CN112000446A (zh) * 2020-07-13 2020-11-27 深圳市优必选科技股份有限公司 一种数据传输的方法及机器人
CN111782378A (zh) * 2020-07-29 2020-10-16 平安银行股份有限公司 自适应性的处理性能调整方法、服务器及可读存储介质
CN111782378B (zh) * 2020-07-29 2024-04-16 平安银行股份有限公司 自适应性的处理性能调整方法、服务器及可读存储介质
CN112069367A (zh) * 2020-09-07 2020-12-11 上海金仕达软件科技有限公司 一种任务调度方法及***
CN112153060A (zh) * 2020-09-27 2020-12-29 苏州浪潮智能科技有限公司 Smb协议服务器的通信控制方法、***及相关组件
CN112882818A (zh) * 2021-03-30 2021-06-01 中信银行股份有限公司 任务动态调整方法、装置以及设备
CN113222456A (zh) * 2021-05-29 2021-08-06 长沙市到家悠享家政服务有限公司 任务处理方法、***、电子设备及计算机可读介质
CN113568737B (zh) * 2021-06-30 2024-03-26 北京达佳互联信息技术有限公司 硬件资源分配方法及装置
CN113568737A (zh) * 2021-06-30 2021-10-29 北京达佳互联信息技术有限公司 硬件资源分配方法及装置
CN113885956B (zh) * 2021-09-29 2023-08-29 北京百度网讯科技有限公司 服务部署方法及装置、电子设备和存储介质
CN113885956A (zh) * 2021-09-29 2022-01-04 北京百度网讯科技有限公司 服务部署方法及装置、电子设备和存储介质
CN113886185B (zh) * 2021-10-16 2023-07-11 深圳市瑞云科技有限公司 一种自动判断平台繁忙状态的方法
CN113886185A (zh) * 2021-10-16 2022-01-04 深圳市瑞云科技有限公司 一种自动判断平台繁忙状态的方法
CN116755869A (zh) * 2023-08-23 2023-09-15 北京浩然五洲软件技术有限公司 一种金融业务进件处理方法、***和介质
CN116755869B (zh) * 2023-08-23 2023-10-27 北京浩然五洲软件技术有限公司 一种金融业务进件处理方法、***和介质
CN117453363A (zh) * 2023-11-06 2024-01-26 北京明朝万达科技股份有限公司 一种附件处理方法及装置、电子设备、存储介质

Also Published As

Publication number Publication date
WO2019075980A1 (zh) 2019-04-25
CN107832126B (zh) 2020-06-12

Similar Documents

Publication Publication Date Title
CN107832126A (zh) 一种线程的调整方法及其终端
CN110333937A (zh) 任务分发方法、装置、计算机设备和存储介质
CN109889999B (zh) 一种物联网卡的流量池管理方法、***和终端
CN110597858A (zh) 任务数据处理方法、装置、计算机设备和存储介质
CN107800756A (zh) 一种负载均衡方法及负载均衡器
CN106101080A (zh) 页面访问控制方法和装置
CN106201661A (zh) 用于弹性伸缩虚拟机集群的方法和装置
CN106209682A (zh) 业务调度方法、装置和***
CN108205541A (zh) 分布式网络爬虫任务的调度方法及装置
CN110096388A (zh) 一种数据备份的方法、装置及计算机存储介质
CN108400898A (zh) 云数据管理平台中资源的管理方法和装置
CN108418787A (zh) 企业资源计划数据的采集方法、终端设备及介质
CN107689966A (zh) 账号资源共享方法、***、设备和计算机可读存储介质
CN114661476A (zh) 一种任务处理方法、装置、设备以及存储介质
CN115239450A (zh) 财务数据处理方法、装置、计算机设备及存储介质
CN111260253A (zh) 信息发送方法、装置、计算机设备及存储介质
CN110225088A (zh) 一种云桌面管理方法和***
CN105450679B (zh) 进行数据云存储的方法及***
CN108388409A (zh) 打印请求处理方法、装置、计算机设备和存储介质
CN112270466A (zh) 一种车辆充电装置的运营方法及装置
CN107277143A (zh) 一种资源匹配管理方法及装置
CN106933655A (zh) 事件执行方法及装置
CN116484985A (zh) 网点业务预约方法、装置、***及电子设备
CN110515991A (zh) 批量配送文件的收集方法及装置、存储介质、终端
CN106919450A (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