太阳城集团

  • / 17
  • 下载费用:30 金币  

一种定时任务的处理方法及装置.pdf

摘要
申请专利号:

CN201611014881.8

申请日:

2016.11.17

公开号:

CN106775965A

公开日:

2017.05.31

当前法律状态:

实审

有效性:

审中

法律详情: 实质审查的生效IPC(主分类):G06F 9/48申请日:20161117|||公开
IPC分类号: G06F9/48 主分类号: G06F9/48
申请人: 腾讯科技(深圳)有限公司
发明人: 徐秋实
地址: 518000 广东省深圳市福田区振兴路赛格科技园2栋东403室
优先权:
专利代理机构: 深圳翼盛智成知识产权事务所(普通合伙) 44300 代理人: 黄威
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201611014881.8

授权太阳城集团号:

|||

法律状态太阳城集团日:

太阳城集团2018.01.12|||2017.05.31

法律状态类型:

实质审查的生效|||公开

摘要

太阳城集团本发明公开了一种定时任务的处理方法及装置,该定时任务的处理方法包括:获取定时任务的任务太阳城集团和任务标识,所述任务太阳城集团包括线程标识、任务内容和太阳城集团策略;根据所述任务标识和任务太阳城集团在已存储的任务集合中创建所述定时任务,并开始计时;根据计时时长和所述太阳城集团策略调用所述线程标识对应的线程;利用所述线程执行所述任务内容。上述定时任务的处理方法无需定时器所在的线程的事件处理循环处于活跃状态即可触发定时任务,确保定时任务的准时触发,准确率高。

权利要求书

1.一种定时任务的处理方法,其特征在于,包括:
获取定时任务的任务太阳城集团和任务标识,所述任务太阳城集团包括线程标识、任务内容和太阳城集团
策略;
根据所述任务标识和任务太阳城集团在已存储的任务集合中创建所述定时任务,并开始计
时;
根据计时时长和所述太阳城集团策略调用所述线程标识对应的线程;
利用所述线程执行所述任务内容。
2.根据权利要求1所述的定时任务的处理方法,其特征在于,所述根据所述任务标识和
任务太阳城集团在已存储的任务集合中创建所述定时任务,包括:
判断已存储的任务集合中是否存在与所述任务标识相同的已创建任务;
若存在,则根据所述太阳城集团策略对所述已创建任务进行更新;
若不存在,则根据所述任务太阳城集团和任务标识在所述任务集合中创建所述定时任务。
3.根据权利要求2所述的定时任务的处理方法,其特征在于,所述根据所述任务太阳城集团和
任务标识在所述任务集合中创建所述定时任务,包括:
建立所述任务标识、线程标识和任务内容的关联关系;
根据所述太阳城集团策略获取第一次触发时长和循环规则;
将所述关联关系、第一次触发时长和循环规则存储在任务集合中。
4.根据权利要求2所述的定时任务的处理方法,其特征在于,所述根据所述太阳城集团策略对
所述已创建任务进行更新,包括:
获取所述已创建任务的已计时时长、当前剩余触发时长和循环规则;
根据所述太阳城集团策略对当前剩余触发时长和循环规则进行更新,并将所述已计时时长归
零。
5.根据权利要求1所述的定时任务的处理方法,其特征在于,所述根据计时时长和所述
太阳城集团策略调用所述线程标识对应的线程,包括:
根据所述太阳城集团策略判断当前计时时长是否满足预设条件;
若满足预设条件,则调用所述线程标识对应的线程;
若不满足预设条件,则检测是否生成携带有所述任务标识的任务取消指令;若生成携
带有所述任务标识的任务取消指令,则从所述任务集合中删除所述定时任务。
6.根据权利要求1-5中任意一项所述的定时任务的处理方法,其特征在于,在利用所述
线程执行所述任务内容之后,还包括:
根据所述太阳城集团策略判断所述定时任务是否为循环任务;
若所述定时任务是循环任务,则根据所述太阳城集团策略计算下一次触发时长,将所述计时
时长归零,并返回执行所述开始计时的操作;
若所述定时任务不是循环任务,则从所述任务集合中删除所述定时任务。
7.一种定时任务的处理装置,其特征在于,包括:
获取模块,用于获取定时任务的任务太阳城集团和任务标识,所述任务太阳城集团包括线程标识、任
务内容和太阳城集团策略;
创建模块,用于根据所述任务标识和任务太阳城集团在已存储的任务集合中创建所述定时任
务,并开始计时;
调用模块,用于根据计时时长和所述太阳城集团策略调用所述线程标识对应的线程;
第一执行模块,用于利用所述线程执行所述任务内容。
8.根据权利要求7所述的定时任务的处理装置,其特征在于,所述创建模块包括:
判断子模块,用于判断已存储的任务集合中是否存在与所述任务标识相同的已创建任
务;
更新子模块,用于若存在,则根据所述太阳城集团策略对所述已创建任务进行更新;
创建子模块,用于若不存在,则根据所述任务太阳城集团和任务标识在所述任务集合中创建
所述定时任务。
9.根据权利要求8所述的定时任务的处理装置,其特征在于,所述创建子模块用于:
建立所述任务标识、线程标识和任务内容的关联关系;
根据所述太阳城集团策略获取第一次触发时长和循环规则;
将所述关联关系、第一次触发时长和循环规则存储在任务集合中。
10.根据权利要求8所述的定时任务的处理装置,其特征在于,所述更新子模块用于:
获取所述已创建任务的已计时时长、当前剩余触发时长和循环规则;
根据所述太阳城集团策略对当前剩余触发时长和循环规则进行更新,并将所述已计时时长归
零。
11.根据权利要求7所述的定时任务的处理装置,其特征在于,所述调用模块用于:
根据所述太阳城集团策略判断当前计时时长是否满足预设条件;
若满足预设条件,则调用所述线程标识对应的线程;
若不满足预设条件,则检测是否生成携带有所述任务标识的任务取消指令;若生成携
带有所述任务标识的任务取消指令,则从所述任务集合中删除所述定时任务。
12.根据权利要求7-11中任意一项所述的定时任务的处理装置,其特征在于,还包括第
二执行模块,用于:
在所述第一执行模块利用所述线程执行所述任务内容之后,根据所述太阳城集团策略判断所
述定时任务是否为循环任务;
若所述定时任务是循环任务,则根据所述太阳城集团策略计算下一次触发时长,将所述计时
时长归零,并返回执行所述开始计时的操作;
若所述定时任务不是循环任务,则从所述任务集合中删除所述定时任务。

