任务调度方法及系统的制作方法_4

文档序号:9708154阅读:来源:国知局
所述业务集群包括至少一个业务节点,所述任务数据库中存储待处理的任务,所述至少一个调度节点从所述任务数据库中读取任务并调用所述业务节点处理读取的任务;所述方法包括: 调度节点根据预设算法从所述任务数据库中获取属于所述调度节点的预设时间段内的待处理任务,所述预设时间段内的待处理任务是执行时间超前于当前时刻的时间差处于所述预设时间段内的任务; 所述调度节点将所述预设时间段内的待处理任务存储在所述调度节点的任务资源池中; 当到达所述待处理任务的当前执行时间时,所述调度节点向对应的所述业务节点发送任务触发消息; 所述业务节点根据所述任务触发消息处理所述待处理任务。2.根据权利要求1所述的方法,其特征在于,所述调度节点利用预设算法获取属于所述调度节点的预设时间段内的待处理任务,包括: 所述调度节点获取所述调度集群所包含的调度节点的总数,并确定自身在所述调度集群中的位置数; 所述调度节点获取所述任务数据库中任务创建时间戳相对于所述调度节点的总数的余数,确定余数与所述调度节点的位置数相同的预设时间段内的任务为所述待处理任务。3.根据权利要求1所述的方法,其特征在于,所述方法还包括: 当确定所述调度集群包含的调度节点的数量更新时,所述调度节点根据任务的执行时间检测所述任务数据库中是否存在属于所述调度节点的未触发任务,所述未触发任务是超过任务的执行时间且未执行的任务; 当确定存在所述未触发任务时,所述调度节点从所述任务数据库中获取所述未触发任务,并触发所述未触发任务。4.根据权利要求1所述的方法,其特征在于,所述任务调度系统还包括任务执行数据库,所述任务执行数据中存储被触发的任务;所述任务触发消息包含所述待处理任务的任务标识和当前执行时间; 所述业务节点根据所述任务触发消息处理所述待处理任务,包括: 所述业务节点根据所述任务触发消息所包含的任务标识和当前执行时间,更新所述任务执行数据库内的任务; 当所述任务执行数据库更新成功后,所述业务节点处理所述任务标识对应的任务。5.根据权利要求4所述的方法,其特征在于,所述业务节点根据所述任务触发消息所包含的任务标识和当前执行时间,更新所述任务执行数据库内的任务,包括: 所述业务节点判断所述任务执行数据库中是否存在所述任务标识对应的任务; 如果所述任务执行数据库中不存在所述任务标识对应的任务,所述业务节点在所述任务执行数据库中添加所述任务标识对应的任务,且所述任务标识对应的任务的执行时间为所述当前执行时间; 如果所述任务执行数据库中存在所述任务标识对应的任务,所述业务节点判断所述任务标识对应任务的执行时间是否是所述当前执行时间; 如果所述任务标识对应任务的执行时间不是所述当前执行时间,则将所述任务的执行时间更新为所述当前执行时间,并确定所述任务执行数据库更新成功; 如果所述任务标识对应任务的执行时间是所述当前执行时间,则确定所述任务执行数据库更新失败。6.一种任务调度系统,其特征在于,包括任务数据库、调度集群和业务集群; 其中,所述调度集群包括至少一个调度节点,所述业务集群包括至少一个业务节点,所述任务数据库中存储待处理的任务,所述至少一个调度节点从所述任务数据库中读取任务并调用所述业务节点处理读取的任务; 所述调度节点,用于根据预设算法从所述任务数据库中获取属于所述调度节点的预设时间段内的待处理任务并存储在所述调度节点的任务资源池中,所述预设时间段内的待处理任务是执行时间超前于当前时刻的时间差处于所述预设时间段内的任务;当到达所述待处理任务的当前执行时间时,向对应的所述业务节点发送任务触发消息; 所述业务节点,用于根据所述任务触发消息处理所述待处理任务。7.根据权利要求6所述的系统,其特征在于,所述调度节点利用预设算法获取属于所述调度节点的预设时间段内的待处理任务时,具体用于: 获取所述调度集群所包含的调度节点的总数,并确定自身在所述调度集群中的位置数; 获取所述任务数据库中任务创建时间戳相对于所述调度节点的总数的余数,确定余数与所述调度节点的位置数相同的预设时间段内的任务为所述待处理任务。8.根据权利要求6所述的系统,其特征在于, 所述调度节点,还用于当确定所述调度集群包含的调度节点的数量更新时,根据任务的执行时间检测所述任务数据库中是否存在属于所述调度节点的未触发任务,所述未触发任务是超过任务的执行时间且未执行的任务;当确定存在所述未触发任务时,从所述任务数据库中获取所述未触发任务,并触发所述未触发任务。9.根据权利要求6所述的系统,其特征在于,所述任务调度系统还包括任务执行数据库,所述任务执行数据中存储被触发的任务;所述任务触发消息包含所述待处理任务的任务标识和当前执行时间; 所述业务节点根据所述任务触发消息处理所述待处理任务时,具体用于: 根据所述任务触发消息所包含的任务标识和当前执行时间,更新所述任务执行数据库内的任务;当所述任务执行数据库更新成功后,处理所述任务标识对应的任务。10.根据权利要求9所述的系统,其特征在于,所述业务节点用于根据所述任务触发消息所包含的任务标识和当前执行时间,更新所述任务执行数据库内的任务时,具体用于: 判断所述任务执行数据库中是否存在所述任务标识对应的任务; 如果所述任务执行数据库中不存在所述任务标识对应的任务,在所述任务执行数据库中添加所述任务标识对应的任务,且所述任务标识对应的任务的执行时间为所述当前执行时间; 如果所述任务执行数据库中存在所述任务标识对应的任务,判断所述任务标识对应任务的执行时间是否是所述当前执行时间; 如果所述任务标识对应任务的执行时间不是所述当前执行时间,则将所述任务的执行时间更新为所述当前执行时间,并确定所述任务执行数据库更新成功; 如果所述任务标识对应任务的执行时间是所述当前执行时间,则确定所述任务执行数据库更新失败。
【专利摘要】本发明实施例公开了一种任务调度方法及系统,调度节点根据预设算法从任务数据库中获取属于本调度节点的预设时间段内的待处理任务。调度节点将获得的待处理任务存储在本调度节点的任务资源池中。然后,任务资源池中的任务到达执行时间时,调度节点向业务节点发送任务触发消息,业务节点根据该任务触发消息处理待处理任务。该任务调度过程,调度节点能够预先从任务数据库中拉取属于自身的预设时间段内的多个任务,减少对任务数据库的访问次数,因此,提高了单个调度节点的处理能力;而且,该任务调度过程不需要使用数据库的共享锁机制,降低了等待资源,提高了海量任务并发处理性能。
【IPC分类】G06F9/48, G06F17/30
【公开号】CN105468450
【申请号】CN201511007956
【发明人】王涛, 程通达, 李克然, 王朗
【申请人】华为技术有限公司
【公开日】2016年4月6日
【申请日】2015年12月29日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1