基于延迟队列实现的统一计时服务方法和装置制造方法及图纸

技术编号:33996843 阅读:22 留言:0更新日期:2022-07-02 11:05
本发明专利技术涉及基于延迟队列实现的统一计时服务方法和装置。基于延迟队列实现的统一计时服务方法包括:当接收到需要计时的业务服务请求时,创建需要计时的任务;创建延迟队列,将需要计时的任务放入创建的延迟队列中,通过所述延迟队列来维护需要计时的任务的列表;创建守护线程来监听延迟队列中到期的需要计时的任务,以获取要处理的需要计时的任务;创建任务执行线程池,以将要处理的需要计时的任务放入所述任务执行线程池中;通知相应的业务逻辑处理的服务,以进行后续的业务逻辑处理。基于延迟队列实现的统一计时服务方法和装置具有计时与过期逻辑的较强实时性。时与过期逻辑的较强实时性。时与过期逻辑的较强实时性。

【技术实现步骤摘要】
基于延迟队列实现的统一计时服务方法和装置


[0001]本专利技术涉及计算机
,具体地说是基于延迟队列实现的统一计时服务方法和装置。

技术介绍

[0002]在客服系统对会话聊天处理过程中,需要在会话处理过程中实现几种超时场景,用于在计时完毕后的相应场景下进行相应的业务逻辑处理,例如发送通知消息给客服、发送通知消息给访客等等。但是,在会话处理过程中,计时有时会出现偏差,因此依据出现的计时偏差而进行的后续业务处理逻辑也会出现问题。所以在会话处理逻辑后,需要减少或去除计时中出现的偏差。
[0003]目前,可以采用基于Redis的时间轮(time wheel)实现的处理方式。其中,以在Redis中设置关键(key)值(即,过期时间)来进行计时,通过Redis中的轮询机制来实现到期通知。然而,Redis中的轮询机制会受到Redis中的key值的数量影响,实时性较差。因此,亟需一种能够提高计时与过期逻辑的实时性的计时方法。
[0004]上述对
技术介绍
的陈述仅是为了方便对本专利技术技术方案(使用的技术手段、解决的技术问题以及产生的技术效果等方面)的深入理解,而不应当被视为承认或以任何形式暗示该消息构成已为本领域技术人员所公知的现有技术。

技术实现思路

