一种定时器事件处理方法、数据库及定时器技术

技术编号:19691382 阅读:33 留言:0更新日期:2018-12-08 11:03
本发明专利技术实施例提供一种定时器时间处理方法、数据库及定时器。该方法包括:接收各定时器发送的lua脚本,所述lua脚本中包括所述定时器竞争得到的触发事件的请求;根据所述lua脚本执行原子操作,依次将所述触发事件对应的执行数据返回至对应的定时器。所述数据库用于执行所述方法。本发明专利技术实施例通过数据库Redis存储触发事件,使得定时器能够进行自旋操作,并且根据lua脚本执行原子操作,同一时刻只允许一个定时器具备执行权限,避免加锁、解锁造成的性能损耗。

【技术实现步骤摘要】
一种定时器事件处理方法、数据库及定时器
本专利技术涉及计算机
,具体而言,涉及一种定时器时间处理方法、数据库及定时器。
技术介绍
定时器是一个多任务定时提醒的软件,它全面支持WINDOWS9X/ME/NT/2K/XP按时执行程序、播放声音、关机、待机、拨号、断开连接、关闭显示等操作,因此在大型应用系统中的使用非常广泛。现有技术中经常使用的技术为分布式锁实现定时功能,使用分布式锁实现定时器是分布式系统中定时器的主要实现方式,当触发时机到来时,集群中的多个定时器必须通过加锁、解锁的方式首先获得执行权限,再由获得权限的某个定时器触发操作。对于触发间隔为秒级的应用系统来说,加锁、解锁频繁触发对系统的性能损耗非常大,并且非常容易造成死锁,导致整个系统瘫痪。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提供一种定时器时间处理方法、数据库及定时器,以解决上述技术问题。第一方面,本专利技术实施例提供了一种定时器时间处理方法,包括:接收各定时器发送的lua脚本,所述lua脚本中包括所述定时器竞争得到的触发事件的请求;根据所述lua脚本执行原子操作,依次将所述触发事件对应的执行数据返回至对应的所本文档来自技高网...

【技术保护点】
1.一种定时器事件处理方法,其特征在于,包括:接收各定时器发送的lua脚本,所述lua脚本中包括所述定时器竞争得到的触发事件的请求;根据所述lua脚本执行原子操作,依次将所述触发事件对应的执行数据返回至对应的定时器。

【技术特征摘要】
1.一种定时器事件处理方法,其特征在于,包括:接收各定时器发送的lua脚本,所述lua脚本中包括所述定时器竞争得到的触发事件的请求;根据所述lua脚本执行原子操作,依次将所述触发事件对应的执行数据返回至对应的定时器。2.根据权利要求1所述的方法,其特征在于,所述方法,还包括:根据所述定时器的触发时间生成对应的多个事件列表,每一所述事件列表中存储所述触发时间对应的触发事件信息,每一所述触发事件信息包括触发事件ID和执行数据。3.根据权利要求1或2所述的方法,其特征在于,在依次将所述触发事件对应的执行数据返回至对应的所述定时器之后,所述方法,还包括:将所述触发事件的状态标记为已执行。4.一种定时器事件处理方法,其特征在于,包括:获取数据库Redis中存储的多个事件列表,每一所述事件列表中包括多个触发事件;若根据触发时间判断获知触发时机到达,则启动竞争所述触发时间对应的事件列表中的触发事件的自旋操作;将竞争得到的所述触发事件通过lua脚本发送至所述数据库Redis。5.根据权利要求4所述的方法,其特征在于,所述方法,还包括:接收所述数据库Redis返回的执行数据,并将所述执行数据回调至对应的业务模块。6.一种数据库,其特征...

【专利技术属性】
技术研发人员:汪利福王泽
申请(专利权)人:北京云枢网络科技有限公司
类型:发明
国别省市:北京,11

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

1