一种定时器任务自动处理方法及系统技术方案

技术编号:7302214 阅读:172 留言:0更新日期:2012-04-27 05:54
本发明专利技术适用于计算机技术领域,提供了一种定时器任务自动处理方法及系统,所述方法包括下述步骤:循环监听第一预设队列中是否有定时器任务进入;当监听到所述第一预设队列中有定时器任务进入时,将所述定时器任务添加到第二预设队列;循环监听所述第二预设队列是否有定时器任务进入;当监听到所述第二预设队列中有定时器任务进入时,调用对应的线程处理进入的定时器任务。本发明专利技术解决了现有技术无法实现定时器任务并发处理,系统资源的利用率低的问题,通过调用对应的线程对定时器任务进行处理,提高了任务的并发处理能力,进而提高了系统资源的利用率。

【技术实现步骤摘要】

本专利技术属于计算机
,尤其涉及一种定时器任务自动处理方法及系统
技术介绍
在应用系统/应用平台中,定时器(Timer)常被用来完成周期性的任务或特定时刻的待执行任务。对于需要支持大量Timer任务的平台或系统,Timer任务管理和执行决定了该平台或系统的性能。在现有技术中主要通过平衡堆的方式进行Timer任务的管理和执行,需要花费较多的时间来进行平衡堆的调整,系统开销较大。针对该问题,华为技术有限公司提出申请号为200510130535. 1的专利技术专利申请, 在该申请中提出了一种对定时器任务进行管理的方法,具体为提供了一种对Timer (定时器)任务进行管理的方法,包括步骤在系统中创建至少一个固定周期定时器任务队列,所述固定周期定时器任务队列的属性包括一特定触发周期;将系统中的定时器任务放入与其触发周期相同的所述固定周期定时器任务队列,对该定时器任务进行管理。然而,在该申请中,将特定周期的任务放入特定周期定时器任务队列中进行处理,严重约束了任务的触发周期,不适用于处理多样化的周期任务,也不能有效处理随机的定时器任务,同时,一个固定周期定时器任务队列的执行时顺序的,在处理大量定时器任务时,无法实现并发处理,系统资源的利用率低。
技术实现思路
本专利技术实施例的目的在于提供一种定时器任务自动处理方法及系统,旨在解决现有技术Timer任务处理效率低、系统资源利用率低的问题。本专利技术实施例是这样实现的,一种定时器任务自动处理方法,所述方法包括下述步骤循环监听第一预设队列中是否有定时器任务进入;当监听到所述第一预设队列中有定时器任务进入时,将所述定时器任务添加到第二预设队列;循环监听所述第二预设队列是否有定时器任务进入;当监听到所述第二预设队列中有定时器任务进入时,调用对应的线程处理进入的定时器任务。本专利技术实施例的另一目的在于提供一种定时器任务自动处理系统,其特征在于, 所述系统包括第一监听单元,用于循环监听第一预设队列中是否有定时器任务进入;任务添加单元,用于当监听到第一预设队列中有定时器任务进入时,将所述定时器任务添加到第二预设队列;第二监听单元,用于循环监听第二预设队列是否有定时器任务进入;以及任务处理单元,用于当监听到所述第二预设队列中有定时器任务进入时,调用对应的线程处理进入的定时器任务。本专利技术实施例对第一预设队列进行循环监听,当监听到有定时器任务进入时,将定时器任务添加到第二预设队列,同时,循环监听第二预设队列是否有定时器任务进入,当监听到第二预设队列中有定时器任务进入时,调用对应的线程处理进入的定时器任务,解决了现有技术无法实现定时器任务并发处理,系统资源的利用率低的问题,通过调用对应的线程对定时器任务进行处理,提高了任务的并发处理能力,进而提高了系统资源的利用率。附图说明图1是本专利技术实施例一提供的定时器任务自动处理方法的实现流程图;图2是本专利技术实施例二提供的定时器任务自动处理方法的实现流程图;图3是本专利技术实施例三提供的定时器任务自动处理方法的实例图;图4是本专利技术实施例四提供的定时器任务自动处理系统的结构图;图5是本专利技术实施例五提供的定时器任务自动处理系统的结构图;图6是本专利技术实施例六提供的定时器任务自动处理系统的结构图。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。以下结合具体实施例对本专利技术的具体实现进行详细描述实施例一图1示出了本专利技术实施例一提供的定时器任务自动处理方法的实现流程,详述如下在步骤SlOl中,循环监听第一预设队列中是否有定时器任务进入。在步骤S102中,当监听到第一预设队列中有定时器任务进入时,将定时器任务添加到第二预设队列。在本专利技术实施例中,预先建立一个队列,用于存储定时器任务,该定时器任务可以为用户定制的定时任务,也可以是其它应用程序生成的定时任务,在此不用限制并专利技术,同时,对该队列循环监听,从而实现对用户定制的定时器任务的实时发现。当监听到第一预设队列中有定时器任务进入时,将定时器任务添加到第二预设队列,并在第一预队列中删除该定时器任务。在步骤S103中,循环监听第二预设队列是否有定时器任务进入。在本专利技术实施例中,预先创建一个队列,即第二预队列,以用于临时存放将要执行的定时器任务,起到一定缓存作用,并对该队列进行实时的监听。在步骤S104中,当监听到第二预设队列中有定时器任务进入时,调用对应的线程处理进入的定时器任务。在本专利技术实施例中,当监听到第二预设队列中有定时器任务进入时,调用对应的线程执行该定时器任务,并删除第二预设队列中的该任务,以实现定时器任务的实时处理,在具体实施过程中,可以创建一个新的线程对该定时器任务进行处理,也可以将该定时器任务添加到预先创建的线程池中,由线程池中的线程进行执行,从而大大减少了线程的创建和销毁次数,提高了定时器任务处理的工作效率。具体地,在本专利技术实施例中,可以预先创建第一监听线程和第二监听线程分别用于循环监听第一预设队列和第二预设队列,从而提高系统的并发程度,提高中央处理器 (CPU)、内存等资源的利用率。在本专利技术实施例中,当定时器任务执行成功时,则可以返回执行结果数据,当定时器任务执行失败时,较优地,应将定时器任务写入第三预设队列中,以方便用户对任务执行失败的原因进行分析,或在其下一循环周期的定时时间到达时,直接将其加入第一预设队列再次执行,从而提高任务异常处理的智能化程度。在本专利技术实施例中,预先建立第一预设队列和第二预设队列,并对两个队列进行循环监听,两个队列中任务的添加、监听,以及线程的处理都可以进行并发执行,从而提高了任务的并发处理能力,进而提高了系统资源的利用率。实施例二 在本专利技术实施例中,采用线程池执行定时器任务,从而防止了频繁的线程创建与销毁引起的大量系统资源浪费,使得更多的CPU时间和内存可以用来处理实际的定时器任务(例如,商业应用)。图2示出了本专利技术实施例二提供的定时器任务自动处理方法的实现流程,详述如下在步骤S201中,循环监听第一预设队列中是否有定时器任务进入。在步骤S202中,当监听到第一预设队列中有定时器任务进入时,将定时器任务添加到第二预设队列。 在本专利技术实施例中,预先建立一个队列,用于存储定时器任务,该定时器任务可以为用户定制的定时任务,也可以是其它应用程序生成的定时任务,在此不用限制并专利技术,同时,循环监听该队列,从而实现对用户定制的定时器任务的实时发现。当监听到第一预设队列中有定时器任务进入时,将定时器任务添加到第二预设队列,并在第一预队列中删除该定时器任务。在步骤S203中,循环监听第二预设队列是否有定时器任务进入。在本专利技术实施例中,预先创建一个队列,即第二预队列,以用于临时存放将要执行的定时器任务,并对该队列进行实时的监听。在步骤S204中,当监听到第二预设队列中有定时器任务进入时,将定时器任务添加到预先创建的线程池。在线程池中,先启动若干数量的线程,并让这些线程都处于睡眠状态,当接收到一个新请求时,唤醒线程池中的某一个睡眠线程,让其处理该请求,当处理完请求后,线程又处于睡眠状态,线程可以循环执行接收到请求任务。在本专利技术实施例中,当监听到第二预设队列中有定本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种定时器任务自动处理方法,其特征在于,所述方法包括下述步骤 循环监听第一预设队列中是否有定时器任务进入;当监听到所述第一预设队列中有定时器任务进入时,将定时器任务添加到第二预设队列;循环监听所述第二预设队列是否有定时器任务进入;当监听到所述第二预设队列中有定时器任务进入时,调用对应的线程处理进入的定时器任务。2.如权利要求1所述的方法,其特征在于,所述循环监听第一预设队列中是否有定时器任务进入的步骤之前,所述方法还包括创建第一监听线程和第二监听线程;所述循环监听第一预设队列中是否有定时器任务进入的步骤具体为调用所述第一监听线程循环监听第一预设队列中是否有定时器任务进入; 所述循环监听第二预设队列中是否有定时器任务进入的步骤具体为 调用所述第二监听线程循环监听第二预设队列中是否有定时器任务进入。3.如权利要求1所述的方法,其特征在于,所述当监听到所述第二预设队列中有定时器任务进入时,调用对应的线程处理进入的定时器任务的步骤具体为当监听到所述第二预设队列中有定时器任务进入时,将所述定时器任务添加到预先创建的线程池,控制所述线程池执行所述定时器任务。4.如权利要求3所述的方法,其特征在于,将所述定时器任务添加到预先创建的线程池的步骤之后,控制所述线程池执行所述定时器任务的步骤之前,所述方法还包括判断所述线程池的缓存队列是否已满;当所述线程池缓存队列已满时,阻塞所述第二预设队列的监听;当所述线程池缓存队列未满时,执行控制所述线程池执行所述定时器任务的步骤。5.如权利要求1或4所述的方法,其特征在于,所述当监听到所述第二预设队列中有定时器...

【专利技术属性】
技术研发人员:李坤保徐波肖海涛
申请(专利权)人:深圳市航天泰瑞捷电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术