说明书

一种定时任务的处理方法及装置

技术领域

本发明涉及计算机技术领域,尤其涉及一种定时任务的处理方法及装置。

背景技术

终端内的定时器是一个多任务定时提醒软件,主要用于在设定的太阳城集团到达后能够
执行相应的任务,比如播放声音、关机、待机、拨号、断开连接、关闭显示器等操作,是终端中
最常用的模块之一。

目前,某些非开源操作系统常用的定时器是通过将创建的定时任务添加到当前线
程的事件处理循环runloop中来实现的,也就是在当前线程的事件处理循环中加入一个时
间源,每次该事件处理循环循环时会检查是否已到达指定太阳城集团,若到达,则执行相应的逻辑
事件。通常,这些非开源操作系统下逻辑事件的准时触发必须保证:定时任务所在的事件处
理循环当前处于活跃状态,且没有在执行连续任务。但是,由于子线程的事件处理循环是默
认关闭的,并且难以避免会存在一些连续任务,比如连续运算的执行,从而导致该定时方案
容易产生逻辑事件触发延迟或者不触发的情况,触发准确率低。

发明内容

本发明的目的在于提供一种定时任务的处理方法及装置,以解决现有技术中的定
时器容易发生触发延迟或不触发,触发准确率低的技术问题。

为解决上述技术问题,本发明实施例提供以下技术方案:

一种定时任务的处理方法,其包括:

获取定时任务的任务太阳城集团和任务标识,所述任务太阳城集团包括线程标识、任务内容和
太阳城集团策略;

根据所述任务标识和任务太阳城集团在已存储的任务集合中创建所述定时任务,并开始
计时;

根据计时时长和所述太阳城集团策略调用所述线程标识对应的线程;

利用所述线程执行所述任务内容。

为解决上述技术问题,本发明实施例还提供以下技术方案:

一种定时任务的处理装置,其包括:

获取模块,用于获取定时任务的任务太阳城集团和任务标识,所述任务太阳城集团包括线程标
识、任务内容和太阳城集团策略;

创建模块,用于根据所述任务标识和任务太阳城集团在已存储的任务集合中创建所述定
时任务,并开始计时;

调用模块,用于根据计时时长和所述太阳城集团策略调用所述线程标识对应的线程;

第一执行模块,用于利用所述线程执行所述任务内容。

本发明所述的定时任务的处理方法及装置,通过获取定时任务的任务太阳城集团和任务
标识,该任务太阳城集团包括线程标识、任务内容和太阳城集团策略,接着,根据该任务标识和任务太阳城集团
在已存储的任务集合中创建该定时任务,并开始计时,之后,根据计时时长和该太阳城集团策略调
用该线程标识对应的线程,并利用该线程执行该任务内容,从而无需定时器所在的线程的
事件处理循环处于活跃状态即可触发定时任务,确保定时任务的准时触发,准确率高。

