CN110865877B - 一种任务请求的响应方法及设备 - Google Patents

一种任务请求的响应方法及设备 Download PDF

Info

Publication number
CN110865877B
CN110865877B CN201910973876.7A CN201910973876A CN110865877B CN 110865877 B CN110865877 B CN 110865877B CN 201910973876 A CN201910973876 A CN 201910973876A CN 110865877 B CN110865877 B CN 110865877B
Authority
CN
China
Prior art keywords
task
response
list
trigger period
period
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
CN201910973876.7A
Other languages
English (en)
Other versions
CN110865877A (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 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 CN201910973876.7A priority Critical patent/CN110865877B/zh
Publication of CN110865877A publication Critical patent/CN110865877A/zh
Application granted granted Critical
Publication of CN110865877B publication Critical patent/CN110865877B/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
    • 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)
  • Mobile Radio Communication Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明适用于数据处理技术领域,提供了一种任务请求的响应方法及设备,包括:若到达预设的任务触发周期,则获取上一任务触发周期的第一响应次序;基于所第一响应次序,确定当前的任务触发周期的第二响应次序;以第二响应次序依次从任务列表内提取任务请求进行响应;若检测到当前的任务触发周期正在执行的任务请求的第二任务编号与上一任务触发周期正在执行的任务请求的第一任务编号相同,则停止当前的任务触发周期的响应操作,并输出列表响应完成信息。本发明在两个相邻的任务触发周期配置相反的任务响应次序,通过正逆序的方式响应任务列表内的任务请求,避免了对相同的任务进行重复响应,避免了设备资源浪费的情况发生,提高了任务响应的效率。

Description

