CN110162392B - 周期性任务的执行方法、装置、电子设备及存储介质 - Google Patents

周期性任务的执行方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110162392B
CN110162392B CN201910457524.6A CN201910457524A CN110162392B CN 110162392 B CN110162392 B CN 110162392B CN 201910457524 A CN201910457524 A CN 201910457524A CN 110162392 B CN110162392 B CN 110162392B
Authority
CN
China
Prior art keywords
task
periodic task
identification information
periodic
validity 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
CN201910457524.6A
Other languages
English (en)
Other versions
CN110162392A (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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN201910457524.6A priority Critical patent/CN110162392B/zh
Publication of CN110162392A publication Critical patent/CN110162392A/zh
Application granted granted Critical
Publication of CN110162392B publication Critical patent/CN110162392B/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/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

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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开实施例提供了一种周期性任务的执行方法、装置、电子设备及存储介质,应用于互联网技术领域,所述方法包括:根据周期性任务的任务标识信息,确定执行周期性任务的固定线程;当周期性任务的执行周期到达时,从固定线程中获取周期性任务的有效期标识信息;当有效期标识信息标识周期性任务的有效期为有效状态时,则执行周期性任务。本公开实施例可降低业务的复杂性。

Description

周期性任务的执行方法、装置、电子设备及存储介质
技术领域
本公开涉及互联网技术领域,特别是涉及一种周期性任务的执行方法、装置、电子设备及存储介质。
背景技术
在互联网服务的开发过程中,线程池是一种常用的组件。线程池维护着多个线程,等待调用者分配可并发执行的任务。它简化了开发多线程高并发程序的技术成本,也避免了频繁创建和销毁线程带来的性能损失。在某些业务场景下,可能需要频繁地创建、终止若干个周期性任务,或者变更周期性任务的工作内容。基于传统的线程池实现这样的工作有一定的性能开销和开发成本。
通常情况下,线程池可以提供以下功能:执行一个指定的任务、定时执行一个指定的任务或者周期性执行一个指定的任务。例如,Java中的ScheduledExecutorService。基于这类传统线程池实现频繁地创建、终止若干个周期性任务,或者变更任务内容的工作,可以通过以下方式实现:
a.为每个周期性任务指定唯一标识;b.在线程池中创建任务,获得任务对应句柄,并将标识和句柄关系维护在映射表中;c.当需要终止时,先根据任务标识从映射表中取得句柄,通过句柄取消(或终止)任务;d.当需要变更时,先根据任务标识从映射表中取得句柄,通过句柄取消(或终止)任务,再使用同一标识和更新的内容创建新任务。
其中,任务的终止可能需要等待当前执行退出,因此任务的终止通常会阻塞;对于高性能服务,通常要避免阻塞操作,特别是在异步服务中,阻塞操作会影响事件循环的处理效率。当终止和变更频繁操作时,阻塞会极大影响整体服务的性能。可见,任务的终止是比较重要的操作,为了避免阻塞带来的性能损失,业务上层可能需要做一些比较复杂的设计,增加了业务复杂性。
发明内容
本公开提供一种周期性任务的执行方法、装置、电子设备及存储介质,以至少解决相关技术中在处理周期性任务时,降低业务复杂性。具体技术方案如下:
根据本公开实施例的第一方面,提供了一种周期性任务的执行方法,所述方法包括:
根据所述周期性任务的任务标识信息,确定执行所述周期性任务的固定线程;
当所述周期性任务的执行周期到达时,从所述固定线程中获取所述周期性任务的有效期标识信息;
当所述有效期标识信息标识所述周期性任务的有效期为有效状态时,则执行所述周期性任务。
可选的,所述从所述固定线程中获取所述周期性任务的有效期标识信息,包括:
从所述固定线程中的私有映射表中获取所述周期性任务的有效期标识信息。
可选的,在所述执行所述周期性任务之后,所述方法还包括:
更新所述私有映射表中所述周期性任务的有效期标识信息。
可选的,在所述从所述固定线程中获取所述周期性任务的有效期标识信息之后,所述方法还包括:
当所述有效期标识信息标识所述周期性任务的有效期为无效状态时,不执行所述周期性任务,并从所述私有映射表中删除所述周期性任务的相关信息。
可选的,在所述根据所述周期性任务的任务标识信息,确定执行所述周期性任务的固定线程之前,所述方法还包括:
在接收到所述周期性任务时,为所述周期性任务分配任务标识信息和有效期标识信息。
可选的,在所述根据所述周期性任务的任务标识信息,确定执行所述周期性任务的固定线程之后,所述方法还包括:
将所述周期性任务的任务标识信息和有效期标识信息的映射关系添加至所述私有映射表中。
可选的,所述根据所述周期性任务的任务标识信息,确定执行所述周期性任务的固定线程,包括:
根据所述周期性任务的任务标识信息,基于哈希函数从线程池中为所述周期性任务选择固定线程。
可选的,所述周期性任务的有效期标识信息为所述周期性任务的执行次数,当所述执行次数大于0时,所述周期性任务的有效期为有效状态;当所述执行次数为0时,所述周期性任务的有效期为无效状态。
可选的,所述线程池包括任务调度接口,所述接口用于创建周期性任务、更新所述周期性任务的执行次数和/或更新所述周期性任务的内容信息。
根据本公开实施例的第二方面,提供了一种周期性任务的执行装置,所述装置包括:
固定线程确定模块,被配置为执行根据所述周期性任务的任务标识信息,确定执行所述周期性任务的固定线程;
有效期确定模块,被配置为执行当所述周期性任务的执行周期到达时,从所述固定线程中获取所述周期性任务的有效期标识信息;
任务执行模块,被配置为执行当所述有效期标识信息标识所述周期性任务的有效期为有效状态时,则执行所述周期性任务。
可选的,所述有效期确定模块,具体被配置为执行从所述固定线程中的私有映射表中获取所述周期性任务的有效期标识信息。
可选的,本公开实施例的周期性任务的执行装置,还包括:
有效期标识更新模块,被配置为执行更新所述私有映射表中所述周期性任务的有效期标识信息。
可选的,本公开实施例的周期性任务的执行装置,还包括:
任务删除模块,被配置为执行当所述有效期标识信息标识所述周期性任务的有效期为无效状态时,不执行所述周期性任务,并从所述私有映射表中删除所述周期性任务的相关信息。
可选的,本公开实施例的周期性任务的执行装置,还包括:
标识信息分配模块,被配置为执行在接收到所述周期性任务时,为所述周期性任务分配任务标识信息和有效期标识信息。
可选的,本公开实施例的周期性任务的执行装置,还包括:
私有映射表添加模块,被配置为执行将所述周期性任务的任务标识信息和有效期标识信息的映射关系添加至所述私有映射表中。
可选的,所述固定线程确定模块,具体被配置为执行根据所述周期性任务的任务标识信息,基于哈希函数从线程池中为所述周期性任务选择固定线程。
可选的,所述周期性任务的有效期标识信息为所述周期性任务的执行次数,当所述执行次数大于0时,所述周期性任务的有效期为有效状态;当所述执行次数为0时,所述周期性任务的有效期为无效状态。
可选的,所述线程池包括任务调度接口,所述接口用于创建周期性任务、更新所述周期性任务的执行次数和/或更新所述周期性任务的内容信息。
根据本公开实施例的第三方面,提供了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述第一方面任一所述的周期性任务的执行方法的步骤。
根据本公开实施例的第四方面,提供了一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行上述第一方面任一所述的周期性任务的执行方法的步骤。
根据本公开实施例的第五方面,提供了一种计算机程序产品,所述计算机程序产品在处理器上被执行时,实现上述第一方面任一所述的周期性任务的执行方法的步骤。
本公开实施例提供的技术方案至少带来以下有益效果:在周期性任务的执行周期到达时,根据从执行周期性任务的固定线程中获取的周期性任务的有效期标识信息,确定周期性任务的有效期是否为有效状态。在周期性任务的有效期为有效状态时,执行周期性任务。可见,周期性任务的有效期标识信息可以代表周期性任务的有效期,根据有效期标识信息即可确定是否执行周期性任务,简化了执行周期性任务时的调用接口,降低业务的复杂性。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1为本公开实施例的周期性任务的执行方法的一种流程图;
图2为本公开实施例的周期性任务的执行方法的另一种流程图;
图3为本公开实施例的周期性任务的执行装置的一种结构图;
图4为本公开实施例的电子设备的一种示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
参见图1,图1为本公开实施例的周期性任务的执行方法的一种流程图,包括以下步骤:
S101,根据周期性任务的任务标识信息,确定执行周期性任务的固定线程。
S102,当周期性任务的执行周期到达时,从固定线程中获取周期性任务的有效期标识信息。
S103,当有效期标识信息标识周期性任务的有效期为有效状态时,则执行周期性任务。
上述图1实施例的有益效果在于,周期性任务的有效期标识信息可以代表周期性任务的有效期,根据有效期标识信息即可确定是否执行周期性任务,简化了执行周期性任务时的调用接口,降低业务的复杂性。
参见图2,图2为本公开实施例的周期性任务的执行方法的另一种流程图,包括以下步骤:
S201,在接收到周期性任务时,为周期性任务分配任务标识信息和有效期标识信息。
在互联网服务的某些业务场景下,可能需要频繁地创建、终止若干个周期性任务,或者变更周期性任务的工作内容。周期性任务是指需要周期性执行的任务,周期性可以是以分、时、天为单位,但又不限于这些单位,周期性任务可以是调用者分配的可并发执行的周期性任务。本公开实施例的执行主体可以是服务器,服务器在接收到周期性任务时,可以为周期性任务设置任务标识信息和有效期标识信息。对于不同的周期性任务,每个周期性任务的任务标识信息是唯一的,有效期标识信息可以为周期性任务的执行次数。周期性任务的执行次数可以根据周期性任务的有效期的长短进行设置,有效期越长,执行次数越多,例如,可以是20次;有效期越短,执行次数越少,例如,可以是3次。
S202,根据周期性任务的任务标识信息,确定执行周期性任务的固定线程。
本公开实施例中,可以通过线程池执行周期性任务,线程池中通常可以包括多个线程,各线程之间可以并发执行周期性任务。因此,可以将不同的周期性任务分发至线程池中的各线程中。本公开的一种实现方式中,根据周期性任务的任务标识信息,基于哈希函数从线程池中为周期性任务选择固定线程。例如,若任务标识信息为Item,线程的个数为M,线程的下标分别为0、1、…、M-1,根据公式:Index=HASH(Item)%M,计算余数Index,将Index为J的周期性任务分发至下标为J的线程中,J为0~M-1的整数,HASH表示哈希函数,%表示取余运算。
S203,将周期性任务的任务标识信息和有效期标识信息的映射关系添加至私有映射表中。
具体的,将周期性任务分发至线程池中的固定线程中之后,可以将该周期性任务的任务标识信息和有效期标识信息的映射关系添加至私有映射表中。当然,映射关系中还可以包含周期性任务的内容信息等。私有映射表是各线程私有的,也就是每个线程中均具有对应的私有映射表。其他线程读写对应的私有映射表时,本线程也可以对本线程的私有映射表进行读写,即各线程之间互不影响。
S204,当周期性任务的执行周期到达时,从固定线程中获取周期性任务的有效期标识信息。
对于周期性任务,其执行周期也可以是以分、时、天等为单位,例如,执行周期可以是10分钟或20分钟等。那么,每10分钟或20分钟,该周期性任务将被执行一次。在每次执行周期到达时,可以从固定线程中的私有映射表中获取周期性任务的有效期标识信息。
S205,当有效期标识信息标识周期性任务的有效期为有效状态时,则执行周期性任务。
具体的,有效期标识信息可以为周期性任务的执行次数,当执行次数大于0时,周期性任务的有效期为有效状态,则执行周期性任务。
S206,更新私有映射表中周期性任务的有效期标识信息。
本公开实施例中,由于周期性任务的执行次数表示的是该周期性任务剩余的可以执行的次数,因此,每执行一次该周期性任务,可以将私有映射表中周期性任务的执行次数减1。
S207,当有效期标识信息标识周期性任务的有效期为无效状态时,不执行周期性任务,并从私有映射表中删除周期性任务的相关信息。
具体的,若周期性任务的执行次数为0,周期性任务的有效期为无效状态,表示周期性任务终止,可以将周期性任务的相关信息从私有映射表中删除。
本公开的一种实现方式中,图2实施例中的线程池包括任务调度接口,接口用于创建周期性任务、更新周期性任务的执行次数和/或更新周期性任务的内容信息。
本公开实施例中,还可以通过任务调度接口创建周期性任务,对周期性任务的执行次数和/或内容信息进行修改。例如,在创建周期性任务时,可以在私有映射表中添加待创建的周期性任务的相关信息即可。在对周期性任务的执行次数进行修改时,若周期性任务的执行次数为2时,此时,该周期性任务仍在有效期,可以将执行次数修改为10,将该周期性任务的有效期延长。相反地,若执行次数为10,可以将执行次数修改为3,将该周期性任务的有效期缩短。当然,若执行次数为0,表示该周期性任务已不在有效期,该周期性任务将终止。本公开还可以终止周期性任务,若接收到终止任务的请求,可以直接将待终止周期性任务的相关信息从私有映射表中删除。
可见,本公开通过对周期性任务设置任务标识信息和有效期标识信息,根据任务标识信息为周期性任务选择固定线程,将周期性任务的任务标识信息和有效期标识信息的映射关系存储至固定线程的私有映射表中。当周期性任务的执行周期到达时,从固定线程的私有映射表中获取周期性任务的有效期标识信息。若周期性任务的有效期为有效状态,则执行周期性任务,否则,不执行周期性任务,并从私有映射表中删除周期性任务的相关信息。本公开在频繁地终止或变更大量周期性任务时,可以通过对私有映射表中的有效期标识信息进行修改,完成对周期性任务的终止或变更,降低了开发成本。并且,终止任务时只需将私有映射表中周期性任务的相关信息删除即可,不会发生阻塞,可以提高服务性能。在每个线程中均通过私有映射表记录周期性任务的内容和状态,各线程之间对周期性任务的刷新互不影响,因此,无须对私有映射表加锁,可以提高周期性任务的刷新频率。
相应于上述方法实施例,本公开实施例提供了一种周期性任务的执行装置,参见图3,图3为本公开实施例的周期性任务的执行装置的一种结构图,包括:
固定线程确定模块301,被配置为执行根据周期性任务的任务标识信息,确定执行周期性任务的固定线程;
有效期确定模块302,被配置为执行当周期性任务的执行周期到达时,从固定线程中获取周期性任务的有效期标识信息;
任务执行模块303,被配置为执行当有效期标识信息标识周期性任务的有效期为有效状态时,则执行周期性任务。
本公开实施例的任务执行装置中,周期性任务的有效期标识信息可以代表周期性任务的有效期,根据有效期标识信息即可确定是否执行周期性任务,简化了执行周期性任务时的调用接口,降低业务的复杂性。
可选的,有效期确定模块,具体被配置为执行从固定线程中的私有映射表中获取周期性任务的有效期标识信息。
可选的,本公开实施例的周期性任务的执行装置,还包括:
有效期标识更新模块,被配置为执行更新私有映射表中周期性任务的有效期标识信息。
可选的,本公开实施例的周期性任务的执行装置,还包括:
任务删除模块,被配置为执行当有效期标识信息标识周期性任务的有效期为无效状态时,不执行周期性任务,并从私有映射表中删除周期性任务的相关信息。
可选的,本公开实施例的周期性任务的执行装置,还包括:
标识信息分配模块,被配置为执行为在接收到周期性任务时,为周期性任务分配任务标识信息和有效期标识信息。
可选的,本公开实施例的周期性任务的执行装置,还包括:
私有映射表添加模块,被配置为执行将所述周期性任务的任务标识信息和有效期标识信息的映射关系添加至私有映射表中。
可选的,固定线程确定模块,具体被配置为执行根据周期性任务的任务标识信息,基于哈希函数从线程池中为周期性任务选择固定线程。
可选的,周期性任务的有效期标识信息为周期性任务的执行次数,当执行次数大于0时,周期性任务的有效期为有效状态;当执行次数为0时,周期性任务的有效期为无效状态。
可选的,线程池包括任务调度接口,接口用于创建周期性任务、更新周期性任务的执行次数和/或更新周期性任务的内容信息。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开实施例提供了一种电子设备,参见图4,图4为本公开实施例的电子设备的一种示意图,包括:
处理器401;
用于存储处理器401可执行指令的存储器402;
其中,处理器401被配置为执行上述任一周期性任务的执行方法的步骤。
本公开实施例中,根据周期性任务的任务标识信息,确定执行周期性任务的固定线程;当周期性任务的执行周期到达时,从固定线程中获取周期性任务的有效期标识信息;当有效期标识信息标识周期性任务的有效期为有效状态时,则执行周期性任务。周期性任务的有效期标识信息可以代表周期性任务的有效期,根据有效期标识信息即可确定是否执行周期性任务,简化了执行周期性任务时的调用接口,降低业务的复杂性。
本公开实施例还提供了一种包括指令的存储介质,例如包括指令的存储器402,上述指令可由图4的处理器401执行以完成上述方法。可选的,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本公开实施例提供了一种计算机程序产品,计算机程序产品在处理器上被执行时,实现上述任一周期性任务的执行方法的步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (16)

1.一种周期性任务的执行方法,其特征在于,所述方法包括:
根据所述周期性任务的任务标识信息,确定执行所述周期性任务的固定线程;
当所述周期性任务的执行周期到达时,从所述固定线程中获取所述周期性任务的有效期标识信息;
当所述有效期标识信息标识所述周期性任务的有效期为有效状态时,则执行所述周期性任务;
所述根据所述周期性任务的任务标识信息,确定执行所述周期性任务的固定线程,包括:
根据如下公式,基于任务标识信息和线程个数以哈希值进行取余;
Index=HASH(Item)%M
其中,Item为任务标识信息,M为线程的个数,线程的标识为0~M-1的整数,HASH表示哈希函数,%表示取余运算,Index为余数;
针对每一个周期性任务,若该周期性任务对应的余数Index为J,则将线程池中线程的标识为J的固定线程确定为执行该周期性任务的固定线程,J为0~M-1的整数;
所述从所述固定线程中获取所述周期性任务的有效期标识信息,包括:
从所述固定线程中的私有映射表中获取所述周期性任务的有效期标识信息;其中,每个固定线程均对应有私有映射表,针对每一个固定线程,该固定线程的私有映射表中包括周期性任务的任务标识信息和周期性任务的有效期标识信息的映射关系,所述映射关系中包含周期性任务的内容信息。
2.根据权利要求1所述的周期性任务的执行方法,其特征在于,在所述执行所述周期性任务之后,所述方法还包括:
更新所述私有映射表中所述周期性任务的有效期标识信息。
3.根据权利要求1所述的周期性任务的执行方法,其特征在于,在所述从所述固定线程中获取所述周期性任务的有效期标识信息之后,所述方法还包括:
当所述有效期标识信息标识所述周期性任务的有效期为无效状态时,不执行所述周期性任务,并从所述私有映射表中删除所述周期性任务的相关信息。
4.根据权利要求1所述的周期性任务的执行方法,其特征在于,在所述根据所述周期性任务的任务标识信息,确定执行所述周期性任务的固定线程之前,所述方法还包括:
在接收到所述周期性任务时,为所述周期性任务分配任务标识信息和有效期标识信息。
5.根据权利要求1所述的周期性任务的执行方法,其特征在于,在所述根据所述周期性任务的任务标识信息,确定执行所述周期性任务的固定线程之后,所述方法还包括:
将所述周期性任务的任务标识信息和有效期标识信息的映射关系添加至所述私有映射表中。
6.根据权利要求1所述的周期性任务的执行方法,其特征在于,所述周期性任务的有效期标识信息为所述周期性任务的执行次数,当所述执行次数大于0时,所述周期性任务的有效期为有效状态;当所述执行次数为0时,所述周期性任务的有效期为无效状态。
7.根据权利要求6所述的周期性任务的执行方法,其特征在于,所述线程池包括任务调度接口,所述接口用于创建周期性任务、更新所述周期性任务的执行次数和/或更新所述周期性任务的内容信息。
8.一种周期性任务的执行装置,其特征在于,所述装置包括:
固定线程确定模块,被配置为执行根据所述周期性任务的任务标识信息,确定执行所述周期性任务的固定线程;
有效期确定模块,被配置为执行当所述周期性任务的执行周期到达时,从所述固定线程中的私有映射表中获取所述周期性任务的有效期标识信息;其中,每个固定线程均对应有私有映射表,针对每一个固定线程,该固定线程的私有映射表中包括周期性任务的任务标识信息和周期性任务的有效期标识信息的映射关系,所述映射关系中包含周期性任务的内容信息;
任务执行模块,被配置为执行当所述有效期标识信息标识所述周期性任务的有效期为有效状态时,则执行所述周期性任务;
所述固定线程确定模块,具体被配置为根据如下公式,基于任务标识信息和线程个数以哈希值进行取余;
Index=HASH(Item)%M
其中,Item为任务标识信息,M为线程的个数,线程的标识为0~M-1的整数,HASH表示哈希函数,%表示取余运算,Index为余数;
针对每一个周期性任务,若该周期性任务对应的余数Index为J,则将线程池中线程的标识为J的固定线程确定为执行该周期性任务的固定线程,J为0~M-1的整数。
9.根据权利要求8所述的周期性任务的执行装置,其特征在于,所述装置还包括:
有效期标识更新模块,被配置为执行更新所述私有映射表中所述周期性任务的有效期标识信息。
10.根据权利要求8所述的周期性任务的执行装置,其特征在于,所述装置还包括:
任务删除模块,被配置为执行当所述有效期标识信息标识所述周期性任务的有效期为无效状态时,不执行所述周期性任务,并从所述私有映射表中删除所述周期性任务的相关信息。
11.根据权利要求8所述的周期性任务的执行装置,其特征在于,所述装置还包括:
标识信息分配模块,被配置为执行在接收到所述周期性任务时,为所述周期性任务分配任务标识信息和有效期标识信息。
12.根据权利要求8所述的周期性任务的执行装置,其特征在于,所述装置还包括:
私有映射表添加模块,被配置为执行将所述周期性任务的任务标识信息和有效期标识信息的映射关系添加至所述私有映射表中。
13.根据权利要求8所述的周期性任务的执行装置,其特征在于,所述周期性任务的有效期标识信息为所述周期性任务的执行次数,当所述执行次数大于0时,所述周期性任务的有效期为有效状态;当所述执行次数为0时,所述周期性任务的有效期为无效状态。
14.根据权利要求13所述的周期性任务的执行装置,其特征在于,所述线程池包括任务调度接口,所述接口用于创建周期性任务、更新所述周期性任务的执行次数和/或更新所述周期性任务的内容信息。
15.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1~7任一所述的周期性任务的执行方法的步骤。
16.一种存储介质,其特征在于,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行权利要求1~7任一所述的周期性任务的执行方法的步骤。
CN201910457524.6A 2019-05-29 2019-05-29 周期性任务的执行方法、装置、电子设备及存储介质 Active CN110162392B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910457524.6A CN110162392B (zh) 2019-05-29 2019-05-29 周期性任务的执行方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910457524.6A CN110162392B (zh) 2019-05-29 2019-05-29 周期性任务的执行方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110162392A CN110162392A (zh) 2019-08-23
CN110162392B true CN110162392B (zh) 2022-10-25

Family

ID=67629848

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910457524.6A Active CN110162392B (zh) 2019-05-29 2019-05-29 周期性任务的执行方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110162392B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107783829A (zh) * 2017-09-05 2018-03-09 平安科技(深圳)有限公司 任务处理方法、装置、存储介质和计算机设备
CN108762931A (zh) * 2018-05-31 2018-11-06 康键信息技术(深圳)有限公司 基于分布式调度系统的任务调度方法、服务器及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7302685B2 (en) * 2000-06-02 2007-11-27 Honeywell International Inc. Methods and apparatus for sharing slack in a time-partitioned system
JP3920818B2 (ja) * 2003-07-22 2007-05-30 株式会社東芝 スケジューリング方法および情報処理システム
CN102122252B (zh) * 2011-03-14 2013-06-19 华中科技大学 一种保证时间连续性的线程池设计方法
US9223626B2 (en) * 2012-08-30 2015-12-29 International Business Machines Corporation Task execution and management in a clustered computing environment
CN104252472B (zh) * 2013-06-27 2018-01-23 国际商业机器公司 用于并行化数据处理的方法和装置
CN104951852A (zh) * 2014-03-24 2015-09-30 阿里巴巴集团控股有限公司 周期性订单信息的处理方法及系统
CN105391968B (zh) * 2015-11-03 2019-05-24 浙江大华技术股份有限公司 一种视频会话分配方法及装置
CN107797859B (zh) * 2017-11-16 2021-08-20 山东浪潮云服务信息科技有限公司 一种定时任务的调度方法及一种调度服务器
CN109800070A (zh) * 2019-01-02 2019-05-24 深圳壹账通智能科技有限公司 任务处理方法和系统
CN109766201A (zh) * 2019-01-04 2019-05-17 中国联合网络通信集团有限公司 任务分发方法、服务器、客户端和系统
CN109726941B (zh) * 2019-02-21 2021-03-12 厦门芯鸽信息科技有限公司 一种智能终端的自动营销系统及自动营销方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107783829A (zh) * 2017-09-05 2018-03-09 平安科技(深圳)有限公司 任务处理方法、装置、存储介质和计算机设备
CN108762931A (zh) * 2018-05-31 2018-11-06 康键信息技术(深圳)有限公司 基于分布式调度系统的任务调度方法、服务器及存储介质

Also Published As

Publication number Publication date
CN110162392A (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
CN109582455B (zh) 多线程任务处理方法、装置及存储介质
JP4612710B2 (ja) トランザクション並行制御方法、データベース管理システム、およびプログラム
US9086911B2 (en) Multiprocessing transaction recovery manager
CN104423982B (zh) 请求的处理方法和处理设备
CN110677462A (zh) 多区块链网络的访问处理方法、系统、装置及存储介质
US20020147758A1 (en) Data processing system and method for high-efficiency multitasking
US20080168447A1 (en) Scheduling of Execution Units
JP2021149409A (ja) アプリケーション開発支援システム及びアプリケーション開発支援方法
EP1131704B1 (en) Processing system scheduling
CN105260244A (zh) 一种分布式系统任务调度的方法和装置
CN111221650A (zh) 基于进程类型关联的系统资源回收方法及装置
CN110162392B (zh) 周期性任务的执行方法、装置、电子设备及存储介质
CN109819674B (zh) 计算机存储介质、嵌入式调度方法及系统
CN113986543A (zh) 内存释放方法、装置、设备及存储介质
JP4862056B2 (ja) 仮想計算機管理機構及び仮想計算機システムにおけるcpu時間割り当て制御方法
CN116881003A (zh) 资源分配方法、装置、服务设备及存储介质
JP2012221034A (ja) メモリ管理装置、メモリ管理方法及びメモリ管理プログラム
CN114090252A (zh) 资源管理方法及装置、存储介质、计算机系统
CN113360251A (zh) 智能合约执行与跨合约调用方法、装置及存储介质
CN114443248A (zh) 对象的生命周期管理方法、装置、电子设备及存储介质
CN110493808B (zh) 云sim卡资源调整方法、管理平台及介质
CN110187957B (zh) 一种下载任务的排队方法、装置及电子设备
CN113760524A (zh) 任务执行方法和装置
CN108073453A (zh) 分布式集群中cpu资源的调度方法以及装置
US20190004856A1 (en) Method and computing device for increasing throughputs of services processed by threads

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