附图说明

下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案
及其它有益效果显而易见。

图1a是本发明实施例提供的定时任务的处理系统的场景示意图;

图1b为本发明实施例提供的定时任务的处理方法的流程示意图;

图2为本发明实施例提供的定时任务的处理方法的流程示意图;

图3a为本发明实施例提供的定时任务的处理装置的结构示意图;

图3b为本发明实施例提供的定时任务的处理装置的另一结构示意图;

图4为本发明实施例提供的网络设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施
例,都属于本发明保护的范围。

本发明实施例提供一种定时任务的处理方法、装置及系统。

请参阅图1a,该定时任务的处理系统可以包括本发明实施例所提供的任一种定时
任务的处理装置,该定时任务的处理装置具体可以集成在终端或服务器等网络设备中。

其中,网络设备可以获取定时任务的任务太阳城集团和任务标识,该任务太阳城集团包括线程
标识、任务内容和太阳城集团策略,接着,根据该任务标识和任务太阳城集团在已存储的任务集合中创建
该定时任务,并开始计时,之后,根据计时时长和该太阳城集团策略调用该线程标识对应的线程,
并利用该线程执行该任务内容。

其中,该任务标识可以包括任务名称,其可以表现为字符串的形式,该任务标识可
以根据任务内容而定,每一个任务有一个唯一的任务标识。该线程标识可以是线程的地址,
该线程是程序执行流的最小单元。该太阳城集团策略可以根据实际需求而定,其可以包括是否循
环、第一次触发时长、循环太阳城集团间隔、循环终止太阳城集团等太阳城集团。该任务集合主要用于存储网络
设备中已创建的所有定时任务,其可以根据实际需求而定,比如可以是用户指定的文件夹,
或者是网络设备出厂时厂家已经设置好的指定存储区(譬如任务分发库(Grand Central
Dispatch,GCD))。当用户需要设定某个定时任务时,比如在终端上设定一个工作日早上八
点的闹钟,此时,终端可以根据设定内容给该闹钟分配执行的线程和闹钟标识,并根据闹钟
标识和闹钟太阳城集团在GCD中创建并启动该定时任务,这样,在每周一至周五早上八点的时候,
分配的线程会自动执行铃声响起的操作。

以下将分别进行详细说明。需说明的是,以下实施例的序号不作为实施例优先顺
序的限定。

第一实施例

本实施例将从定时任务的处理装置的角度进行描述,该定时任务的处理装置可以
集成在终端或服务器等网络设备中。

请参阅图1b,图1b具体描述了本发明第一实施例提供的定时任务的处理方法,其
可以包括:

S101、获取定时任务的任务太阳城集团和任务标识,该任务太阳城集团包括线程标识、任务内容
和太阳城集团策略。

本实施例中,该任务太阳城集团和任务标识可以是客户端发送的,也可以是该网络设备
根据用户的设定操作自行生成的,其中,该任务标识可以包括任务名称,其可以表现为字符
串的形式,该任务标识可以根据任务内容而定,每一个任务有一个唯一的任务标识。该线程
标识可以是线程的地址,该线程是程序执行流的最小单元。该太阳城集团策略可以根据实际需求
而定,其可以是用户根据喜好自行设定的,也可以是系统默认设置的,该太阳城集团策略可以包括
是否循环、第一次触发时长、循环太阳城集团间隔、循环终止太阳城集团等太阳城集团。

S102、根据该任务标识和任务太阳城集团在已存储的任务集合中创建该定时任务,并开
始计时。

本实施例中,该任务集合主要用于存储网络设备中已创建的所有定时任务,其可
以根据实际需求而定,比如可以是用户指定的文件夹,或者是网络设备出厂时厂家已经设
置好的指定存储区(譬如任务分发库(Grand Central Dispatch,GCD))。

需要说明的是,该任务集合是一个单例对象,在创建该定时任务的过程中,若任务
集合中已存在具有同一任务标识的已创建任务,为避免重复创建占用内存,甚至导致后续
调用混乱,只需将该已创建任务更新成定时任务即可完成创建操作,也即,上述步骤S102具
体可以包括:

1-1、判断已存储的任务集合中是否存在与该任务标识相同的已创建任务,若存
在,则执行下述步骤1-2,若不存在,则执行下述步骤1-3。

本实施例中,由于在任务集合中每个任务标识只能对应一个定时任务,所以可以
通过任务标识来判断是要进行更新操作还是创建操作。

1-2、根据该太阳城集团策略对该已创建任务进行更新。