一种任务请求的响应方法及设备
技术领域
本发明属于数据处理技术领域,尤其涉及一种任务请求的响应方法及设备。
背景技术
随着信息化进程的不断推进,大部分的服务均通过线上处理以及响应。定时任务类型由于自动化程度高而且设置方便等优点,被广泛应用于各个领域。现有的定时任务响应技术,一般用于处理批量任务,例如统一对用户推送产品信息,或者定时将任务池内的信息发送给指定目标。然而在执行定时操作的过程中,若两个定时操作之间的时间间隔较短,由于上一触发周期内的任务并未执行完毕,而下一触发周期到达时,待处理列表中将会包含上一触发周期的待处理任务,从而会导致上一触发周期与本次触发周期的任务重叠,任务请求的响应设备会出现对重叠的任务进行重复响应,浪费了设备资源的同时还降低了任务响应的效率。
发明内容
有鉴于此,本发明实施例提供了一种任务请求的响应方法及设备,以解决现有的任务请求的响应响应技术,在响应大量任务请求的情况下,若两个定时操作之间的时间间隔较短,上一触发周期与本次触发周期任务请求会出现重叠,从而导致对重叠的任务进行重复响应,浪费了设备资源的同时还降低了任务响应的效率的问题。
本发明实施例的第一方面提供了一种任务请求的响应方法,包括:
若到达预设的任务触发周期,则获取上一所述任务触发周期的第一响应次序;所述第一响应次序为在上一所述任务触发周期响应任务列表内的任务请求时的响应次序;
基于所第一响应次序,确定当前的所述任务触发周期的第二响应次序;所述第二响应次序与所述第一响应次序互为逆序;
以所述第二响应次序依次从所述任务列表内提取所述任务请求进行响应;
若检测到当前的所述任务触发周期正在执行的任务请求的第二任务编号与上一所述任务触发周期正在执行的任务请求的第一任务编号相同,则停止当前的所述任务触发周期的响应操作,并输出列表响应完成信息。
本发明实施例的第二方面提供了一种任务请求的响应设备,包括:
第一响应次序确定单元,用于若到达预设的任务触发周期,则获取上一所述任务触发周期的第一响应次序;所述第一响应次序为在上一所述任务触发周期响应任务列表内的任务请求时的响应次序;
第二响应次序确定单元,用于基于所第一响应次序,确定当前的所述任务触发周期的第二响应次序;所述第二响应次序与所述第一响应次序互为逆序;
任务响应单元,用于以所述第二响应次序依次从所述任务列表内提取所述任务请求进行响应;
响应完成判定单元,用于若检测到当前的所述任务触发周期正在执行的任务请求的第二任务编号与上一所述任务触发周期正在执行的任务请求的第一任务编号相同,则停止当前的所述任务触发周期的响应操作,并输出列表响应完成信息。
本发明实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面的各个步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方面的各个步骤。
实施本发明实施例提供的一种任务请求的响应方法及设备具有以下有益效果:
本发明实施例通过在检测到到达预设的任务触发周期时,获取上一任务触发周期的第一响应次序,并根据第一响应次序确定当前任务触发周期的第二响应次序,由于第一响应次序与第二响应次序之间互为逆序,即若上一任务触发周期是基于正序处理任务列表内的任务请求,而当前任务触发周期是基于逆序处理任务列表内的任务请求,即便两个周期的任务列表重合,正在处理的任务请求也是基于相反的次序依次进行响应,并且在上一任务触发周期正在处理的第一任务编号与当前任务触发周期正在处理的第二任务编号相同时,则表示该任务列表内的所有任务请求均已响应完毕或被某一任务触发周期内的线程正在响应,此时,可以识别该任务列表内的任务请求已经处理完毕,可以输出列表响应完成信息,实现了多周期对同一任务列表内的任务请求进行响应。与现有的任务响应技术相比,本发明实施例在两个任务触发周期之间的相距时间较短时,需要对同一任务列表内的任务请求进行响应,在两个相邻的任务触发周期配置相反的任务响应次序,通过正逆序的方式响应任务列表内的任务请求,从而避免了对相同的任务进行重复响应,避免了设备资源浪费的情况发生,也提高了任务响应的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的一种任务请求的响应方法的实现流程图;
图2是本发明第二实施例提供的一种任务请求的响应方法具体实现流程图;
图3是本发明第三实施例提供的一种任务请求的响应方法具体实现流程图;
图4是本发明第四实施例提供的一种任务请求的响应方法S101具体实现流程图;
图5是本发明第五实施例提供的一种任务请求的响应方法S103具体实现流程图;
图6是本发明一实施例提供的一种任务请求的响应设备的结构框图;
图7是本发明另一实施例提供的一种终端设备的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例通过在检测到满足预设的任务触发周期时,获取上一任务触发周期的第一响应次序,并根据第一响应次序确定当前任务触发周期的第二响应次序,由于第一响应次序与第二响应次序之间互为逆序,即若上一任务触发周期是基于正序处理任务列表内的任务请求,而当前任务触发周期是基于逆序处理任务列表内的任务请求,即便两个周期的任务列表重合,正在处理的任务请求也是基于相反的次序依次进行响应,并且在上一任务触发周期正在处理的第一任务编号与当前任务触发周期正在处理的第二任务编号相同时,则表示该任务列表内的所有任务请求均已响应完毕或被某一任务触发周期内的线程正在响应,此时,可以识别该任务列表内的任务请求已经处理完毕,可以输出列表响应完成信息,实现了多周期对同一任务列表内的任务请求进行响应,解决了任务请求的响应响应技术,在响应大量任务请求的情况下,若两个定时操作之间的时间间隔较短,上一触发周期与本次触发周期任务请求会出现重叠,从而导致对重叠的任务进行重复响应,浪费了设备资源的同时还降低了任务响应的效率的问题。
在本发明实施例中,流程的执行主体为终端设备。该终端设备包括但不限于:服务器、计算机、智能手机以及平板电脑等能够执行任务请求响应操作的设备。图1示出了本发明第一实施例提供的任务请求的响应方法的实现流程图,详述如下:
在S101中,若到达预设的任务触发周期,则获取上一所述任务触发周期的第一响应次序;所述第一响应次序为在上一所述任务触发周期响应任务列表内的任务请求时的响应次序。
在本实施例中,终端设备可以接收来自其他用户终端或设备发送的任务请求,并根据各个任务请求的优先级,确定该任务请求在任务列表中的顺序。当然,若各个任务请求的优先级相同,则可以基于任务请求的发送时间或者预设的随机排序算法,得到该任务请求在任务列表内的序号。当然,终端设备除了接收其他用户终端发送的任务请求外,管理员还可以配置有定时触发任务,例如设置有任务触发节点,若终端设备检测到达任务触发节点,则获取该任务触发节点关联有的定时任务,将所有定时任务添加到任务列表内,同样地,可以基于各个定时任务的优先级或任务创建时间,确定该任务请求在任务列表内的次序。
举例性地,管理员可以设置有目标对象参数,例如交易金额大于预设的金额阈值的用户识别为目标对象,又或者,当月存在交易行为的用户识别为目标对象。终端设备若检测到达预设的任务触发节点时,例如到达当月的最后一天,则基于该任务触发节点关联的目标对象参数,从对象数据库中提取与目标对象参数匹配的目标对象,并为每个目标对象配置一个任务请求,生成任务列表,同时基于任务请求的任务内容,确定关联的任务触发周期,终端设备若检测到到达任务触发周期时,则获取关联的任务列表,并处理该任务列表内包含的任务请求。
可选地,在本实施例中,若检测到到达任务触发周期,且当前任务触发周期为首个任务触发周期,即不存在上一任务触发周期,则可以将本次任务触发周期设置为初始默认次序,具体地,该初始默认次序可以为正序,即基于任务列表内各个任务请求的任务编号由小到大依次进行响应。
需要强调的是,在本实施例中,终端设备设置有任务触发周期,终端设备可以基于该任务触发周期对任务列表内的任务请求进行响应,若任务触发周期的响应时长大于任务触发周期的周期时长,即会出现上一任务触发周期仍在响应任务请求,同时终端设备会进入到下一任务触发周期,此时,终端设备会存在两个任务触发周期同时对同一任务列表内的任务请求进行响应的情况。例如,第N个任务触发周期占用了序号为1至10的线程对任务列表内的任务请求进行响应,此时,终端设备检测到进入到第N+1个任务触发周期,则占用序号11至20的线程对该任务列表内的其他任务请求进行响应。为了避免任务触发周期冲突,任务触发周期的响应时长会小于两倍的任务触发周期的周期时长,从而保证了同一时间内最多只有两个同时正在执行的任务触发周期。
在S102中,基于所第一响应次序,确定当前的所述任务触发周期的第二响应次序;所述第二响应次序与所述第一响应次序互为逆序。
在本实施例中,终端设备在获取了上一任务触发周期的第一响应次序后,可以根据该第一响应次序确定当前任务触发周期的第二响应次序,且第一响应次序与第二响应次序之间互为逆序。例如,第一响应次序为正序,即根据任务标号从小到大从任务列表内提取任务请求;则第二响应次序为逆序,即根据任务标号从大到小从任务列表内提取任务请求。反之,若第一响应次序为逆序,则第二响应次序为正序。
在S103中,以所述第二响应次序依次从所述任务列表内提取所述任务请求进行响应。
在本实施例中,终端设备在当前任务触发周期的第二响应次序后,可以基于该第二响应次序依次从任务列表中提取任务请求进行响应。需要说明的是,若该第二响应次序为正序,则从任务列表中任务编号最小的任务请求开始提取并进行响应,在完成该任务请求后,则从未响应的任务请求中任务编号最小的任务请求进行提取,以此类推;若该第二响应次序为逆序,则从任务列表中任务编号最大的任务请求开始提取并进行响应,同样地,在响应完成后,则从未响应的任务请求中任务编号最大的任务请求进行提取,以此类型。
需要说明的是,若当前任务触发周期所处理的任务列表与上一任务触发周期所处理的任务列表为不同的列表,由于当任务列表内的所有任务请求均被响应完毕后,终端设备可以基于已接收的待执行任务,重新生成对应的任务列表,并交由当前任务触发周期进行响应,此时,依然可以通过上一任务触发周期的第一响应次序确定当前任务触发周期的第二响应次序。而在该情况下,则当前任务周期为首个任务周期对任务列表内的任务请求进行响应,则不会出现第二任务编号与上一任务触发周期正在执行的任务请求的第一任务编号相同的情况,此时,终端设备会在当前任务触发周期对应的最大响应时长内通过本周期调用的线程对该任务列表内的任务请求进行响应。
在本实施例中,终端设备在每个任务触发周期可以为该周期配置多个任务响应线程,并通过多个任务响应线程同时对任务列表内的多个任务请求进行响应。此时,若检测到任一任务响应线程内正在处理的任务请求的第二任务编号与上一任务触发周期正在执行的任务请求或上一任务触发周期最后处理的任务请求的第一任务编号相同,则执行S104的操作。
在S104中,若检测到当前的所述任务触发周期正在执行的任务请求的第二任务编号与上一所述任务触发周期正在执行的任务请求的第一任务编号相同,则停止当前的所述任务触发周期的响应操作,并输出列表响应完成信息。
在本实施例中,终端设备若检测到第二任务编号与第一任务编号相同,且两个相邻任务触发周期的处理次序互逆,则此时任务列表内的所有任务请求均被任务触发周期内的线程提取并响应,此时,终端设备会将第一任务编号与第二任务编号相同的任务请求通过上一任务触发周期的线程进行响应,并停止当前任务触发周期对于该任务请求的响应操作,并输出列表响应完成信息,终端设备会识别该任务列表内的所有任务请求均执行完毕,可以基于待处理的任务请求创建新的任务列表。
以上可以看出,本发明实施例提供的一种任务请求的响应方法通过在检测到到达预设的任务触发周期时,获取上一任务触发周期的第一响应次序,并根据第一响应次序确定当前任务触发周期的第二响应次序,由于第一响应次序与第二响应次序之间互为逆序,即若上一任务触发周期是基于正序处理任务列表内的任务请求,而当前任务触发周期是基于逆序处理任务列表内的任务请求,即便两个周期的任务列表重合,正在处理的任务请求也是基于相反的次序依次进行响应,并且在上一任务触发周期正在处理的第一任务编号与当前任务触发周期正在处理的第二任务编号相同时,则表示该任务列表内的所有任务请求均已响应完毕或被某一任务触发周期内的线程正在响应,此时,可以识别该任务列表内的任务请求已经处理完毕,可以输出列表响应完成信息,实现了多周期对同一任务列表内的任务请求进行响应。与现有的任务响应技术相比,本发明实施例在两个任务触发周期之间的相距时间较短时,需要对同一任务列表内的任务请求进行响应,在两个相邻的任务触发周期配置相反的任务响应次序,通过正逆序的方式响应任务列表内的任务请求,从而避免了对相同的任务进行重复响应,避免了设备资源浪费的情况发生,也提高了任务响应的效率。
图2示出了本发明第二实施例提供的一种任务请求的响应方法的具体实现流程图。参见图2,相对于图1所述实施例,本实施例提供的一种任务请求的响应方法还包括:S201~S204,具体详述如下:
进一步地,在所述若到达预设的任务触发周期,则获取上一所述任务触发周期的第一响应次序之前,还包括:
在S201中,若满足预设的任务划分触发条件,则确定满足所述任务划分触发条件时刻所属的时间段号,从响应数据库内提取关于所述时间段号的所有历史响应记录。
在本实施例中,终端设备可以设置有任务划分触发条件,例如待处理任务的个数大于预设的个数阈值,或者,满足预设的定时任务触发条件,并生成了多个定时任务请求,此时,任务池内会存在大量未响应的任务请求,终端设备则对该任务池内的任务请求进行划分,得到多个任务列表。以任务触发周期为单位周期性处理各个任务列表内的任务请求。
在本实施例中,终端设备可以为一任务响应服务器,在该情况下,终端设备处理需要对任务请求进行响应外,还需要分配一定的资源量来进行任务请求的接收以及任务结果的下发操作,而不同的时间段,任务请求的发送频率也不同,即终端设备会存在闲时以及忙时,不同的时间段终端设备可以划分的硬件资源用于进行任务请求的响应操作的量存在差异。为了使得任务列表与当前时间段的任务处理能力相匹配,终端设备根据预设的时间段划分规则,将时间划分为多个不同的时间段,例如以每半小时或每一小时作为一个时间段,并基于各个时间段的先后次序确定对应的时间段号,继而确定满足任务划分触发条件时刻对应的时间段号,并从响应数据库中提取该时间段号的所有历史响应记录,通过历史响应记录确定该时间段号的终端设备的任务处理能力,并基于该任务处理能力生成匹配的任务列表。
在S202中,分别获取各个所述历史响应记录中的历史响应个数,并基于所有所述历史响应个数计算历史响应均值。
在本实施例中,该历史响应记录具体用于记录不同时间段号内历史响应过的历史任务请求的处理情况,即每个历史响应记录关联有一个时间段号。终端设别可以从响应数据库中提取关于当前时刻的时间段号在不同日期的历史响应记录,并基于历史响应记录中记录有的任务明细,获取该历史响应记录对应的历史响应个数,并根据历史响应记录的总数以及各个记录对应的历史响应个数,计算出历史响应均值。
在S203中,将所有所述历史响应个数以及所述历史响应均值导入到期望任务数转换模型,计算所述时间段号的期望任务个数;所述期望任务数转换模型具体为:
其中,ξmission为所述期望任务个数;AVGmission为所述历史响应均值;LoadLv为所述时间段号关联的闲忙调整系数;Hismissioni为第i个所述历史响应记录的历史响应个数;n为所述历史响应记录的总数。
在本实施例中,终端设备还会基于该时间段号,从闲忙系数对应表中提取关丽娜的闲忙调整系数,从而能够提高期望任务个数的准确率。终端设备将计算得到的历史响应均值以及各个历史响应个数导入到期望任务个数转换模型,计算该时间段号对应的期望任务个数。
在S204中,基于所述期望任务个数对任务池内的所有任务请求进行划分,得到至少一个所述任务列表。
在本实施例中,终端设备会基于期望任务个数作为基准量,对任务池内的所有任务请求进行划分,生成任务列表,其中任务列表内的任务量小于或等于该期望任务个数。
在本发明实施例中,通过获取历史响应记录,确定期望任务个数,并基于任务个数对任务池内的任务请求进行划分,从而划分得到的任务列表的任务量与当前时间段的终端设备的任务处理能力相匹配,避免了设备过载而降低了任务响应效率的情况。
图3示出了本发明第三实施例提供的一种任务请求的响应方法的具体实现流程图。参见图3,相对于图1所述的实施例,本实施例提供的一种任务请求的响应方法还包括:S301~S303,具体详述如下:
进一步地,在所述以所述第二响应次序依次从所述任务列表内提取所述任务请求进行响应之后,还包括
在S301中,若到达当前的所述任务触发周期的周期结束时刻,且所述第二任务编号以及所述第一任务编号不同,则根据所述第一任务编号以及所述第二任务编号,确定所述任务列表内未响应的所述任务请求。
在本实施例中,每个任务触发周期存在对应的最大响应时长,若检测到当前的任务触发周期的响应时长与预设的最大响应时长相同,则识别到达该任务触发周期的周期结束时刻,此时,若第二任务编号以及第一任务编号不同,则表示通过两个任务周期触发周期并未对该任务列表内的所有任务请求完全处理完毕,需要通过第三个任务触发周期继续对该任务列表内未处理的任务请求进行响应,而上述两个任务周期触发周期分别从不同的响应次序提取该任务列表内的任务请求,为了避免对已响应的任务请求进行重复响应,终端设备需要根据第一任务编号以及第二任务编号确定该任务列表内未响应的任务请求。
举例性,第一任务编号为50,且第一响应次序为正序响应,而第二任务编号为80,且第二响应次序为逆序响应,则可以确定任务编号为51至79的任务请求为未响应的任务请求。
在S302中,基于未响应的所述任务请求更新所述任务列表。
在本实施例中,终端设备对未响应的任务请求进行重新排序,即为各个任务请求配置新的任务编号,并基于重配置后的任务编号更新该任务列表,将已响应的任务请求从任务列表中删除,在下一任务触发周期可以对更新后的任务列表进行响应。
在S303中,将下一所述任务触发周期的响应次序设置为初始默认次序。
在本实施例中,终端设备还可以将下一任务触发周期的响应次序设置为初始默认次序。
在本发明实施例中,通过检测到通过两个任务触发周期均未对任务列表内的所有任务请求响应完毕后,通过更新任务列表以及重置任务响应次序,并通过第三个任务触发周期对任务列表内的未响应的任务请求进行响应,并且避免了对已响应的任务重复响应。
图4示出了本发明第四实施例提供的一种任务请求的响应方法S101的具体实现流程图。参见图4,相对于图1至3任一所述实施例,本实施例提供的一种任务请求的响应方法S101包括:S1011~S1013,具体详述如下:
进一步地,所述若到达预设的任务触发周期,则获取上一所述任务触发周期的第一响应次序,包括:
在S1011中,判断当前的所述任务触发周期的任务列表与上一所述任务触发周期的任务列表是否匹配。
在本实施例中,由于出现任务请求重复执行的情况,是因为当前的任务触发周期处理的任务列表与上一任务触发周期的任务列表相同,此时两个任务触发周期处理同时对同一任务列表内的任务请求进行响应,会提取同一任务请求。因此,需要通过正逆序的方式从任务列表内提取任务请求的方式来避免任务请求重复提取。若当前的任务响应周期与上一任务响应周期的任务列表不同,则不会出现任务冲突的情况,基于此,终端设备在检测到到达任务触发周期时,会判断当前的任务触发周期的任务列表与上一任务响应周期的任务列表是否匹配,若匹配,则执行S1013的操作;反之,若不匹配,则执行S1012的操作。
在S1012中,若所述当前的所述任务触发周期的任务列表与上一所述任务触发周期的任务列表不匹配,则将所述第二响应次序设置为初始默认次序,并执行所述以所述第二响应次序依次从所述任务列表内提取所述任务请求进行响应。
在本实施例中,终端设备若检测到当前周期的任务列表与上一周期的任务列表不匹配,则表示当前周期处理的任务请求并不会与上一周期的任务请求存在重复,此时,可以将第二响应次序设置为初始默认次序,而无需基于上一周期任务的第一响应次序进行确定,并跳转到S103的步骤,对任务列表内的任务请求进行响应。
在S1013中,若所述当前的所述任务触发周期的任务列表与上一所述任务触发周期的任务列表匹配,则执行所述获取上一所述任务触发周期的第一响应次序。
在本实施例中,终端设备若检测到当前周期的任务列表与上一周期的任务列表匹配,则可能存在两个周期处理的任务出现重复的情况,需要通过正逆序的方式提取任务请求,此时则执行获取上一所述任务触发周期的第一响应次序的操作,基于上一周期的第一响应次序确定当前周期的第二响应次序。
在本发明实施例中,通过判断当前任务触发周期与上一任务触发周期的任务列表是否匹配,从而判断是否需要通过正逆序的方式提取任务列表内的任务请求,提高了正逆序提取操作的准确性。
图5示出了本发明第五实施例提供的一种任务请求的响应方法S103的具体实现流程图。参见图5,相对于图1至图3任一所述实施例,本实施例提供的一种任务请求的响应方法S103包括:S1031~S1033,具体详述如下:
进一步地,所述以所述第二响应次序依次从所述任务列表内提取所述任务请求进行响应,包括:
在S1031中,获取上一所述任务触发周期占用的第一线程个数。
在本实施例中,终端设备在确定了当前的任务触发周期对应的第二响应次序后,可以通过调用多条任务响应线程对该任务列表内的任务请求进行处理,基于此,终端设备需要确定当前可以调用的任务线程的个数,因而需要检测上一任务触发周期在当前时刻占用的第一线程个数,上一任务触发周期同样可以调用多条任务响应线程对任务列表内的任务请求进行响应。
在S1032中,基于所述第一线程个数以及最大线程个数,计算当前的所述任务触发周期的第二线程个数。
在本实施例中,由于终端设备用于响应任务请求的线程资源有限,终端设备在确定了上一任务触发周期对应的第一线程个数后,可以根据最大线程个数与第一线程个数之间的差值,计算出当前剩余可用的线程个数,并将剩余可用的线程个数识别为第二线程个数。
可选地,若终端设备除了需要执行任务请求的处理操作外,还需要例如任务请求的接收、任务处理结果的下发等操作时,则可以获取当前时刻的预留线程个数,根据最大线程个数、第一线程个数以及预留线程个数,计算出剩余线程个数,并将剩余线程个数识别为第二线程个数。
在S1033中,通过与所述第二线程个数匹配的多条线程对所述任务列表内的所述任务请求进行响应。
在本实施例中,终端设备在确定了当前可用的第二线程个数后,可以从线程池中调动与第二线程个数相匹配的多条线程并行对任务列表内的任务请求进行响应,其中各个线程从任务列表内提取任务请求的次序与第二响应次序一致。
在本发明实施例中,通过计算当前占用的第一线程个数,并根据第一线程个数以及最大线程个数计算出当前任务触发周期可用的第二线程个数,并通过与第二线程个数相匹配的多条线程对任务请求进行并行处理,在保证终端设备不过载的同时,尽可能提高任务请求的响应效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图6示出了本发明一实施例提供的一种任务请求的响应设备的结构框图,该任务请求的响应设备包括的各单元用于执行图1对应的实施例中的各步骤。具体请参阅图1与图1所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。
参见图6,所述任务请求的响应设备包括:
第一响应次序确定单元61,用于若到达预设的任务触发周期,则获取上一所述任务触发周期的第一响应次序;所述第一响应次序为在上一所述任务触发周期响应任务列表内的任务请求时的响应次序;
第二响应次序确定单元62,用于基于所第一响应次序,确定当前的所述任务触发周期的第二响应次序;所述第二响应次序与所述第一响应次序互为逆序;
任务响应单元63,用于以所述第二响应次序依次从所述任务列表内提取所述任务请求进行响应;
响应完成判定单元64,用于若检测到当前的所述任务触发周期正在执行的任务请求的第二任务编号与上一所述任务触发周期正在执行的任务请求的第一任务编号相同,则停止当前的所述任务触发周期的响应操作,并输出列表响应完成信息。
可选地,所述任务请求的响应设备还包括:
历史响应记录获取单元,用于若满足预设的任务划分触发条件,则确定满足所述任务划分触发条件时刻所属的时间段号,从响应数据库内提取关于所述时间段号的所有历史响应记录;
历史响应均值计算单元,用于分别获取各个所述历史响应记录中的历史响应个数,并基于所有所述历史响应个数计算历史响应均值;
期望任务个数计算单元,用于将所有所述历史响应个数以及所述历史响应均值导入到期望任务数转换模型,计算所述时间段号的期望任务个数;所述期望任务数转换模型具体为:
其中,ξmission为所述期望任务个数;AVGmission为所述历史响应均值;LoadLv为所述时间段号关联的闲忙调整系数;Hismissioni为第i个所述历史响应记录的历史响应个数;n为所述历史响应记录的总数;
任务列表生成单元,用于基于所述期望任务个数对任务池内的所有任务请求进行划分,得到至少一个所述任务列表。
可选地,所述任务请求的响应设备还包括:
未响应任务识别单元,用于若到达当前的所述任务触发周期的周期结束时刻,且所述第二任务编号以及所述第一任务编号不同,则根据所述第一任务编号以及所述第二任务编号,确定所述任务列表内未响应的所述任务请求;
任务列表更新单元,用于基于未响应的所述任务请求更新所述任务列表;
下一周期次序配置单元,用于将下一所述任务触发周期的响应次序设置为初始默认次序。
可选地,所述第一响应次序确定单元61包括:
任务列表匹配单元,用于判断当前的所述任务触发周期的任务列表与上一所述任务触发周期的任务列表是否匹配;
任务无关联识别单元,用于若所述当前的所述任务触发周期的任务列表与上一所述任务触发周期的任务列表不匹配,则将所述第二响应次序设置为初始默认次序,并执行所述以所述第二响应次序依次从所述任务列表内提取所述任务请求进行响应;
任务关联识别单元,用于若所述当前的所述任务触发周期的任务列表与上一所述任务触发周期的任务列表匹配,则执行所述获取上一所述任务触发周期的第一响应次序。
可选地,所述任务响应单元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还可以用于暂时地存储已经输出或者将要输出的数据。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (8)

