[发明专利]一种超时任务的监控方法和装置有效
申请号: | 201810695703.9 | 申请日: | 2018-06-29 |
公开(公告)号: | CN108897854B | 公开(公告)日: | 2020-06-05 |
发明(设计)人: | 刘洋 | 申请(专利权)人: | 京东数字科技控股有限公司 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458;G06F11/30;G06Q40/02 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;李阳 |
地址: | 101111 北京市北京经济*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 超时 任务 监控 方法 装置 | ||
本发明公开了一种超时任务的监控方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:监听消息服务器;当监听到所述消息服务器中有任务时,从所述消息服务器中取出任务,并根据所述任务的事件类型,将开始事件任务放入待检测队列,将完成事件任务放入映射表;基于所述待检测队列中的开始事件任务和映射表中的完成事件任务,监控超时任务。该实施方式能够解决超时任务监控缺乏高效性和及时性的技术问题。
技术领域
本发明涉及计算机技术领域,尤其涉及一种超时任务的监控方法和装置。
背景技术
随着计算机技术及其应用的发展,各行各业已经把自己的主要业务放在了计算机上,而某些业务对于时效性要求非常高,比如:代付到银行卡业务,为了不影响到用户体验,需要在5分钟内代付成功,超过5分钟没有成功的话,就要唤起对应的超时处理任务。在这种情况下,就需要对这些业务进行超时监控。
目前,主流超时监控方法为定时轮询数据库,即:每隔一段时间,通过定时任务查询数据库,查询在一段时间内的业务是否在规定时间内完成,如果没有完成就唤起对应的超时处理任务,如果完成了,则等待下次查询。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
1)由于经常性地扫描数据库中的数据,造成对数据库的压力过大,尤其是多个定时任务同时运行的情况下,对数据库造成的压力更大,从而会拖慢数据库,最终会影响正常业务的运行;
2)对于一些细粒度的超时监控,比如60秒超时,这种轮询数据库的方案显得不那么适用,因为大部分的时间用在了建立连接、数据库运行查询、网络传输上,导致超时监控根本完成不了;
3)有一些要监控的表数据量特别大,比如从1亿条中查询出10万条,那么查询一次数据所需要的时间特别长,导致影响超时监控的时效性。
发明内容
有鉴于此,本发明实施例提供一种超时任务的监控方法和装置,以解决超时任务监控缺乏高效性和及时性的技术问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种超时任务的监控方法,包括:
监听消息服务器;
当监听到所述消息服务器中有任务时,从所述消息服务器中取出任务,并根据所述任务的事件类型,将开始事件任务放入待检测队列,将完成事件任务放入映射表;
基于所述待检测队列中的开始事件任务和映射表中的完成事件任务,监控超时任务。
可选地,基于所述待检测队列中的开始事件任务和映射表中的完成事件任务,监控超时任务,包括:
从待检测队列中取出开始事件任务,判断所述开始事件任务是否超时;
若是,则将所述开始事件任务放入待执行队列;
若否,并且所述映射表中有与所述开始事件任务对应的完成事件任务,则将所述完成事件任务移除出所述映射表。
可选地,所述任务的属性包括业务标识、业务类型、事件类型和发生时间;
基于所述待检测队列中的开始事件任务和映射表中的完成事件任务,监控超时任务,包括:
从待检测队列中取出开始事件任务,根据所述开始事件任务的业务类型确定超时阈值,从而根据所述开始事件任务的发生时间和超时阈值,判断所述开始事件任务的处理时间是否超过当前时间;
若是,则将所述开始事件任务放入待执行队列;
若否,则根据业务标识判断所述映射表中是否有与所述开始事件任务的业务标识相同的完成事件任务,若是,则将所述完成事件任务移除出所述映射表。
可选地,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于京东数字科技控股有限公司,未经京东数字科技控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810695703.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:生成推送信息的方法和装置
- 下一篇:企业网内信息调研的方法及装置