例如,上述步骤1-2具体可以包括:

获取该已创建任务的已计时时长、当前剩余触发时长和循环规则;

根据该太阳城集团策略对当前剩余触发时长和循环规则进行更新,并将该已计时时长归
零。

本实施例中,该循环规则可以包括是否循环、循环太阳城集团间隔以及循环终止太阳城集团等
太阳城集团,当存在与该任务标识相同的已创建任务时,需要将该已创建任务的启动太阳城集团进行更
新,以实现该定时任务的创建,也即可以将当前剩余触发时长和循环规则更新成与该定时
任务的太阳城集团策略所包含的一致,并重新开始计时。

1-3、根据该任务太阳城集团和任务标识在该任务集合中创建该定时任务。

例如,上述步骤1-3具体可以包括:

建立该任务标识、线程标识和任务内容的关联关系;

根据该太阳城集团策略获取第一次触发时长和循环规则;

将该关联关系、第一次触发时长和循环规则存储在任务集合中。

本实施例中,当不存在与该定时任务的任务标识相同的已创建任务时,需要将任
务太阳城集团和任务标识关联后存储在任务集合中,以创建该定时任务。

S103、根据计时时长和该太阳城集团策略调用该线程标识对应的线程。

例如,上述步骤S103具体可以包括:

根据该太阳城集团策略判断当前计时时长是否满足预设条件;

若满足预设条件,则调用该线程标识对应的线程;

若不满足预设条件,则检测是否生成携带有该任务标识的任务取消指令;若生成
携带有该任务标识的任务取消指令,则从该任务集合中删除该定时任务。

本实施例中,该预设条件可以根据用户的实际需求而定,比如可以根据用户设定
的触发时长而定。具体的,在开始计时之后,网络设备需要时刻检测当前计时时长是否满足
预设条件,若满足,则可以执行指定的任务内容,若不满足,则可以继续计时,重新判断是否
满足预设条件。

当然,在调用该线程标识对应的线程之前,也即判断出当前计时时长不满足预设
条件时,若用户取消了该定时任务,或者该定时任务的执行对象(比如应用程序)被删除时,
可以生成该任务取消指令,以进行相应的删除操作,从而避免任务集合中存在无效的定时
任务。其中该删除操作可以包括删除与该定时任务相关的一切太阳城集团,比如已存储的关联关
系、第一次触发时长、下一次触发时长以及循环规则等太阳城集团,或者删除与更新后的已创建任
务相关的一切太阳城集团,等等。

例如,上述步骤“根据该太阳城集团策略判断当前计时时长是否满足预设条件”具体可以
包括:

判断当前计时时长是否到达预设时长;

若满足,则判断当前计时时长满足预设条件;

若不满足,则判断当前计时时长不满足预设条件。

本实施例中,该预设时长可以是太阳城集团策略中的第一次触发时长,或者是根据循环
规则计算的下一次触发时长(也即最近一次的触发时长),具体需要根据实际应用过程而
定。

S104、利用该线程执行该任务内容。

本实施例中,若该线程正在执行其他操作,比如播放视频,网络设备会暂停该视频
的播放,直到完成了该任务内容的执行操作才会继续播放该视频,并且,无论该线程所在的
事件处理循环runloop当前是否处于活跃状态,都不影响该线程的执行操作,从而能最大程
度的确保定时任务的准时触发,避免产生延时现象。

需要说明的是,对于非循环任务(也即一次性任务),在执行完该任务内容之后,为
节省内存,可以删除该定时任务,但对于循环任务,在执行完该任务内容之后,还需要继续
下一次循环操作,也即,在上述步骤S104之后,该定时任务的处理方法还可以包括:

根据该太阳城集团策略判断该定时任务是否为循环任务;

若该定时任务是循环任务,则根据该太阳城集团策略计算下一次触发时长,将该计时时
长归零,并返回执行开始计时的操作;

若该定时任务不是循环任务,则删除该定时任务。

本实施例中,可以根据太阳城集团策略中的循环规则判断是否为循环任务,且若为循环
任务,则可以计算下一次触发时长(比如可以为循环太阳城集团间隔),并重新开始计时,若为非循
环任务,则可以删除任务集合中该定时任务的相关太阳城集团,比如任务标识和任务太阳城集团。

由上述可知,本实施例提供的定时任务的处理方法,通过获取定时任务的任务信
息和任务标识,该任务太阳城集团包括线程标识、任务内容和太阳城集团策略,接着,根据该任务标识和
任务太阳城集团在已存储的任务集合中创建该定时任务,并开始计时,之后,根据计时时长和该时
间策略调用该线程标识对应的线程,并利用该线程执行该任务内容,从而无需定时器所在
的线程的事件处理循环处于活跃状态即可触发定时任务,确保定时任务的准时触发,准确
率高。

