事件任务的调度方法及装置、存储介质、电子设备制造方法及图纸

技术编号:33906523 阅读:52 留言:0更新日期:2022-06-25 18:45
本发明专利技术公开了一种事件任务的调度方法及装置、存储介质、电子设备,属于云计算领域。其中,该方法包括:接收用户设备提交的多个事件任务,其中,所述事件任务用于指示延时或者定时执行对应的目标事件;根据所述多个事件任务在数据中间件中创建任务队列;从所述数据中间件中监听所述任务队列,在所述目标事件的执行时间到达时,调度目标设备执行所述目标事件。通过本发明专利技术,通过引入数据中间件,可以通过数据中间件对多个事件任务进行缓存和分发,创建任务队列,解决了相关技术中触发事件任务不准时的技术问题,提高了延时任务和定时任务的执行效率,提高了调度服务器的利用率。提高了调度服务器的利用率。提高了调度服务器的利用率。

【技术实现步骤摘要】
事件任务的调度方法及装置、存储介质、电子设备


[0001]本专利技术涉及云计算领域,具体而言,涉及一种事件任务的调度方法及装置、存储介质、电子设备。

技术介绍

[0002]相关技术中,智能家居应用中,经常会对设备做一些定时或者延时操作,比如每天晚上8点开热水器,或者延时打开彩光灯之类的操作。
[0003]相关技术中,设备定时任务和延时任务通常采用spring quartz实现,将时间任务直接提交给调度服务器,调度服务器去轮询检测需要执行的任务,如果时间到达,则执行任务,在轮询周期较长或者任务较多时,不能保证事件任务能够准时触发。而在分布式部署环境中,由于同一事件任务会同时提交给多个调度服务器,会导致事件被重复执行,和延时触发不准确的状况。即使在分布式部署环境中,指定一台调度服务器执行任务,也会导致任务执行效率低,服务器机器资源浪费。
[0004]针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。

技术实现思路

[0005]本专利技术实施例提供了一种事件任务的调度方法及装置、存储介质、电子设备。
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种事件任务的调度方法,其特征在于,包括:接收用户设备提交的多个事件任务,其中,所述事件任务用于指示延时或者定时执行对应的目标事件;根据所述多个事件任务在数据中间件中创建任务队列;从所述数据中间件中监听所述任务队列,在所述目标事件的执行时间到达时,调度目标设备执行所述目标事件。2.根据权利要求1所述的方法,其特征在于,在所述事件任务为延时任务时,根据所述多个事件任务在数据中间件中创建任务队列包括:获取多个延时任务在提交时触发的任务消息;基于所述任务消息在RabbitMQ服务器中创建消息队列,其中,所述数据中间件包括所述RabbitMQ服务器。3.根据权利要求1所述的方法,其特征在于,在所述事件任务为延时任务时,从所述数据中间件中监听所述任务队列,在所述目标事件的执行时间到达时,调度目标设备执行所述目标事件,包括:监听所述数据中间件中所述延时任务的消息队列;从所述消息队列获取多个任务消息,并基于所述多个任务消息在本地创建延时队列,其中,所述延时队列是基于延时到达时间的阻塞队列;监听所述延时队列,在延时任务的第一目标事件的执行时间到达时,向第一目标设备发送执行所述第一目标事件的控制指令。4.根据权利要求3所述的方法,其特征在于,监听所述延时队列包括:将所述延时队列中的多个任务消息分别保存在调用服务器的多个内存队列中;为每个内存队列创建一个监听线程,并采用所述监听线程监听对应的内存队列。5.根据权利要求1所述的方法,其特征在于,在所述事件任务为定时任务时,根据所述多个事件任务在数据中间件中创建任务队列包括:获取多个定时任务的定时时间;基于所述定时时间的顺序在mysql数据库中创建定时数据队列,其中,所述数据中间件包括所述mysql数据...

【专利技术属性】
技术研发人员:李磊
申请(专利权)人:北京金山云网络技术有限公司
类型:发明
国别省市:

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

1