【技术实现步骤摘要】
延时任务调度与存储方法、装置、设备、介质及系统
本公开涉及计算机
,尤其涉及一种延时任务调度与存储方法、装置、设备、介质及系统。
技术介绍
随着互联网技术的发展,在基于互联网的多个业务领域中,因为履约流程较复杂且履约周期较长,延时任务的应用越来越多。延迟任务一般没有固定的开始时间,它常常是由一个事件触发的,而在这个事件触发之后的一段时间内触发另一个事件。目前的延时任务系统的实现主要分为两类:一类是基于LinuxCrontab组件实现的单机延时任务系统,其大致原理是crontab文件配置定时任务,然后crond守护进程每分钟唤醒一次,检查crontab文件并执行到期的任务。另一类是基于诸如Redis、Hive等数据库实现的延时任务系统,其大致原理是将延时任务按执行时间的槽位写入数据库中,然后由固定的工作线程按槽位顺序来扫描到期的任务,并交给业务系统执行。但是,上述延时任务系统的实现方式存在如下问题:(1)单机延时任务系统只能在一台服务器上运行,如果服务器故障,则所有的延时任务调度失败;(2)基于数据库的延 ...
【技术保护点】
1.一种延时任务调度方法,其特征在于,应用于延时任务系统中的扫描子系统,所述扫描子系统包含相互独立的多个扫描线程,每个所述扫描线程执行如下步骤:/n确定定时周期到达;/n从至少两个槽位标识中确定第一槽位标识;其中,每个所述槽位标识设置有对应的存储服务器组;/n扫描所述第一槽位标识对应的所述存储服务器组中的到期延时任务;/n将扫描到的所述到期延时任务投递至业务系统。/n
【技术特征摘要】
1.一种延时任务调度方法,其特征在于,应用于延时任务系统中的扫描子系统,所述扫描子系统包含相互独立的多个扫描线程,每个所述扫描线程执行如下步骤:
确定定时周期到达;
从至少两个槽位标识中确定第一槽位标识;其中,每个所述槽位标识设置有对应的存储服务器组;
扫描所述第一槽位标识对应的所述存储服务器组中的到期延时任务;
将扫描到的所述到期延时任务投递至业务系统。
2.根据权利要求1所述的方法,其特征在于,所述从至少两个槽位标识中确定第一槽位标识包括:
从各所述槽位标识中随机选择一个槽位标识;
若确定选择的槽位标识已匹配线程,则获取各所述槽位标识中当前未匹配线程的槽位标识;
以随机方式遍历各所述当前未匹配线程的槽位标识,直至确定出一个未匹配线程的槽位标识,作为所述第一槽位标识。
3.根据权利要求1所述的方法,其特征在于,所述将扫描到的所述到期延时任务投递至业务系统包括:
开启线程池,以启用新的线程将扫描到的所述到期延时任务异步投递至所述业务系统。
4.根据权利要求1所述的方法,其特征在于,所述扫描线程的数量大于或等于所述槽位标识的数量。
5.根据权利要求1所述的方法,其特征在于,所述多个扫描线程布设于至少两个处理服务器中。
6.根据权利要求5所述的方法,其特征在于,所述至少两个处理服务器布设于不同的机房中,且每个所述机房中包含预设数量的所述处理服务器;其中,所述预设数量由所述槽位标识的数量和每个所述处理服务器中开启的所述扫描线程的数量确定。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在故障恢复后,获取当前时刻之前预设时间段内的延时任务执行记录;
基于所述延时任务执行记录,确定未完成的延时任务,并重新处理各所述未完成的延时任务。
8.一种延时任务存储方法,其特征在于,应用于延时任务系统中的扫描子系统,所述扫描子系统包含相互独立的多个扫描线程,每个所述扫描线程执行如下步骤:
若接收到待存储延时任务,则从至少两个槽位标识中确定第二槽位标识;其中,每个所述槽位标识设置有对应的存储服务器组;
将所述待存储延时任务存储至所述第二槽位标识对应的存储服务器组中。
9.根据权利要求8所述的方法,其特征在于,所述从至少两个槽位标识中确定第二槽位标识包括:
基于随机分配均衡算法,从各所述槽位标识中确定一个槽位标识,作为所述第二槽位标识。
10.根据权利要求8所述的方法,其特征在于,所述将所述待存储延时任务存储至所述第二槽位标识对应的存储服务器组中包括:
基于所述第二槽位标识和任务执行时间生成所述待存储延时任务对应的存储键信息,并将所述待存储延时任务的任...
【专利技术属性】
技术研发人员:杨巨,
申请(专利权)人:北京字节跳动网络技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。