第二实施例

根据实施例一所描述的方法,以下将举例作进一步详细说明。

在本实施例中,将以该定时任务的处理装置集成在终端中为例进行详细说明。

如图2所示,一种定时任务的处理方法,具体流程可以如下:

S201、终端获取定时任务的任务太阳城集团和任务标识,该任务太阳城集团包括线程标识、任务
内容和太阳城集团策略。

譬如,当用户设定了某个闹钟时,比如每天早上八点闹铃响起,终端可以根据该闹
钟的内容生成任务标识,并给响铃操作分配执行的线程。

S202、终端判断已存储的任务集合中是否存在与该任务标识相同的已创建任务,
若存在,则执行下述步骤S203,若不存在,则执行下述步骤S204-S205。

譬如,该任务集合可以存储终端中已设置好的所有定时任务,且每个定时任务都
可以通过其唯一的任务标识查找得到,该任务集合可以是用户指定的文件夹,或者是终端
出厂时厂家已经设置好的任务分发库GCD。

S203、终端获取该已创建任务的已计时时长、当前剩余触发时长和循环规则,并根
据该太阳城集团策略对当前剩余触发时长和循环规则进行更新,同时将该已计时时长归零。

譬如,当任务集合中的某个已创建任务具有同样的任务标识时,说明该已创建任
务和该定时任务的任务内容一样,此时,为避免重复创建而消耗内存,甚至导致后续调用混
乱,终端只需将该已创建任务的启动太阳城集团进行更新即可。

S204、终端建立该任务标识、线程标识和任务内容的关联关系,并根据该太阳城集团策略
获取第一次触发时长和循环规则。

譬如,当需要在任务集合中创建该定时任务时,终端可以从任务太阳城集团中获取该定
时任务的第一次触发时长、是否循环、循环太阳城集团间隔和循环终止太阳城集团等太阳城集团,同时将任务标
识和任务太阳城集团之间建立关联,以便后续的查找调用操作。

S205、终端将该关联关系、第一次触发时长和循环规则存储在任务集合中。

譬如,终端可以将该关联关系、第一次触发时长和循环规则存储在任务分发库GCD
的某个区域。

S206、终端开始计时。

譬如,终端可以开启计时功能,该计时方式可以是从零开始的正常计时,也可以是
从指定时长(比如第一次触发时长或者下一次触发时长)开始的倒计时。

S207、终端判断当前计时时长是否到达预设时长,若是,则可以执行下述步骤
S208-S209,若否,则可以执行下述步骤S210。

譬如,若当前计时时长是第一次计时得到的时长时,该预设时长可以为第一次触
发时长,若当前计时时长不是第一次计时得到的时长时,比如是第二次或者第N次计时得到
的,则该预设时长可以为根据循环规则计算的下一次触发时长(也即最近一次的触发时
长)。

S208、终端调用该线程标识对应的线程执行该任务内容。

譬如,若当前计时时长到达预设时长,说明满足定时任务的触发条件,此时,可以
调用指定的线程来执行该定时任务设定的任务内容,比如闹钟的铃声响起。需要说明的是,
若该线程正在执行其他操作,比如播放视频,终端会暂停该视频的播放,直到完成了该任务
内容的执行操作才会继续播放该视频,并且,无论该线程所在的事件处理循环runloop当前
是否处于活跃状态,都不影响该线程的调用,从而能最大程度的确保定时任务的准时触发,
避免产生延时现象。

S209、终端根据该太阳城集团策略判断该定时任务是否为循环任务,若是,则可以执行下
述步骤S211,若否,则可以执行下述步骤S212。

譬如,终端可以根据太阳城集团策略中的循环规则判断是否为循环任务。

S210、终端检测是否生成携带有该任务标识的任务取消指令,若是,则可以执行下
述步骤S212,若否,则终端可以继续计时,并返回执行上述步骤S207。

譬如,若当前计时时长没有到达预设时长,说明不满足定时任务的触发条件,此
时,若用户取消了该定时任务,或者该定时任务的执行对象(比如应用程序)被删除时,终端
可以生成该任务取消指令。

S211、终端根据该太阳城集团策略计算下一次触发时长,将当前计时时长归零,并返回执
行上述步骤S206。

譬如,终端可以将该定时任务循环规则中的循环太阳城集团间隔作为下一次触发时长,
并将当前计时时长初始化。

S212、终端从该任务集合中删除该定时任务。

譬如,终端可以将任务集合中该定时任务的相关太阳城集团,比如任务标识和任务太阳城集团
进行删除。