1.一种任务请求的响应方法,其特征在于,包括:
若到达预设的任务触发周期,则获取上一所述任务触发周期的第一响应次序;所述第一响应次序为在上一所述任务触发周期响应任务列表内的任务请求时的响应次序;
基于所第一响应次序,确定当前的所述任务触发周期的第二响应次序;所述第二响应次序与所述第一响应次序互为逆序;
以所述第二响应次序依次从所述任务列表内提取所述任务请求进行响应;
若检测到当前的所述任务触发周期正在执行的任务请求的第二任务编号与上一所述任务触发周期正在执行的任务请求的第一任务编号相同,则停止当前的所述任务触发周期的响应操作,并输出列表响应完成信息;
还包括:
若满足预设的任务划分触发条件,则确定满足所述任务划分触发条件时刻所属的时间段号,从响应数据库内提取关于所述时间段号的所有历史响应记录;
分别获取各个所述历史响应记录中的历史响应个数,并基于所有所述历史响应个数计算历史响应均值;
将所有所述历史响应个数以及所述历史响应均值导入到期望任务数转换模型,计算所述时间段号的期望任务个数;所述期望任务数转换模型具体为:
其中,ξmission为所述期望任务个数;AVGmission为所述历史响应均值;LoadLv为所述时间段号关联的闲忙调整系数;Hismissioni为第i个所述历史响应记录的历史响应个数;n为所述历史响应记录的总数;
基于所述期望任务个数对任务池内的所有任务请求进行划分,得到至少一个所述任务列表。
2.根据权利要求1所述的响应方法,其特征在于,在所述以所述第二响应次序依次从所述任务列表内提取所述任务请求进行响应之后,还包括:
若到达当前的所述任务触发周期的周期结束时刻,且所述第二任务编号以及所述第一任务编号不同,则根据所述第一任务编号以及所述第二任务编号,确定所述任务列表内未响应的所述任务请求;
基于未响应的所述任务请求更新所述任务列表;
将下一所述任务触发周期的响应次序设置为初始默认次序。
3.根据权利要求1-2任一项所述的响应方法,其特征在于,所述若到达预设的任务触发周期,则获取上一所述任务触发周期的第一响应次序,包括:
判断当前的所述任务触发周期的任务列表与上一所述任务触发周期的任务列表是否匹配;
若所述当前的所述任务触发周期的任务列表与上一所述任务触发周期的任务列表不匹配,则将所述第二响应次序设置为初始默认次序,并执行所述以所述第二响应次序依次从所述任务列表内提取所述任务请求进行响应;
若所述当前的所述任务触发周期的任务列表与上一所述任务触发周期的任务列表匹配,则执行所述获取上一所述任务触发周期的第一响应次序。
4.根据权利要求1-2任一项所述的响应方法,其特征在于,所述以所述第二响应次序依次从所述任务列表内提取所述任务请求进行响应,包括:
获取上一所述任务触发周期占用的第一线程个数;
基于所述第一线程个数以及最大线程个数,计算当前的所述任务触发周期的第二线程个数;
通过与所述第二线程个数匹配的多条线程对所述任务列表内的所述任务请求进行响应。
5.一种任务请求的响应设备,其特征在于,包括:
第一响应次序确定单元,用于若到达预设的任务触发周期,则获取上一所述任务触发周期的第一响应次序;所述第一响应次序为在上一所述任务触发周期响应任务列表内的任务请求时的响应次序;
第二响应次序确定单元,用于基于所第一响应次序,确定当前的所述任务触发周期的第二响应次序;所述第二响应次序与所述第一响应次序互为逆序;
任务响应单元,用于以所述第二响应次序依次从所述任务列表内提取所述任务请求进行响应;
响应完成判定单元,用于若检测到当前的所述任务触发周期正在执行的任务请求的第二任务编号与上一所述任务触发周期正在执行的任务请求的第一任务编号相同,则停止当前的所述任务触发周期的响应操作,并输出列表响应完成信息;
所述任务请求的响应设备还包括:
历史响应记录获取单元,用于若满足预设的任务划分触发条件,则确定满足所述任务划分触发条件时刻所属的时间段号,从响应数据库内提取关于所述时间段号的所有历史响应记录;
历史响应均值计算单元,用于分别获取各个所述历史响应记录中的历史响应个数,并基于所有所述历史响应个数计算历史响应均值;
期望任务个数计算单元,用于将所有所述历史响应个数以及所述历史响应均值导入到期望任务数转换模型,计算所述时间段号的期望任务个数;所述期望任务数转换模型具体为:
其中,ξmission为所述期望任务个数;AVGmission为所述历史响应均值;LoadLv为所述时间段号关联的闲忙调整系数;Hismissioni为第i个所述历史响应记录的历史响应个数;n为所述历史响应记录的总数;
任务列表生成单元,用于基于所述期望任务个数对任务池内的所有任务请求进行划分,得到至少一个所述任务列表。
6.根据权利要求5所述的响应设备,其特征在于,所述任务请求的响应设备还包括:
未响应任务识别单元,用于若到达当前的所述任务触发周期的周期结束时刻,且所述第二任务编号以及所述第一任务编号不同,则根据所述第一任务编号以及所述第二任务编号,确定所述任务列表内未响应的所述任务请求;
任务列表更新单元,用于基于未响应的所述任务请求更新所述任务列表;
下一周期次序配置单元,用于将下一所述任务触发周期的响应次序设置为初始默认次序。
7.一种终端设备,其特征在于,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时如权利要求1至4任一项所述方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述方法的步骤。
CN201910973876.7A 2019-10-14 2019-10-14 一种任务请求的响应方法及设备 Active CN110865877B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910973876.7A CN110865877B (zh) 2019-10-14 2019-10-14 一种任务请求的响应方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910973876.7A CN110865877B (zh) 2019-10-14 2019-10-14 一种任务请求的响应方法及设备