[0005]针对现有技术中存在的缺陷,本专利技术提出了基于延迟队列实现的统一计时服务方法和装置,以解决现有技术中计时与过期逻辑的实时性较差的问题。
[0006]根据本专利技术的实施方案,提供了一种基于延迟队列实现的统一计时服务方法,所述统一计时服务方法包括:当接收到需要计时的业务服务请求时,创建需要计时的任务;创建延迟队列,将需要计时的任务放入创建的延迟队列中,通过所述延迟队列来维护需要计时的任务的列表;创建守护线程来监听延迟队列中到期的需要计时的任务,以获取要处理的需要计时的任务;创建任务执行线程池,以将要处理的需要计时的任务放入所述任务执行线程池中;通知相应的业务逻辑处理的服务,以进行后续的业务逻辑处理。
[0007]优选地,放入创建的延迟队列中的需要计时的任务包括:需要计时的任务的唯一标识符、需要计时的任务的执行时间戳和需要计时的任务与后续的业务逻辑处理相关的信息。
[0008]优选地,在通过所述延迟队列来维护需要计时的任务的列表时,需要计时的任务按需要计时的任务的执行时间戳自动排序,最先执行的任务优先排序到延迟队列的起始;每当新的需要计时的任务放入延迟队列时,需要计时的任务的列表按照需要计时的任务的执行时间戳进行重新自动排序。
[0009]优选地,所述任务执行线程池以多线程并发地处理要处理的需要计时的任务。
[0010]优选地,在通知相应的业务逻辑处理的服务时,将需要计时的任务与后续的业务
逻辑处理相关的信息传递给业务逻辑处理的服务。
[0011]优选地,在将需要计时的任务放入创建的延迟队列中时,将创建的需要计时的任务进行保存;当计时服务出现异常时,读取保存的需要计时的任务,判断保存的需要计时的任务在当前时间点是否到期;如果保存的需要计时的任务在当前时间点没有到达执行时间戳,则将保存的需要计时的任务放入延迟队列中;如果保存的需要计时的任务在当前时间点已超过执行时间戳,则将保存的需要计时的任务删除。
[0012]根据本专利技术的实施方案,提供给了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被处理器执行时实现根据本专利技术的实施方案的基于延迟队列实现的统一计时服务方法。
[0013]根据本专利技术的实施方案,提供了一种基于延迟队列实现的统一计时服务装置,其包括:任务建立模块,其配置为:当接收到需要计时的业务服务请求时,创建需要计时的任务;延迟队列模块,其配置为:创建延迟队列,将需要计时的任务放入创建的延迟队列中,通过所述延迟队列来维护需要计时的任务的列表;守护线程模块,其配置为:创建守护线程来监听延迟队列中到期的需要计时的任务,以获取要处理的需要计时的任务;任务执行线程池模块,其配置为:创建任务执行线程池,以将要处理的需要计时的任务放入所述任务执行线程池中;通知模块,其配置为:通知相应的业务逻辑处理的服务,以进行后续的业务逻辑处理。
[0014]优选地,放入创建的延迟队列中的需要计时的任务包括:需要计时的任务的唯一标识符、需要计时的任务的执行时间戳和需要计时的任务与后续的业务逻辑处理相关的信息。
[0015]优选地,所述延迟队列模块配置为:在通过所述延迟队列来维护需要计时的任务的列表时,需要计时的任务按需要计时的任务的执行时间戳自动排序,最先执行的任务优先排序到延迟队列的起始;每当新的需要计时的任务放入延迟队列时,需要计时的任务的列表按照需要计时的任务的执行时间戳进行重新自动排序。
[0016]优选地,所述任务执行线程池模块配置为:所述任务执行线程池以多线程并发地处理要处理的需要计时的任务。
[0017]优选地,所述通知模块配置为:在通知相应的业务逻辑处理的服务时,将需要计时的任务与后续的业务逻辑处理相关的信息传递给业务逻辑处理的服务。
[0018]本专利技术的基于延迟队列实现的统一计时服务方法和装置与现有技术相比具有以下有益效果:
[0019]可以更好地对需要计时的任务进行处理,提高计时与过期逻辑的实时性;降低业务场景中涉及计时与过期逻辑的开发难度,将计时与过期逻辑提炼出来,提升开发效率;可以实现只专注于计时与过期逻辑,到期后的业务逻辑处理由对应的业务微服务处理,从而不侵入过多业务流程。还对需要计时的任务进行缓存备份,从而实现计时与过期逻辑中的数据容灾。
附图说明
[0020]下文将结合附图对本专利技术的示例性实施例进行更为详细的说明。为清楚起见,不同附图中相同的部件以相同标号示出。需要说明的是,附图仅起到示意作用,其并不必然按
照比例绘制。在这些附图中:
[0021]图1是示出根据本专利技术的一个实施方案的基于延迟队列实现的统一计时服务方法的流程图;
[0022]图2是示出根据本专利技术的另一个实施方案的基于延迟队列实现的统一计时服务方法的流程图;
[0023]图3是示出根据本专利技术的另一个实施方案的基于延迟队列实现的统一计时服务方法对保存的需要计时的任务的处理流程图;
[0024]图4是示出根据本专利技术的基于延迟队列实现的统一计时服务装置的示意图;以及
[0025]图5是示出用于实现根据本专利技术的示例性实施方案的计算系统的结构的示意图。
具体实施方式
[0026]下面对本专利技术的实施方案作详细说明,本实施方案在以本专利技术技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围不限于下述的实施方案。
[0027]参考图1,其示出根据本专利技术的一个实施方案的基于延迟队列实现的统一计时服务方法的流程图。
[0028]在步骤101:接收业务服务的请求,使用消息队列(MQ,Message Queue)接收业务服务的请求并及时处理该请求。
[0029]在步骤102:创建任务本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于延迟队列实现的统一计时服务方法,其特征在于,所述统一计时服务方法包括:当接收到需要计时的业务服务请求时,创建需要计时的任务;创建延迟队列,将需要计时的任务放入创建的延迟队列中,通过所述延迟队列来维护需要计时的任务的列表;创建守护线程来监听延迟队列中到期的需要计时的任务,以获取要处理的需要计时的任务;创建任务执行线程池,以将要处理的需要计时的任务放入所述任务执行线程池中;通知相应的业务逻辑处理的服务,以进行后续的业务逻辑处理。2.根据权利要求1所述的基于延迟队列实现的统一计时服务方法,其特征在于,放入创建的延迟队列中的需要计时的任务包括:需要计时的任务的唯一标识符、需要计时的任务的执行时间戳和需要计时的任务与后续的业务逻辑处理相关的信息。3.根据权利要求2所述的基于延迟队列实现的统一计时服务方法,其特征在于,在通过所述延迟队列来维护需要计时的任务的列表时,需要计时的任务按需要计时的任务的执行时间戳自动排序,最先执行的任务优先排序到延迟队列的起始;每当新的需要计时的任务放入延迟队列时,需要计时的任务的列表按照需要计时的任务的执行时间戳进行重新自动排序。4.根据权利要求1所述的基于延迟队列实现的统一计时服务方法,其特征在于,所述任务执行线程池以多线程并发地处理要处理的需要计时的任务。5.根据权利要求2所述的基于延迟队列实现的统一计时服务方法,其特征在于,在通知相应的业务逻辑处理的服务时,将需要计时的任务与后续的业务逻辑处理相关的信息传递给业务逻辑处理的服务。6.根据权利要求2所述的基于延迟队列实现的统一计时服务方法,其特征在于,在将需要计时的任务放入创建的延迟队列中时,将创建的需要计时的任务进行保存;当计时服务出现异常时,读取保存的需要计时的任务,判断保存的需要计时的任务在当前时间点是否到期;如果保存的需要计时的任务在当前时间点没有到达执行时间戳,则将保...

【专利技术属性】
技术研发人员:吴茂昌徐正礼
申请(专利权)人:北京易掌云峰科技有限公司
类型:发明
国别省市:

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

1