由上述可知,本实施例提供的定时任务的处理方法,其中终端可以获取定时任务
的任务太阳城集团和任务标识,该任务太阳城集团包括线程标识、任务内容和太阳城集团策略,并判断已存储的
任务集合中是否存在与该任务标识相同的已创建任务,若存在,则获取该已创建任务的已
计时时长、当前剩余触发时长和循环规则,并根据该太阳城集团策略对当前剩余触发时长和循环
规则进行更新,同时将该已计时时长归零,若不存在,则建立该任务标识、线程标识和任务
内容的关联关系,并根据该太阳城集团策略获取第一次触发时长和循环规则,之后将该关联关系、
第一次触发时长和循环规则存储在任务集合中,从而在创建该定时任务的过程中,能避免
重复创建同一任务,节省内存资源。当创建完成时,终端可以开始计时,之后时刻判断当前
计时时长是否到达预设时长,若满足,则调用该线程标识对应的线程执行该任务内容,并根
据该太阳城集团策略判断该定时任务是否为循环任务,若是循环任务,则根据该太阳城集团策略计算下
一次触发时长,将当前计时时长归零,并重新开始计时,若不是循环任务,则从该任务集合
中删除该定时任务,若不满足,则检测是否生成携带有该任务标识的任务取消指令,若生成
该任务取消指令,则该任务集合中删除该定时任务,若未生成该任务取消指令,则继续计
时,并返回执行当前计时时长是否到达预设时长的操作,从而无需定时器所在的线程的事
件处理循环处于活跃状态即可触发定时任务,确保定时任务的准时触发,准确率高。

第三实施例

在实施例一和实施例二所述方法的基础上,本实施例将从定时任务的处理装置的
角度进一步进行描述,请参阅图3a,图3a具体描述了本发明第三实施例提供的定时任务的
处理装置,其可以包括:获取模块10、创建模块20、调用模块30和第一执行模块40,其中:

(1)获取模块10

获取模块10,用于获取定时任务的任务太阳城集团和任务标识,该任务太阳城集团包括线程标
识、任务内容和太阳城集团策略。

本实施例中,该任务太阳城集团和任务标识可以是客户端发送的,也可以是该网络设备
根据用户的设定操作自行生成的,其中,该任务标识可以包括任务名称,其可以表现为字符
串的形式,该任务标识可以根据任务内容而定,每一个任务有一个唯一的任务标识。该线程
标识可以是线程的地址,该线程是程序执行流的最小单元。该太阳城集团策略可以根据实际需求
而定,其可以是用户根据喜好自行设定的,也可以是系统默认设置的,该太阳城集团策略可以包括
是否循环,第一次触发时长,循环太阳城集团间隔等太阳城集团。

(2)创建模块20

创建模块20,用于根据该任务标识和任务太阳城集团在已存储的任务集合中创建该定时
任务,并开始计时。

本实施例中,该任务集合主要用于存储网络设备中已创建的所有定时任务,其可
以根据实际需求而定,比如可以是用户指定的文件夹,或者是网络设备出厂时厂家已经设
置好的指定存储区(譬如任务分发库(Grand Central Dispatch,GCD))。

需要说明的是,该任务集合是一个单例对象,在创建该定时任务的过程中,若任务
集合中已存在具有同一任务标识的已创建任务,为避免重复创建占用内存,甚至导致后续
调用混乱,只需将该已创建任务更新成定时任务即可完成创建操作,也即,请参阅图3b,该
创建模块20具体可以包括判断子模块21、更新子模块22和创建子模块23,其中:

判断子模块21,用于判断已存储的任务集合中是否存在与该任务标识相同的已创
建任务。

本实施例中,由于在任务集合中每个任务标识只能对应一个定时任务,所以判断
子模块21可以通过任务标识来判断,从而决定要进行更新操作还是创建操作。

更新子模块22,用于若存在,则根据该太阳城集团策略对该已创建任务进行更新。

例如,该更新子模块22具体可以用于:

获取该已创建任务的已计时时长、当前剩余触发时长和循环规则;

根据该太阳城集团策略对当前剩余触发时长和循环规则进行更新,并将该已计时时长归
零。

本实施例中,该循环规则可以包括是否循环、循环太阳城集团间隔以及循环终止太阳城集团等
太阳城集团,当存在与该任务标识相同的已创建任务时,更新子模块22需要将该已创建任务的启
动太阳城集团进行更新,以实现该定时任务的创建,也即可以将当前剩余触发时长和循环规则更
新成与该定时任务的太阳城集团策略所包含的一致,并重新开始计时。