Publications (2)

Publication Number Publication Date
CN110865877A CN110865877A (zh) 2020-03-06
CN110865877B true CN110865877B (zh) 2024-04-19

Family

ID=69652657

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910973876.7A Active CN110865877B (zh) 2019-10-14 2019-10-14 一种任务请求的响应方法及设备

Country Status (1)

Country Link
CN (1) CN110865877B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116824724A (zh) * 2023-08-30 2023-09-29 深圳市永兴元科技股份有限公司 网络打卡计时管理方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107515784A (zh) * 2016-06-16 2017-12-26 阿里巴巴集团控股有限公司 一种在分布式系统中计算资源的方法与设备
CN108668331A (zh) * 2017-03-30 2018-10-16 展讯通信(上海)有限公司 一种多模设备的任务调度方法及装置
CN109716298A (zh) * 2016-09-16 2019-05-03 华为技术有限公司 用于短周期性任务的有效调度器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9477521B2 (en) * 2014-05-29 2016-10-25 Netapp, Inc. Method and system for scheduling repetitive tasks in O(1)

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107515784A (zh) * 2016-06-16 2017-12-26 阿里巴巴集团控股有限公司 一种在分布式系统中计算资源的方法与设备
CN109716298A (zh) * 2016-09-16 2019-05-03 华为技术有限公司 用于短周期性任务的有效调度器
CN108668331A (zh) * 2017-03-30 2018-10-16 展讯通信(上海)有限公司 一种多模设备的任务调度方法及装置

