CN112181614B - 任务超时监控方法、装置、设备、系统及存储介质 - Google Patents

任务超时监控方法、装置、设备、系统及存储介质 Download PDF

Info

Publication number
CN112181614B
CN112181614B CN202010960756.6A CN202010960756A CN112181614B CN 112181614 B CN112181614 B CN 112181614B CN 202010960756 A CN202010960756 A CN 202010960756A CN 112181614 B CN112181614 B CN 112181614B
Authority
CN
China
Prior art keywords
task
time
target
time slot
level
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
CN202010960756.6A
Other languages
English (en)
Other versions
CN112181614A (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.)
China Unionpay Co Ltd
Original Assignee
China Unionpay 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 China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN202010960756.6A priority Critical patent/CN112181614B/zh
Publication of CN112181614A publication Critical patent/CN112181614A/zh
Application granted granted Critical
Publication of CN112181614B publication Critical patent/CN112181614B/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/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种任务超时监控方法、装置、设备、系统及存储介质,涉及数据处理领域。该方法包括:根据当前时间,在预存的N级时间轮中查找第一目标时间槽,第一目标时间槽为与当前时间对应的第N级时间轮的时间槽,第i‑1级时间轮的任一时间槽关联有任一时间槽表征的第i‑1级时间下属的第i级时间轮,第N级时间轮的时间槽关联有任务链表,任务链表中任务节点表征的任务的超时时间为第N级时间轮的时间槽上溯至第1级时间轮的时间槽共同表征的时间;基于第一目标时间槽,确定目标任务节点;根据目标任务节点,生成任务关闭指令;发送任务关闭指令,以关闭目标任务节点包括的任务标识对应的任务。根据本申请实施例能够提高任务超时监控的性能。

Description