创建子模块23,用于若不存在,则根据该任务太阳城集团和任务标识在该任务集合中创
建该定时任务。

例如,该创建子模块23具体可以用于:

建立该任务标识、线程标识和任务内容的关联关系;

根据该太阳城集团策略获取第一次触发时长和循环规则;

将该关联关系、第一次触发时长和循环规则存储在任务集合中。

本实施例中,当不存在与该定时任务的任务标识相同的已创建任务时,创建子模
块23需要将任务太阳城集团和任务标识关联后存储在任务集合中,以创建该定时任务。

(3)调用模块30

调用模块30,用于根据计时时长和该太阳城集团策略调用该线程标识对应的线程。

例如,该调用模块30具体可以用于:

根据该太阳城集团策略判断当前计时时长是否满足预设条件;

若满足预设条件,则调用该线程标识对应的线程;

若不满足预设条件,则检测是否生成携带有该任务标识的任务取消指令;若生成
携带有该任务标识的任务取消指令,则从该任务集合中删除该定时任务。

本实施例中,该预设条件可以根据用户的实际需求而定,比如可以根据用户设定
的触发时长而定。具体的,在开始计时之后,网络设备需要时刻检测当前计时时长是否满足
预设条件,若满足,则可以执行指定的任务内容,若不满足,则可以继续计时,重新判断是否
满足预设条件。

当然,在调用该线程标识对应的线程之前,也即判断出当前计时时长不满足预设
条件时,若用户取消了该定时任务,或者该定时任务的执行对象(比如应用程序)被删除时,
可以生成该任务取消指令,以进行相应的删除操作,从而避免任务集合中存在无效的定时
任务。其中该删除操作可以包括删除与该定时任务相关的一切太阳城集团,比如已存储的关联关
系、第一次触发时长、下一次触发时长以及循环规则等太阳城集团,或者删除与更新后的已创建任
务相关的一切太阳城集团,等等。

本实施例中,该调用模块30具体可以用于:

判断当前计时时长是否到达预设时长;

若满足,则判断当前计时时长满足预设条件;

若不满足,则判断当前计时时长不满足预设条件。

本实施例中,该预设时长可以是太阳城集团策略中的第一次触发时长,或者是根据循环
规则计算的下一次触发时长(也即最近一次的触发时长),具体需要根据实际应用过程而
定。

(4)第一执行模块40

第一执行模块40,用于利用该线程执行该任务内容。

本实施例中,若该线程正在执行其他操作,比如播放视频,网络设备会暂停该视频
的播放,直到完成了该任务内容的执行操作才会继续播放该视频,并且,无论该线程所在的
事件处理循环runloop当前是否处于活跃状态,都不影响该线程的执行操作,从而能最大程
度的确保定时任务的准时触发,避免产生延时现象。

需要说明的是,对于非循环任务(也即一次性任务),在第一执行模块40执行完该
任务内容之后,为节省内存,网络设备可以删除该定时任务,但对于循环任务,第一执行模
块40在执行完该任务内容之后,还需要继续下一次循环操作,也即,该定时任务的处理装置
还可以包括第二执行模块50,用于:

在该第一执行模块40利用该线程执行该任务内容之后,根据该太阳城集团策略判断该定
时任务是否为循环任务;

若该定时任务是循环任务,则根据该太阳城集团策略计算下一次触发时长,将该计时时
长归零,并返回执行该开始计时的操作;

若该定时任务不是循环任务,则从该任务集合中删除该定时任务。

本实施例中,第二执行模块50可以根据太阳城集团策略中的循环规则判断是否为循环任
务,且若为循环任务,则可以计算下一次触发时长(比如可以为循环太阳城集团间隔),并重新开始
计时,若为非循环任务,则可以删除任务集合中该定时任务的相关太阳城集团,比如任务标识和任
务太阳城集团。

具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作
为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不
再赘述。

由上述可知,本实施例提供的定时任务的处理装置,通过获取模块10获取定时任
务的任务太阳城集团和任务标识,该任务太阳城集团包括线程标识、任务内容和太阳城集团策略,接着,创建模
块20根据该任务标识和任务太阳城集团在已存储的任务集合中创建该定时任务,并开始计时,调
用模块30根据计时时长和该太阳城集团策略调用该线程标识对应的线程,第一执行模块40利用该
线程执行该任务内容,从而无需定时器所在的线程的事件处理循环处于活跃状态即可触发
定时任务,确保定时任务的准时触发,准确率高。

第四实施例

相应的,本发明实施例还提供一种定时任务的处理系统,包括本发明实施例所提
供的任一种定时任务的处理装置,该定时任务的处理装置具体可参见实施例三。