Also Published As

Publication number Publication date
CN110865877A (zh) 2020-03-06

Similar Documents

Publication Publication Date Title
WO2018214835A1 (zh) 一种区块链业务受理及业务共识方法及装置
CN108762931A (zh) 基于分布式调度系统的任务调度方法、服务器及存储介质
CN109309712B (zh) 基于接口异步调用的数据传输方法、服务器及存储介质
CN108491122B (zh) 一种点击事件响应方法、计算机可读存储介质及终端设备
WO2020253776A1 (zh) 基于定时器的任务处理方法、装置及电子设备
CN109800204B (zh) 数据分配方法及相关产品
CN110162270B (zh) 基于分布式存储系统的数据存储方法、存储节点及介质
US20170185454A1 (en) Method and Electronic Device for Determining Resource Consumption of Task
CN107798039B (zh) 一种数据同步方法和装置
CN111694677A (zh) 消息队列的管理方法、装置、终端和计算机可读存储介质
CN114223189A (zh) 时长统计方法、装置、电子设备和计算机可读介质
CN110865877B (zh) 一种任务请求的响应方法及设备
WO2020098266A1 (zh) 一种异常响应的方法及设备
CN107346270B (zh) 基于实时计算的基数估计的方法和系统
CN110784336A (zh) 基于物联网的多设备智能定时延时场景设置方法及系统
CN108463813B (zh) 一种进行数据处理的方法和装置
CN109885384B (zh) 任务并行度优化方法、装置、计算机设备及存储介质
CN108255704B (zh) 一种脚本调用事件的异常响应方法及其终端
CN107958414B (zh) 一种清除cics系统长交易的方法及系统
CN115098232A (zh) 任务调度的方法、装置和设备
CN110912949A (zh) 位点提交方法和装置
CN112448855B (zh) 区块链系统参数更新方法和系统
CN110232590B (zh) 一种方案的生成方法及设备
CN114625502A (zh) 一种投词任务处理方法、装置、存储介质和电子设备
CN114064403A (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