任务超时监控方法、装置、设备、系统及存储介质
技术领域
本申请属于数据处理领域,尤其涉及一种任务超时监控方法、装置、设备、系统及存储介质。
背景技术
随着网络技术的发展以及用户需求的提高,任务处理系统具备高并发、数据量大的特点。在任务处理系统对任务进行处理的过程中,会存在任务超时还未处理的情况。在任务超时的情况下,会将任务关闭即终止。为了能够及时发现超时的任务,会对任务进行超时监控。
在对任务进行超时监控的过程中,需要遍历每一个任务,以确定超时的任务并对超时任务进行关闭处理。但由于任务总量过于庞大,使得任务遍历的时间复杂度过高,会降低任务超时监控的性能。
发明内容
本申请实施例提供一种任务超时监控方法、装置、设备、系统及存储介质,能够提高任务超时监控的性能。
第一方面,本申请实施例提供一种任务超时监控方法,包括:
根据获取的当前时间,在预存的N级时间轮中查找第一目标时间槽,时间轮包括多个时间槽,第一目标时间槽为与当前时间对应的第N级时间轮的时间槽,第i级时间轮的时间槽用于表征第i级时间,第i-1级时间轮的任一时间槽关联有任一时间槽表征的第i-1级时间下属的第i级时间轮,第N级时间轮的时间槽关联有任务链表,任务链表中任务节点表征的任务的超时时间为第N级时间轮的时间槽上溯至第1级时间轮的时间槽共同表征的时间,任务节点包括任务的任务标识,N、i为正整数,且1<i≤N;
基于第一目标时间槽,确定目标任务节点,目标任务节点包括第一目标时间槽关联的任务链表中的任务节点;
根据目标任务节点,生成任务关闭指令,任务关闭指令包括目标任务节点包括的任务标识;
发送任务关闭指令,以关闭目标任务节点包括的任务标识对应的任务。
第二方面,本申请实施例提供了一种任务超时监控装置,包括:
查找模块,用于根据获取的当前时间,在预存的N级时间轮中查找第一目标时间槽,时间轮包括多个时间槽,第一目标时间槽为与当前时间对应的第N级时间轮的时间槽,第i级时间轮的时间槽用于表征第i级时间,第i-1级时间轮的任一时间槽关联有任一时间槽表征的第i-1级时间下属的第i级时间轮,第N级时间轮的时间槽关联有任务链表,任务链表中任务节点表征的任务的超时时间为第N级时间轮的时间槽上溯至第1级时间轮的时间槽共同表征的时间,任务节点包括任务的任务标识,N、i为正整数,且1<i≤N;
确定模块,用于基于第一目标时间槽,确定目标任务节点,目标任务节点包括第一目标时间槽关联的任务链表中的任务节点;
生成模块,用于根据目标任务节点,生成任务关闭指令,任务关闭指令包括目标任务节点包括的任务标识;
发送模块,用于发送任务关闭指令,以关闭目标任务节点包括的任务标识对应的任务。
第三方面,本申请实施例提供了一种任务超时监控设备,包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现第一方面的任务超时监控方法。
第四方面,本申请实施例提供了一种任务超时监控系统,包括分布设置的多个任务超时监控单元,每个任务超时监控单元用于执行第一方面的任务超时监控方法。
第五方面,本申请实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现第一方面的任务超时监控方法。
本申请实施例提供一种任务超时监控方法、装置、设备、系统及存储介质,通过预存的N级时间轮关联可表征任务的任务节点。任务节点所在的任务链表关联的第N级时间轮的时间槽上溯至第1级时间轮的时间槽共同表征的时间,为任务节点表征的任务的超时时间。由于第i级时间轮中的时间槽用于表征第i级时间,且第i-1级时间轮的任一时间槽关联有任一时间槽表征的第i-1级时间下属的第i级时间轮,因此可在N级时间轮中根据当前时间以及各级时间轮之间的关联关系,逐级向下查找得到超时时间为当前时间的任务的任务节点。即在获取到当前时间的情况下,可直接定位到超时时间为当前时间的任务的任务节点,并不需要对所有任务进行遍历,降低了任务超时监控的时间复杂度,从而降低了对任务超时监控的性能的不良影响,进而提高了任务超时监控的性能。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的任务超时监控方法的应用场景的一示例的示意图;
图2为本申请实施例提供的N级时间轮及任务链表的一示例的示意图;
图3为本申请实施例提供的N级时间轮及任务链表的另一示例的示意图;
图4为本申请第一方面提供的任务超时监控方法的一实施例的流程图;
图5为本申请第一方面提供的任务超时监控方法的另一实施例的结构示意图;
图6为本申请第一方面提供的任务超时监控方法的又一实施例的结构示意图;
图7为本申请第一方面提供的任务超时监控方法的再一实施例的结构示意图;
图8为本申请第一方面提供的任务超时监控方法的又再一实施例的结构示意图;
图9为本申请第二方面提供的任务超时监控装置的一实施例的结构示意图;
图10为本申请第二方面提供的任务超时监控装置的另一实施例的结构示意图;
图11为本申请第三方面提供的任务超时监控设备的一实施例的结构示意图;
图12为本申请第四方面提供的任务超时监控系统的一实施例的结构示意图;
图13为本申请实施例提供的任务超时监控单元的一示例的结构示意图;
图14为本申请第四方面提供的任务超时监控系统的另一实施例的结构示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
随着网络技术的发展和用户需求的提高,任务处理系统需要负载的任务量越来越大,这就需要任务处理系统具备高并发、数据量大的特点。任务处理系统可用于各个领域,在此并不限定。例如,任务处理系统可用于交易领域,来处理交易业务,对交易业务进行超时监控,并对超时的交易业务进行关闭处理,即对超时的交易业务的订单进行关单处理。
现阶段,在对任务进行超时监控的过程中,需要实时遍历每一个任务,以确定超时的任务。而由于任务处理系统中的任务数量过于庞大,需要进行超时监控的任务数量也过于庞大,超时监控遍历每一个任务的时间复杂度过高。而时间复杂度越高,对超时监控的性能的不良影响就越大。
本申请实施例提供一种任务超时监控方法、装置、设备、系统及存储介质,能够降低对任务进行超时监控的时间复杂度,从而提高任务超时监控的性能。
图1为本申请实施例提供的任务超时监控方法的应用场景的一示例的示意图。如图1所示,执行本申请实施例提供的任务超时监控方法的任务超时监控装置11可与任务处理系统12进行交互。任务处理系统12可对任务进行具体处理,例如对任务进行关闭处理等。任务处理系统12从上游系统13获取任务,与下游系统14协作执行获取的任务,并可将任务的执行结果反馈回上游系统13。任务处理系统可应用于各个领域,在此并不限定。例如,任务处理系统为交易系统,则任务处理系统处理的任务可具体为交易任务。对应地,上游系统可为用户侧系统等,下游系统可为商户侧系统等。
为了便于理解本申请实施例中的任务超时监控方法、装置、设备、系统及存储介质,首先对本申请中任务超时监控所涉及关联有表征任务的任务节点的N级时间轮进行说明。其中,N为正整数。N可根据工作场景和工作需求设定,在此并不限定。
时间可包括第1级时间至第N级时间。例如,N=4,对应地,8月2日13时30分45秒这一时间中,第1级时间为2日,第2级时间为13时,第3级时间为30分,第4级时间为45秒。对应于时间的分级设置,N级时间轮可对应包括第1级时间轮至第N级时间轮。每个时间轮包括多个时间槽。各级时间轮包括的时间槽的数目在此并不限定,可以相同,也可不同。时间轮中的时间槽可表征时间。具体地,第i级时间轮中的时间槽用于表征第i级时间。i为正整数,且1<i≤N。第i-1级时间轮的任一时间槽关联有该任一时间槽表征的第i-1级时间下属的第i级时间轮。各时间轮的时间指针会随着时间的推移发生移动,指向各级时间轮中当前时间对应的时间槽。
第N级时间轮的时间槽关联有任务链表。任务链表包括任务节点。任务节点可表征任务。任务节点包括表征的任务的任务标识。任务标识用于标识任务,具有唯一性。例如,在任务为交易任务的情况下,任务标识可为交易订单号,在此并不限定任务标识的类型。任务链表中任务节点表征的任务的超时时间为第N级时间轮的时间槽上溯至第1级时间轮的时间槽共同表征的时间。即任务节点所在的任务链表是根据超时时间从第1级时间轮向第N级时间轮逐级查找确定的。在当前时间到达任务的超时时间,且该任务并未完成的情况下,可确定该任务超时。
例如,图2为本申请实施例提供的N级时间轮及任务链表的一示例的示意图。图3为本申请实施例提供的N级时间轮及任务链表的另一示例的示意图。其中,虚线箭头表示关联关系。如图2和图3所示,N=4。对应地,共有4级时间轮。在该示例中,第1级时间轮表征的时间的单位为天,第2级时间轮表征的时间的单位为时,第3级时间轮表征的时间的单位为分,第4级时间轮表征的时间的单位为秒。
第1级时间轮包括30个时间槽,每个时间槽表征1天。即第1级时间轮的一个周期为30天。如第1级时间轮中的时间槽1表示第1级时间轮一个周期中的第一天。第1级时间轮中的每个时间槽关联有一个第2级时间轮,即第1级时间轮对应30个第2级时间轮。第1级时间轮中各时间槽表征的时间可根据第1级时间轮中第一个时间槽确定。例如,第1级时间轮中第一个时间槽表征的时间为8月1日,对应地,第1级时间轮中第二个时间槽表征的时间为8月2日。又例如,第1级时间轮中第一个时间槽表征的时间为8月15日,对应地,第1级时间轮中第二个时间槽表征的时间为8月16日。
每个第2级时间轮可包括24个时间槽,每个时间槽表征1小时。即第2级时间轮的一个周期为24小时。如第2级时间轮中的时间槽1表示第2级时间轮一个周期中的第1小时,可视为一天中的第1时。第2级时间轮中的每个时间槽关联有一个第3级时间轮,即一个第2级时间轮对应24个第3级时间轮,第1级时间轮对应30×24=720个第3时间轮。
每个第3级时间轮可包括60个时间槽,每个时间槽表征1分钟。即第3级时间轮的一个周期为60分钟。如第3级时间轮中的时间槽1表示第3级时间轮一个周期中的第1分钟,可视为1小时中的第1分。第3级时间轮中的每个时间槽关联有一个第4级时间轮,即一个第3级时间轮对应60个第4级时间轮,第1级时间轮对应30×24×60=43200个第4时间轮。
每个第4级时间轮可包括60个时间槽,每个时间槽表征1秒钟。即第4级时间轮的一个周期为60秒钟。如第4级时间轮中的时间槽1表示第4级时间轮一个周期中的第1秒钟,可视为1分钟中的第1秒。
第4级时间轮的每个时间槽可关联有任务链表。任务链表中的任务节点表征的业务的超时时间,与从第1级时间轮逐级向下至第N级时间轮中关联该任务链表的时间槽共同表征的时间一致。如在图2和图3所示的4级时间轮中,指向任务链表A1的路径为:第1级时间轮中时间槽3→上述第1级时间轮中时间槽1关联的第2级时间轮中的时间槽15→上述第2级时间轮中的时间槽15关联的第3级时间轮中的时间槽20→上述第3级时间轮中的时间槽20关联的第4级时间轮中的时间槽56→上述第4级时间轮中的时间槽56关联的任务链表A1。第1级时间轮中各时间槽表征的时间可根据第1级时间轮中第一个时间槽确定。设第1级时间轮中第一个时间槽表征8月1日,则上述指向任务链表A1的路径表征的时间为8月3日15时20分56秒,即任务链表A1中任务节点表征的任务的超时时间为8月3日15时20分56秒。在当前时间达到8月3日15时20分56秒,且任务链表A1中任务节点表征的任务还未结束的情况下,可确定任务链表A1中的任务节点表征的任务超时。
任务链表包括至少一个任务节点。在一些示例中,任务链表可为双向链表。在双向链表中的一个节点可访问该节点的前驱节点和后继节点。例如,如图2所示,任务链表可包括任务节点1、任务节点2和任务节点3。任务节点1为任务节点2的前驱节点,任务节点2为任务节点1的后继节点,任务节点2为任务节点3的前驱节点,任务节点3为任务节点2的后继节点。
N级时间轮包括并不限于上述实施例中的4级时间轮,N可根据工作场景和工作需求设定。例如,N=5,第1级时间轮表征的时间的单位为月,第2级时间轮表征的时间的单位为天,第3级时间轮表征的时间的单位为时,第4级时间轮表征的时间的单位为分,第5级时间轮表征的时间的单位为秒。
各级时间轮包括的时间槽的数目以及该时间槽对应的时长也可根据工作场景和工作需求设定,包括但不限于上述实施例中的内容。
下面介绍本申请提供的任务超时监控方法。该任务超时监控方法可由任务超时监控装置、任务超时监控设备或任务超时监控系统执行,在此并不限定。图4为本申请第一方面提供的任务超时监控方法的一实施例的流程图。如图4所示,该任务超时监控方法可包括步骤S101至步骤S104。
在步骤S201中,根据获取的当前时间,在预存的N级时间轮中查找第一目标时间槽。
第一目标时间槽为与当前时间对应的第N级时间轮的时间槽。第一目标时间槽关联的任务链表中任务节点表征的任务的超时时间与当前时间一致。例如,N级时间轮如图2和图3所示,且第1级时间轮中的时间槽1表征8月1日;当前时间为8月9日15时22分36秒,则指向第一目标时间槽的路径为第1级时间轮中时间槽9→上述第1级时间轮中时间槽9关联的第2级时间轮中的时间槽15→上述第2级时间轮中的时间槽15关联的第3级时间轮中的时间槽22→上述第3级时间轮中的时间槽22关联的第4级时间轮中的时间槽36。上述路径中第3级时间轮中的时间槽22关联的第4级时间轮中的时间槽36即为第一目标时间槽。
在步骤S202中,基于第一目标时间槽,确定目标任务节点。
目标任务节点包括第一目标时间槽关联的任务链表中的任务节点。任务节点所在的任务链表关联的第N级时间轮的时间槽上溯至第1级时间轮的时间槽共同表征的时间,为任务节点表征的任务的超时时间。第i-1级时间轮的任一时间槽关联有任一时间槽表征的第i-1级时间下属的第i级时间轮,即各级时间轮的时间槽与时间轮之间具有关联关系,第N级时间轮的时间槽与包括任务节点的任务链表具有关联关系。根据各级时间轮的时间槽与时间轮之间具有关联关系,以及第N级时间轮的时间槽与包括任务节点的任务链表具有关联关系,能够直接定位到超时时间为当前时间的任务的任务节点。也就是说,在本申请实施例中,任务超时监控的时间复杂度为O(1),与需要对所有任务遍历才能够实现任务超时监控的相关技术的时间复杂度O(log n)相比更低,对任务超时监控的性能的不良影响非常小。
在步骤S203中,根据目标任务节点,生成任务关闭指令。
任务关闭指令包括目标任务节点包括的任务标识。目标任务节点包括该目标任务节点表征的任务的任务标识。具体可从目标任务节点中获取任务标识,根据目标任务节点包括的任务标识,生成任务关闭指令。
在步骤S204中,发送任务关闭指令,以关闭目标任务节点包括的任务标识对应的任务。
具体地,可向任务处理系统发送任务关闭指令,以使任务处理系统根据目标任务节点包括的任务标识,定位到任务,将目标任务节点包括的任务标识对应的任务关闭,实现任务的超时关闭处理。
在本申请实施例中,通过预存的N级时间轮关联可表征任务的任务节点。任务节点所在的任务链表关联的第N级时间轮的时间槽上溯至第1级时间轮的时间槽共同表征的时间,为任务节点表征的任务的超时时间。由于第i级时间轮中的时间槽用于表征第i级时间,且第i-1级时间轮的任一时间槽关联有任一时间槽表征的第i-1级时间下属的第i级时间轮,因此可在N级时间轮中根据当前时间以及各级时间轮之间的关联关系,逐级向下查找得到超时时间为当前时间的任务的任务节点。即在获取到当前时间的情况下,可直接定位到超时时间为当前时间的任务的任务节点,并不需要对所有任务进行遍历,降低了任务超时监控的时间复杂度,从而降低了对任务超时监控的性能的不良影响,进而提高了任务超时监控的性能。
而且用于执行本申请实施例中的任务超时监控装置、超时监控设备或超时监控系统可独立于任务处理系统部署,不依赖于任务处理系统,具备解耦性。
在一些示例中,上述实施例中的N级时间轮及任务链表存储于执行任务超时监控方法的装置或设备的内存中,不需要额外设置数据库,从而不需要额外占用数据库资源,降低了任务超时监控设计的难度和成本。
图5为本申请第一方面提供的任务超时监控方法的另一实施例的结构示意图。图5与图4的不同之处在于,图4中的步骤S201可具体细化为图5中的步骤S2011和步骤S2012,图4中的步骤S203可具体细化为图5中的步骤S2031和步骤S2032。
在步骤S2011中,根据当前时间,得到当前时间包括的第1级时间至第N级时间。
当前时间可根据时间轮的分级拆分为第1级时间至第N级时间。例如,当前时间为8月2日13时30分45秒,对应可拆分为第1级时间8月2日、第2级时间13时、第3级时间30分和第4级时间45秒。
在步骤S2012中,在N级时间轮中,按照当前时间包括的第1级时间至第N级时间,逐级查找第一目标时间槽。
具体地,可在第1级时间轮的时间槽中查找到与当前时间包括的第1级时间对应的时间槽A1,在时间槽A1关联的第2级时间轮的时间槽中查找与当前时间包括的第2级时间对应的时间槽A2,以此类推,直至在时间槽AN-1关联的第N级时间轮的时间槽中查找到与当前时间包括的第N级时间对应的时间槽AN,该时间槽AN即为第一目标时间槽。
在步骤S2031中,将目标任务节点添加至任务处理队列。
可设置任务处理队列,以从该任务处理队列中能够获取需要进行关闭的任务对应的任务节点。在确定目标任务节点的情况下,可将该目标任务节点添加至任务处理队列,以便于后续过程中根据任务处理队列中的目标任务节点,生成上述实施例中的任务关闭指令。
在步骤S2032中,按照任务处理队列中目标任务节点的顺序,依次生成与目标任务节点对应的任务关闭指令。
任务处理队列中目标任务节点具有排列顺序,可按照任务处理队列中目标任务节点的排列顺序,依次生成与每个任务节点对应的任务关闭指令。例如,任务处理队列中按照排列顺序依次为目标任务节点1、目标任务节点2和目标任务节点3,对应地,依次生成任务关闭指令1、任务关闭指令2和任务关闭指令3。其中,任务关闭指令1包括目标任务节点1中的任务标识,任务关闭指令2包括目标任务节点2中的任务标识,任务关闭指令3包括目标任务节点3中的任务标识。
在有新增的任务需要进行超时监控的情况下,可创建与新增的任务对应的任务节点,并将任务节点存储至与该新增的任务的超时时间对应的任务链表中。图6为本申请第一方面提供的任务超时监控方法的又一实施例的结构示意图。图6与图4的不同之处在于,图6所示的任务超时监控方法还可包括步骤S205至步骤S208。
在步骤S205中,接收超时监控创建指令。
超时监控创建指令可为任务处理系统发送的。在任务处理系统中新增任务的情况下,任务处理系统可向任务超时监控装置发送超时监控创建指令。超时监控创建指令包括第一任务的任务标识和第一任务的超时时间。第一任务指新增的需要进行超时监控的任务。
在步骤S206中,根据第一任务的超时时间,确定N级时间轮中的第二目标时间槽。
第二目标时间槽为与第一任务的超时时间对应的第N级时间轮的时间槽。具体地,可根据第一任务的超时时间,得到第一任务的超时时间包括的第1级时间至第N级时间。在N级时间轮中,按照第一任务的超时时间包括的第1级时间至第N级时间,逐级查找第二目标时间槽。例如,N级时间轮如图2和图3所示,第1级时间轮的时间槽1为8月1日,设第一任务的超时时间为8月5日9时28分15秒。对应地,指向第二目标时间槽的路径为第1级时间轮中时间槽5→上述第1级时间轮中时间槽5关联的第2级时间轮中的时间槽9→上述第2级时间轮中的时间槽9关联的第3级时间轮中的时间槽28→上述第3级时间轮中的时间槽28关联的第4级时间轮中的时间槽15。上述路径中第3级时间轮中的时间槽28关联的第4级时间轮中的时间槽15即为第二目标时间槽。
在步骤S207中,生成用于表征第一任务的第一任务节点。
根据超时监控创建指令包括的第一任务的任务标识,生成第一任务节点。第一任务节点包括第一任务的任务标识。
在此并不限定步骤S206和步骤S207的执行顺序。步骤S206可在步骤S207之前执行,也可在步骤S207之后执行。步骤S206和步骤S207也可并行执行,在此并不限定。
在步骤S208中,将第一任务节点添加至第二目标时间槽关联的任务链表。
通过将第一任务节点添加至第二目标时间槽关联的任务链表,以实现对第一任务的超时监控。
由于N级时间轮的构造,各级时间轮的时间槽与各级时间轮之间的关联关系,以及第N级时间槽与任务链表的关联关系,使得在获取到第一任务的超时时间的情况下,可以逐级直接定位至第二目标时间槽。实现任务的超时监控创建的过程的时间复杂度为O(1),即时间复杂度非常低,对任务超时监控的性能的不良影响非常小,进而提高了任务超时监控的性能。
在任务处理系统中的任务在超时时间到达前正常结束的情况下,该任务不需要再进行超时监控。需要将该任务在任务链表中删除。图7为本申请第一方面提供的任务超时监控方法的再一实施例的结构示意图。图7与图4的不同之处在于,图7所示的任务超时监控方法还可包括步骤S209至步骤S211。
在步骤S209中,接收任务节点删除指令。
任务节点删除指令可为任务处理系统发送的。在任务处理系统中有任务在该任务的超时时间之前结束的情况下,任务处理系统可向任务超时监控装置发送任务节点删除指令。任务节点删除指令包括第二任务的任务标识和第二任务的超时时间。第二任务指已结束不需继续进行超时监控的任务。
在步骤S210中,根据第二任务的超时时间,确定N级时间轮中的第三目标时间槽。
第三目标时间槽为与第二任务的超时时间对应的第N级时间轮的时间槽。具体地,根据第二任务的超时时间,得到第二任务的超时时间包括的第1级时间至第N级时间。在N级时间轮中,按照第二任务的超时时间包括的第1级时间至第N级时间,逐级查找第三目标时间槽。在N级时间轮中按照任务的超时时间包括的第1级时间至第N级时间,逐级查找对应的时间槽的具体内容可参见上述实施例中的相关说明,在此不再赘述。
在步骤S211中,在第三目标事件槽关联的任务链表中删除第二任务节点。
第二任务节点包括的任务标识与第二任务的任务标识一致。具体地,可在第三目标时间槽关联的任务链表中,利用第二任务的任务标识,对该任务链表中的任务节点进行遍历,以确定第二任务节点。
由于N级时间轮的构造,各级时间轮的时间槽与各级时间轮之间的关联关系,以及第N级时间槽与任务链表的关联关系,使得在获取到第一任务的超时时间的情况下,可以逐级直接定位至第三目标时间槽。在任务在超时时间前正常结束的情况下,删除表征该任务的任务节点需要在于该任务的超时时间对应的时间槽关联的任务链表中对任务节点进行遍历,因此删除任务节点的时间复杂度为O(n),即时间复杂度非常低,对任务超时监控的性能的不良影响非常小,进而提高了任务超时监控的性能。
在任务超时监控装置正常启动或由于异常重新启动的情况下,为了防止时间轮关联的任务链表中的数据丢失,会进行数据恢复,即重新将数据添加入任务链表。尤其是在时间轮以及关联的任务链表存储在内存的情况下,若任务超时监控装置由于异常重新启动,内存中的数据无法保存,需要进行数据恢复,重新录入内存中的所有数据。图8为本申请第一方面提供的任务超时监控方法的又再一实施例的结构示意图。图8与图4的不同之处在于,图8所示的任务超时监控方法还可包括步骤S212至步骤S216。
在步骤S212中,在启动任务超时监控的情况下,发送超时监控初始化指令。
在任务超时监控装置启动即启动任务超时监控的情况下,可向任务处理系统发送超时监控初始化指令。超时监控初始化指令用于向任务处理系统请求获取当前时间未关闭的任务的任务标识和当前时间未关闭的任务的超时时间。下文中的第三任务包括当前时间未关闭的任务。
在步骤S213中,接收响应于超时监控初始化指令返回的第三任务的任务标识和第三任务的超时时间。
任务处理系统接收到超时监控初始化指令,响应于超时监控初始化指令,会获取任务处理系统中存储的第三任务的任务标识和第三任务的超时时间,并将第三任务的任务标识和第三任务的超时时间向任务超时监控装置发送。
第三任务的数目可以是一个,也可以是两个以上,在此对并不限定。
在步骤S214中,根据第三任务的超时时间,确定N级时间轮中的第四目标时间槽。
第四目标时间槽为与第三任务的超时时间对应的第N级时间轮的时间槽。具体地,可根据第三任务的超时时间,得到第三任务的超时时间包括的第1级时间至第N级时间。在N级时间轮中,按照第三任务的超时时间包括的第1级时间至第N级时间,逐级查找第四目标时间槽。在N级时间轮中按照任务的超时时间包括的第1级时间至第N级时间,逐级查找对应的时间槽的具体内容可参见上述实施例中的相关说明,在此不再赘述。
在步骤S215中,生成用于表征第三任务的第三任务节点。
根据响应于超时监控初始化指令返回的第三任务的任务标识,生成用于表征第三任务的第三任务节点。第三任务节点包括第三任务的任务标识。
在此并不限定步骤S214和步骤S215的执行顺序。步骤S214可在步骤S215之前执行,也可在步骤S215之后执行。步骤S214和步骤S215也可并行执行,在此并不限定。
在步骤S216中,将第三任务节点添加至第四目标时间槽关联的任务链表。
将第三任务节点添加至第四目标时间槽关联的任务链表,以实现对任务超时监控装置中数据的恢复。
在一些示例中,任务超时监控方法应用于交易领域,上述实施例中的任务具体可为交易任务。对应地,关闭任务的操作具体可为交易任务的关单操作。任务处理系统具体可为交易处理系统。任务标识具体可以为交易订单号或交易主键等,在此并不限定。
本申请还提供一种任务超时监控装置。图9为本申请第二方面提供的任务超时监控装置的一实施例的结构示意图。如图9所示,该任务超时监控装置300可包括查找模块301、确定模块302、生成模块303和发送模块304。
查找模块301可用于根据获取的当前时间,在预存的N级时间轮中查找第一目标时间槽。
时间轮包括多个时间槽。第一目标时间槽为与当前时间对应的第N级时间轮的时间槽。第i级时间轮的时间槽用于表征第i级时间。第i-1级时间轮的任一时间槽关联有任一时间槽表征的第i-1级时间下属的第i级时间轮。第N级时间轮的时间槽关联有任务链表。任务链表中任务节点表征的任务的超时时间为第N级时间轮的时间槽上溯至第1级时间轮的时间槽共同表征的时间。任务节点包括任务的任务标识。N、i为正整数,且1<i≤N。
确定模块302可用于基于第一目标时间槽,确定目标任务节点。
目标任务节点包括第一目标时间槽关联的任务链表中的任务节点。
生成模块303可用于根据目标任务节点,生成任务关闭指令。
任务关闭指令包括目标任务节点包括的任务标识。
发送模块304可用于发送任务关闭指令,以关闭目标任务节点包括的任务标识对应的任务。
在本申请实施例中,通过预存的N级时间轮关联可表征任务的任务节点。任务节点所在的任务链表关联的第N级时间轮的时间槽上溯至第1级时间轮的时间槽共同表征的时间,为任务节点表征的任务的超时时间。由于第i级时间轮中的时间槽用于表征第i级时间,且第i-1级时间轮的任一时间槽关联有任一时间槽表征的第i-1级时间下属的第i级时间轮,因此可在N级时间轮中根据当前时间以及各级时间轮之间的关联关系,逐级向下查找得到超时时间为当前时间的任务的任务节点。即在获取到当前时间的情况下,可直接定位到超时时间为当前时间的任务的任务节点,并不需要对所有任务进行遍历,降低了任务超时监控的时间复杂度,从而降低了对任务超时监控的性能的不良影响,进而提高了任务超时监控的性能。
在一些示例中,上述实施例中的查找模块301可用于根据当前时间,得到当前时间包括的第1级时间至第N级时间;在N级时间轮中,按照当前时间包括的第1级时间至第N级时间,逐级查找第一目标时间槽。
在一些示例中,上述实施例中的生成模块303可用于将目标任务节点添加至任务处理队列;按照任务处理队列中目标任务节点的顺序,依次生成与目标任务节点对应的任务关闭指令。
图10为本申请第二方面提供的任务超时监控装置的另一实施例的结构示意图。图10与图9的不同之处在于,图10所示的任务超时监控装置300还可包括接收模块305、节点生成模块306和处理模块307。
在一些示例中,接收模块305可用于接收超时监控创建指令。
超时监控创建指令包括第一任务的任务标识和第一任务的超时时间。
上述实施例中的查找模块301还可用于根据第一任务的超时时间,确定N级时间轮中的第二目标时间槽。
第二目标时间槽为与第一任务的超时时间对应的第N级时间轮的时间槽。
具体地,查找模块301可用于根据第一任务的超时时间,得到第一任务的超时时间包括的第1级时间至第N级时间;在N级时间轮中,按照第一任务的超时时间包括的第1级时间至第N级时间,逐级查找第二目标时间槽。
节点生成模块306可用于生成用于表征第一任务的第一任务节点。
第一任务节点包括第一任务的任务标识。
处理模块307可用于将第一任务节点添加至第二目标时间槽关联的任务链表。
在另一些示例中,接收模块305可用于接收任务节点删除指令。
任务节点删除指令包括第二任务的任务标识和第二任务的超时时间。
上述实施例中的查找模块301可用于根据第二任务的超时时间,确定N级时间轮中的第三目标时间槽。
第三目标时间槽为与第二任务的超时时间对应的第N级时间轮的时间槽。
具体地,查找模块301可用于根据第二任务的超时时间,得到第二任务的超时时间包括的第1级时间至第N级时间;在N级时间轮中,按照第二任务的超时时间包括的第1级时间至第N级时间,逐级查找第三目标时间槽。
处理模块307可用于在第三目标事件槽关联的任务链表中删除第二任务节点,第二任务节点包括的任务标识与第二任务的任务标识一致。
在又一些示例中,上述实施例中的发送模块304可用于在启动任务超时监控的情况下,发送超时监控初始化指令。
接收模块305可用于接收响应于超时监控初始化指令返回的第三任务的任务标识和第三任务的超时时间。
第三任务包括当前时间未关闭的任务。
上述实施例中的查找模块301可用于根据第三任务的超时时间,确定N级时间轮中的第四目标时间槽。
第四目标时间槽为与第三任务的超时时间对应的第N级时间轮的时间槽。
具体地,查找模块301可用于根据第三任务的超时时间,得到第三任务的超时时间包括的第1级时间至第N级时间;在N级时间轮中,按照第三任务的超时时间包括的第1级时间至第N级时间,逐级查找第四目标时间槽。
节点生成模块306可用于生成用于表征第三任务的第三任务节点。
第三任务节点包括第三任务的任务标识。
处理模块307可用于将第三任务节点添加至第四目标时间槽关联的任务链表。
在一些示例中,上述实施例中的N级时间轮及任务链表存储于内存。
在一些实例中,上述实施例中的任务包括交易任务。
本申请实施例还提供了一种任务超时监控设备。图11为本申请第三方面提供的任务超时监控设备的一实施例的结构示意图。如图11所示,任务超时监控设备400包括存储器401、处理器402及存储在存储器401上并可在处理器402上运行的计算机程序。
在一个示例中,上述处理器402可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器401可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器401可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。
存储器可包括只读存储器(Read-Only Memory,ROM),随机存取存储器(RandomAccess Memory,RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本申请任务超时监控方法所描述的操作。
处理器402通过读取存储器401中存储的可执行程序代码来运行与可执行程序代码对应的计算机程序,以用于实现上述实施例中任务超时监控方法。
在一个示例中,任务超时监控设备400还可包括通信接口403和总线404。其中,如图11所示,存储器401、处理器402、通信接口403通过总线404连接并完成相互间的通信。
通信接口403,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。也可通过通信接口403接入输入设备和/或输出设备。
总线404包括硬件、软件或两者,将分布式系统中模型发布设备400的部件彼此耦接在一起。举例来说而非限制,总线404可包括加速图形端口(Accelerated GraphicsPort,AGP)或其他图形总线、增强工业标准架构(Enhanced Industry StandardArchitecture,EISA)总线、前端总线(Front Side Bus,FSB)、超传输(Hyper Transport,HT)互连、工业标准架构(Industrial Standard Architecture,ISA)总线、无限带宽互连、低引脚数(Low pin count,LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,MCA)总线、外围组件互连(Peripheral Component Interconnect,PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial Advanced TechnologyAttachment,SATA)总线、视频电子标准协会局部(Video Electronics StandardsAssociation Local Bus,VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线404可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
本申请还提供了一种任务超时监控系统。图12为本申请第四方面提供的任务超时监控系统的一实施例的结构示意图。如图12所示,该任务超时监控系统50包括分布设置的多个任务超时监控单元51。与任务超时监控系统50交互的任务处理系统60也可包括分布设置的多个任务处理单元61。任务超时监控单元51与任务处理单元61可进行交互。
其中,每个任务超时监控单元51均存储有N级时间轮及任务链表,且可执行上述实施例中的任务超时监控方法。但不同的任务超时监控单元51的任务链表中的任务节点可不同。
图13为本申请实施例提供的任务超时监控单元的一示例的结构示意图。任务超时监控单元51可包括对外接口511、周期监控子单元512、任务调整子单元513和数据恢复子单元514。
对外接口511为任务超时监控单元51与外部交互的接口,可用于实现上述实施例中各类指令及信息的发送和接收。
周期监控子单元512可用于确定与当前时间对应的任务链表,并根据该任务链表中的任务节点,生成任务关闭指令。任务指令用于控制任务处理系统对任务关闭指令指示的任务进行关闭处理。
任务调整子单元513可用于根据接收到的指令,在N级时间轮中定位至指令中任务的超时时间对应的时间槽,并将指令中任务标识对应的任务的任务节点添加至任务链表,或将任务链表中指令中任务标识对应的任务的任务节点删除。
数据恢复子单元514在任务超时监控单元51启动的情况下,将任务处理系统中还未关闭的任务对应的任务节点添加超时时间对应的时间槽关联的任务链表,以实现数据的恢复。
在一些示例中,每个任务超时监控单元51预存的时间轮关联的任务链表中的任务节点表征任务处理系统中的未关闭的部分任务。多个任务超时监控单元51预存的时间轮关联的任务链表中的任务节点的并集表征任务处理系统中的未关闭的所有任务。即任务处理系统中未关闭的任务可分别在多个任务超时监控单元51中进行超时监控,以均衡各个任务超时监控单元51的压力和负载。任务处理系统中未关闭的任务在各个任务超时监控单元51中的分配可通过负载均衡策略设定。负载均衡策略可根据工作场景和工作需求设定,在此并不限定。
对任务的超时监控可分散至各个任务超时监控单元51进行。图14为本申请第四方面提供的任务超时监控系统的另一实施例的结构示意图。图14与图12的不同之处在于,任务超时监控系统还可包括任务分配单元52。
任务分配单元52可用于接收任务超时监控指令,将任务超时监控指令转发至目标任务超时监控单元。具体可通过任务分配单元52为各个任务超时监控指令设置的路由,来实现各任务超时监控指令的转发。
目标任务超时监控单元存储的任务链表包括任务标识与任务超时监控指令中任务标识一致的任务节点。任务超时监控指令包括被监控任务的任务标识和被监控任务的超时时间。任务超时监控指令可包括上述实施例中的各类指令,在此并不限定。
例如,任务B由任务处理系统60中的第1个任务处理单元61处理。任务处理系统60中的第1个任务处理单元61向任务分配单元52发送任务超时监控指令。任务分配单元52确定多个任务超时监控单元51中与该任务超时监控指令对应的任务超时监控单元51为第3个任务超时监控单元51即目标任务超时监控单元。任务分配单元52将任务超时监控指令转发至第3个任务超时监控单元51。由第3个任务超时监控单元51实现任务超时监控。
在任务超时监控系统50向任务处理系统60发送任务关闭指令的情况下,任务分配单元52可利用负载均衡策略,根据一定的路由规则,将任务关闭指令发送给任务处理系统60中对应的任务处理单元61,供任务处理单元61进行进一步的处理。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时可实现上述实施例中的任务超时监控方法,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,上述计算机可读存储介质包括但不限于:(i)永久性存储信息的不可写存储介质(例如,计算机内的只读存储器设备,例如CD-ROM驱动器可读取的CD-ROM盘、闪存、ROM芯片、或任何类型的固态非易失性半导体存储器);(ii)存储可变信息的可写存储介质(例如,磁盘驱动器或硬盘驱动器内的软盘或任何类型的固态随机存取半导体存储器)。
需要明确的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。对于装置实施例、设备实施例、系统实施例、计算机可读存储介质实施例而言,相关之处可以参见方法实施例的说明部分。本申请并不局限于上文所描述并在图中示出的特定步骤和结构。本领域的技术人员可以在领会本申请的精神之后,作出各种改变、修改和添加,或者改变步骤之间的顺序。并且,为了简明起见,这里省略对已知方法技术的详细描述。
上面参考根据本申请的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
本领域技术人员应能理解,上述实施例均是示例性而非限制性的。在不同实施例中出现的不同技术特征可以进行组合,以取得有益效果。本领域技术人员在研究附图、说明书及权利要求书的基础上,应能理解并实现所揭示的实施例的其他变化的实施例。在权利要求书中,术语“包括”并不排除其他装置或步骤;数量词“一个”不排除多个;术语“第一”、“第二”用于标示名称而非用于表示任何特定的顺序。权利要求中的任何附图标记均不应被理解为对保护范围的限制。权利要求中出现的多个部分的功能可以由一个单独的硬件或软件模块来实现。某些技术特征出现在不同的从属权利要求中并不意味着不能将这些技术特征进行组合以取得有益效果。

Claims (14)

1.一种任务超时监控方法,其特征在于,包括:
根据获取的当前时间,在预存的N级时间轮中查找第一目标时间槽,所述时间轮包括多个时间槽,所述第一目标时间槽为与所述当前时间对应的第N级时间轮的时间槽,第i级时间轮的时间槽用于表征第i级时间,第i-1级时间轮的任一时间槽关联有所述任一时间槽表征的第i-1级时间下属的第i级时间轮,第N级时间轮的时间槽关联有任务链表,所述任务链表中任务节点表征的任务的超时时间为所述第N级时间轮的时间槽上溯至第1级时间轮的时间槽共同表征的时间,所述任务节点包括任务的任务标识,N、i为正整数,且1<i≤N;
基于所述第一目标时间槽,确定目标任务节点,所述目标任务节点包括所述第一目标时间槽关联的任务链表中的任务节点;
根据所述目标任务节点,生成任务关闭指令,所述任务关闭指令包括所述目标任务节点包括的任务标识;
发送所述任务关闭指令,以关闭所述目标任务节点包括的任务标识对应的任务;
还包括:
接收任务节点删除指令,所述任务节点删除指令包括第二任务的任务标识和所述第二任务的超时时间,所述第二任务为在超时时间到达前正常结束的任务;
根据所述第二任务的超时时间,确定N级时间轮中的第三目标时间槽,所述第三目标时间槽为与所述第二任务的超时时间对应的第N级时间轮的时间槽;
在所述第三目标时间槽关联的任务链表中删除第二任务节点,所述第二任务节点包括的任务标识与所述第二任务的任务标识一致。
2.根据权利要求1所述的方法,其特征在于,所述根据获取的当前时间,在预存的N级时间轮中查找第一目标时间槽,包括:
根据所述当前时间,得到所述当前时间包括的第1级时间至第N级时间;
在N级时间轮中,按照所述当前时间包括的第1级时间至第N级时间,逐级查找所述第一目标时间槽。
3.根据权利要求1所述的方法,其特征在于,所述根据目标任务节点,生成任务关闭指令,包括:
将所述目标任务节点添加至任务处理队列;
按照任务处理队列中所述目标任务节点的顺序,依次生成与所述目标任务节点对应的所述任务关闭指令。
4.根据权利要求1所述的方法,其特征在于,还包括:
接收超时监控创建指令,所述超时监控创建指令包括第一任务的任务标识和所述第一任务的超时时间;
根据所述第一任务的超时时间,确定N级时间轮中的第二目标时间槽,所述第二目标时间槽为与所述第一任务的超时时间对应的第N级时间轮的时间槽;
生成用于表征所述第一任务的第一任务节点,所述第一任务节点包括所述第一任务的任务标识;
将所述第一任务节点添加至所述第二目标时间槽关联的任务链表。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一任务的超时时间,确定N级时间轮中的第二目标时间槽,包括:
根据所述第一任务的超时时间,得到所述第一任务的超时时间包括的第1级时间至第N级时间;
在N级时间轮中,按照所述第一任务的超时时间包括的第1级时间至第N级时间,逐级查找所述第二目标时间槽。
6.根据权利要求1所述的方法,其特征在于,所述根据所述第二任务的超时时间,确定N级时间轮中的第三目标时间槽,包括:
根据所述第二任务的超时时间,得到所述第二任务的超时时间包括的第1级时间至第N级时间;
在N级时间轮中,按照所述第二任务的超时时间包括的第1级时间至第N级时间,逐级查找所述第三目标时间槽。
7.根据权利要求1所述的方法,其特征在于,还包括:
在启动任务超时监控的情况下,发送超时监控初始化指令;
接收响应于所述超时监控初始化指令返回的第三任务的任务标识和所述第三任务的超时时间,所述第三任务包括当前时间未关闭的任务;
根据所述第三任务的超时时间,确定N级时间轮中的第四目标时间槽,所述第四目标时间槽为与所述第三任务的超时时间对应的第N级时间轮的时间槽;
生成用于表征所述第三任务的第三任务节点,所述第三任务节点包括所述第三任务的任务标识;
将所述第三任务节点添加至所述第四目标时间槽关联的任务链表。
8.根据权利要求1所述的方法,其特征在于,所述N级时间轮及所述任务链表存储于内存。
9.根据权利要求1至8中任意一项所述的方法,其特征在于,所述任务包括交易任务。
10.一种任务超时监控装置,其特征在于,包括:
查找模块,用于根据获取的当前时间,在预存的N级时间轮中查找第一目标时间槽,所述时间轮包括多个时间槽,所述第一目标时间槽为与所述当前时间对应的第N级时间轮的时间槽,第i级时间轮的时间槽用于表征第i级时间,第i-1级时间轮的任一时间槽关联有所述任一时间槽表征的第i-1级时间下属的第i级时间轮,第N级时间轮的时间槽关联有任务链表,所述任务链表中任务节点表征的任务的超时时间为所述第N级时间轮的时间槽上溯至第1级时间轮的时间槽共同表征的时间,所述任务节点包括任务的任务标识,N、i为正整数,且1<i≤N;
确定模块,用于基于所述第一目标时间槽,确定目标任务节点,所述目标任务节点包括所述第一目标时间槽关联的任务链表中的任务节点;
生成模块,用于根据所述目标任务节点,生成任务关闭指令,所述任务关闭指令包括所述目标任务节点包括的任务标识;
发送模块,用于发送所述任务关闭指令,以关闭所述目标任务节点包括的任务标识对应的任务;
还包括:
接收模块,用于接收任务节点删除指令,所述任务节点删除指令包括第二任务的任务标识和所述第二任务的超时时间,所述第二任务为在超时时间到达前正常结束的任务;
所述查找模块还用于根据所述第二任务的超时时间,确定N级时间轮中的第三目标时间槽,所述第三目标时间槽为与所述第二任务的超时时间对应的第N级时间轮的时间槽;
处理模块,用于在所述第三目标时间槽关联的任务链表中删除第二任务节点,所述第二任务节点包括的任务标识与所述第二任务的任务标识一致。
11.一种任务超时监控设备,其特征在于,包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1至9中任意一项所述的任务超时监控方法。
12.一种任务超时监控系统,其特征在于,包括分布设置的多个任务超时监控单元,每个所述任务超时监控单元用于执行如权利要求1至9中任意一项所述的任务超时监控方法。
13.根据权利要求12所述的系统,其特征在于,每个所述任务超时监控单元预存的时间轮关联的任务链表中的任务节点表征任务处理系统中的未关闭的部分任务,多个所述任务超时监控单元预存的时间轮关联的任务链表中的任务节点的并集表征任务处理系统中的未关闭的所有任务;
所述系统还包括:
任务分配单元,用于接收任务超时监控指令,将所述任务超时监控指令转发至目标任务超时监控单元,所述目标任务超时监控单元存储的任务链表包括任务标识与所述任务超时监控指令中任务标识一致的任务节点,
所述任务超时监控指令包括被监控任务的任务标识和所述被监控任务的超时时间。
14.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1至9中任意一项所述的任务超时监控方法。
CN202010960756.6A 2020-09-14 2020-09-14 任务超时监控方法、装置、设备、系统及存储介质 Active CN112181614B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010960756.6A CN112181614B (zh) 2020-09-14 2020-09-14 任务超时监控方法、装置、设备、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010960756.6A CN112181614B (zh) 2020-09-14 2020-09-14 任务超时监控方法、装置、设备、系统及存储介质

Publications (2)

Publication Number Publication Date
CN112181614A CN112181614A (zh) 2021-01-05
CN112181614B true CN112181614B (zh) 2024-04-19

Family

ID=73920873

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010960756.6A Active CN112181614B (zh) 2020-09-14 2020-09-14 任务超时监控方法、装置、设备、系统及存储介质

Country Status (1)

Country Link
CN (1) CN112181614B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113438130B (zh) * 2021-06-23 2022-11-11 中国工商银行股份有限公司 基于微服务的超时监测方法及装置
CN113760508A (zh) * 2021-08-18 2021-12-07 成都安恒信息技术有限公司 一种基于时间轮的脚本下发调度方法
CN113961369A (zh) * 2021-10-21 2022-01-21 上海景域智能科技有限公司 一种文旅产业平台的延时调度方法、系统及存储介质
CN114881739A (zh) * 2022-05-25 2022-08-09 北京京东振世信息技术有限公司 订单事件处理方法及装置、电子设备和存储介质
US11973637B1 (en) 2022-11-22 2024-04-30 Walmart Apollo, Llc System and method for fallback communications using composite and concurrent state machines

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020323A (ja) * 1998-04-27 2000-01-21 Sony Corp スケジュ―リング装置及び方法並びに記録媒体
US7836448B1 (en) * 2004-06-30 2010-11-16 Emc Corporation System and methods for task management
CN103677976A (zh) * 2013-12-09 2014-03-26 大唐移动通信设备有限公司 一种基于时间轮定器的事件处理方法及装置
CN105005839A (zh) * 2015-01-07 2015-10-28 泰华智慧产业集团股份有限公司 一种城市管理gps监控系统及其工作方法
CN106126326A (zh) * 2016-06-23 2016-11-16 东软集团股份有限公司 定时任务管理方法和装置
US10152349B1 (en) * 2016-09-27 2018-12-11 Juniper Networks, Inc. Kernel scheduling based on precedence constraints and/or artificial intelligence techniques
CN109254839A (zh) * 2018-08-24 2019-01-22 上海哔哩哔哩科技有限公司 确定任务触发时间的方法、构建任务定时器的方法及系统
CN111309548A (zh) * 2020-02-03 2020-06-19 中国银联股份有限公司 一种超时监控方法、装置及计算机可读存储介质
CN111324621A (zh) * 2020-02-19 2020-06-23 中国银联股份有限公司 事件处理方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040169654A1 (en) * 2003-02-27 2004-09-02 Teracruz, Inc. System and method for tree map visualization for database performance data

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020323A (ja) * 1998-04-27 2000-01-21 Sony Corp スケジュ―リング装置及び方法並びに記録媒体
US7836448B1 (en) * 2004-06-30 2010-11-16 Emc Corporation System and methods for task management
CN103677976A (zh) * 2013-12-09 2014-03-26 大唐移动通信设备有限公司 一种基于时间轮定器的事件处理方法及装置
CN105005839A (zh) * 2015-01-07 2015-10-28 泰华智慧产业集团股份有限公司 一种城市管理gps监控系统及其工作方法
CN106126326A (zh) * 2016-06-23 2016-11-16 东软集团股份有限公司 定时任务管理方法和装置
US10152349B1 (en) * 2016-09-27 2018-12-11 Juniper Networks, Inc. Kernel scheduling based on precedence constraints and/or artificial intelligence techniques
CN109254839A (zh) * 2018-08-24 2019-01-22 上海哔哩哔哩科技有限公司 确定任务触发时间的方法、构建任务定时器的方法及系统
CN111309548A (zh) * 2020-02-03 2020-06-19 中国银联股份有限公司 一种超时监控方法、装置及计算机可读存储介质
CN111324621A (zh) * 2020-02-19 2020-06-23 中国银联股份有限公司 事件处理方法、装置、设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
基于PowerPC的多任务运行状态监控方案;李英明;徐云松;包伟;;工业控制计算机;20150125(01);全文 *
基于时间槽的敏捷供应链集成调度模型及优化;王建华等;《系统工程理论与实践》;20110215(第02期);全文 *
实时操作系统中的时间车轮算法;顾清山;杨顺;张亮;;计算机系统应用;20100215(02);全文 *

Also Published As

Publication number Publication date
CN112181614A (zh) 2021-01-05

Similar Documents

Publication Publication Date Title
CN112181614B (zh) 任务超时监控方法、装置、设备、系统及存储介质
CN107040585B (zh) 一种业务校验的方法及装置
CN107424069B (zh) 一种风控特征的生成方法、风险监控方法及设备
CN109146638B (zh) 异常金融交易群体的识别方法及装置
CN112214519B (zh) 一种数据查询方法、装置、设备及可读介质
CN108256870B (zh) 基于拓扑结构生成描述信息及更新、数据处理方法和装置
CN110022259B (zh) 消息到达率确定方法、装置、数据统计服务器及存储介质
CN112486915B (zh) 数据存储方法及装置
CN112087530B (zh) 一种将数据上传至区块链系统的方法、装置、设备及介质
WO2021238514A1 (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN108616361B (zh) 一种识别设备唯一性的方法及装置
CN109218211B (zh) 数据流的控制策略中阈值的调整方法、装置和设备
CN113315750A (zh) 一种Kafka消息发布方法、装置及存储介质
CN110738502A (zh) 一种票据处理方法、装置及存储介质装置
CN109976896B (zh) 业务排重处理方法和装置
CN112286968A (zh) 一种业务识别方法、设备、介质及电子设备
CN112422635B (zh) 数据核对方法、装置、设备、系统及存储介质
CN115328734A (zh) 跨服务的日志处理方法、装置及服务器
CN113673844A (zh) 一种信息反馈方法、装置及设备
CN110046180B (zh) 一种用于定位相似实例的方法、装置和电子设备
CN116340127A (zh) 一种接口测试方法、装置
CN112269940A (zh) 数据处理方法及装置
CN112463065B (zh) 一种账号打通的计算方法及系统
CN113220456B (zh) 账单数据的处理方法及相关装置
CN112132664B (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