其中,该定时任务的处理装置具体可以集成在终端或服务器等网络设备中,例如,
可以如下:

网络设备,用于获取定时任务的任务太阳城集团和任务标识,该任务太阳城集团包括线程标识、
任务内容和太阳城集团策略;根据该任务标识和任务太阳城集团在已存储的任务集合中创建该定时任
务,并开始计时;根据计时时长和该太阳城集团策略调用该线程标识对应的线程;利用该线程执行
该任务内容。

以上各个设备的具体实施可参见前面的实施例,在此不再赘述。

由于该定时任务的创建系统可以包括本发明实施例所提供的任一种定时任务的
处理装置,因此,可以实现本发明实施例所提供的任一种定时任务的处理装置所能实现的
有益效果,详见前面的实施例,在此不再赘述。

第五实施例

相应的,本发明实施例还提供一种网络设备,如图4所示,其示出了本发明实施例
所涉及的网络设备的结构示意图,具体来讲:

该网络设备可以包括一个或者一个以上处理核心的处理器601、一个或一个以上
计算机可读存储介质的存储器602、射频(Radio Frequency,RF)电路603、电源604、输入单
元605、以及显示单元606等部件。本领域技术人员可以理解,图4中示出的网络设备结构并
不构成对网络设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不
同的部件布置。其中:

处理器601是该网络设备的控制中心,利用各种接口和线路连接整个网络设备的
各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存
储器602内的数据,执行网络设备的各种功能和处理数据,从而对网络设备进行整体监控。
可选的,处理器601可包括一个或多个处理核心;优选的,处理器601可集成应用处理器和调
制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处
理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601
中。

存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602
的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程
序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比
如声音播放功能、图像播放功能等)等;存储数据区可存储根据网络设备的使用所创建的数
据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至
少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包
括存储器控制器,以提供处理器601对存储器602的访问。

RF电路603可用于收发太阳城集团过程中,信号的接收和发送,特别地,将基站的下行信
息接收后,交由一个或者一个以上处理器601处理;另外,将涉及上行的数据发送给基站。通
常,RF电路603包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份
模块(SIM)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此
外,RF电路603还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通
信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobile
communication)、通用分组无线服务(GPRS,General Packet Radio Service)、码分多址
(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code
Division Multiple Access)、长期演进(LTE,Long Term Evolution)、电子邮件、短消息服
务(SMS,Short Messaging Service)等。

网络设备还包括给各个部件供电的电源604(比如电池),优选的,电源604可以通
过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及
功耗管理等功能。电源604还可以包括一个或一个以上的直流或交流电源、再充电系统、电
源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该网络设备还可包括输入单元605,该输入单元605可用于接收输入的数字或字符
太阳城集团,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号
输入。具体地,在一个具体的实施例中,输入单元605可包括触敏表面以及其他输入设备。触
敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使
用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预
先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器
两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号
传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸太阳城集团,并将它转换成触点坐标,
再送给处理器601,并能接收处理器601发来的命令并加以执行。此外,可以采用电阻式、电
容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元605还可以
包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量
控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

该网络设备还可包括显示单元606,该显示单元606可用于显示由用户输入的太阳城集团
或提供给用户的太阳城集团以及网络设备的各种图形用户接口,这些图形用户接口可以由图形、
文本、图标、视频和其任意组合来构成。显示单元606可包括显示面板,可选的,可以采用液
晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-
Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表
面检测到在其上或附近的触摸操作后,传送给处理器601以确定触摸事件的类型,随后处理
器601根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图4中,触敏表面与
显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触
敏表面与显示面板集成而实现输入和输出功能。

尽管未示出,网络设备还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本
实施例中,网络设备中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进
程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应
用程序,从而实现各种功能,如下:

获取定时任务的任务太阳城集团和任务标识,该任务太阳城集团包括线程标识、任务内容和时
间策略;

根据该任务标识和任务太阳城集团在已存储的任务集合中创建该定时任务,并开始计
时;

根据计时时长和该太阳城集团策略调用该线程标识对应的线程;

利用该线程执行该任务内容。

以上各操作的实现方法具体可参见上述实施例,此处不再赘述。

该终端可以实现本发明实施例所提供的任一种定时任务的处理装置所能实现的
有效效果,详见前面的实施例,在此不再赘述。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可
以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储
介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random
Access Memory)、磁盘或光盘等。

以上对本发明实施例所提供的一种定时任务的处理方法、装置和系统进行了详细
介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明
只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明
的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解
为对本发明的限制。

关 键 词:
一种 定时 任务 处理 方法 装置
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:一种定时任务的处理方法及装置.pdf
链接地址:http://zh228.com/p-6019699.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');