一种任务执行方法和装置制造方法及图纸

技术编号:31158233 阅读:29 留言:0更新日期:2021-12-04 09:57
本发明专利技术公开了一种任务执行方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:通过与任务的输入源数据对应的预处理器,将任务的输入源数据转化为标准输入序列格式的任务;按照任务的主题,将标准输入序列格式的任务保存至任务队列中;监控表示服务器执行能力的综合指标,以确定可从任务队列拉取的任务数量,按照任务数量从任务队列中拉取任务;基于预设线程模型,通过责任链的方式执行拉取的任务。该实施方式能够基于服务器性能、数据库性能、上游接口性能等综合指标,量化任务执行速率,实现批量任务的平滑化处理,减少批量任务的累积,降低系统的资源消耗,提高系统的稳定性。稳定性。稳定性。

【技术实现步骤摘要】
一种任务执行方法和装置


[0001]本专利技术涉及计算机
,尤其涉及一种任务执行方法和装置。

技术介绍

[0002]随着互联网技术的蓬勃发展与广泛普及,多元化数据呈现出爆炸性增长的趋势,多元化数据的实时性要求较低,但对服务器的CPU(中央处理器)、内存资源、基于数据库资源、依赖的上游接口等资源的消耗较高。现有的批量任务处理方案有两种:方案一是将批量任务与实时任务的在时间上进行划分,如利用空闲时间执行批量任务以避免批量任务影响系统的业务;方案二是基于线程池队列等方法处理批量任务。
[0003]在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:
[0004]由于批量任务的随机性和突发性,造成批量任务的累积,在业务高峰时段集中执行可能影响关联的应用与系统,威胁相关系统的稳定性。方案一仅从时间上划分,无法应对批量任务的随机性和突发性;方案二在一定程度上平滑了任务的执行,但没有从根本上解决批量任务的处理问题,并且对于任务的平滑速率,没有可量化的指标。

技术实现思路

[0005]有鉴于此,本专利技术实施本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种任务执行方法,其特征在于,包括:通过与任务的输入源数据对应的预处理器,将所述任务的输入源数据转化为标准输入序列格式的任务;按照所述任务的主题,将所述标准输入序列格式的任务保存至任务队列中;监控表示服务器执行能力的综合指标,以确定可从所述任务队列拉取的任务数量,按照所述任务数量从所述任务队列中拉取所述任务;基于预设线程模型,通过责任链的方式执行拉取的所述任务。2.根据权利要求1所述的方法,其特征在于,所述监控表示服务器执行能力的综合指标,以确定可从任务队列拉取的任务数量,包括:监控表示所述服务器执行能力的综合指标中的各种指标值是否达到对应的阈值,所述各种指标值包括服务器的负载能力指标值、上游接口处理能力指标值、数据库的负载能力指标值中的一种或多种;当无指标值达到对应的阈值时,则按照拥塞控制算法确定所述可从任务队列拉取的任务数量,所述拥塞控制算法包括对任务拉取数量的如下各阶段的拥塞控制:指数增长阶段、拥塞避免阶段、稳定阶段;当有指标值达到对应的阈值时,则由预设的起始值得到所述可从任务队列拉取的任务数量。3.根据权利要求2所述的方法,其特征在于,所述监控表示所述服务器执行能力的综合指标中的各种指标值是否达到对应的阈值之前,包括:根据每秒查询率和响应时间,对所述服务器的负载能力指标值、所述上游接口处理能力指标值、所述数据库的负载能力指标值的一种或多种进行统计。4.根据权利要求2或3所述的方法,其特征在于,所述按照拥塞控制算法确定所述可从任务队列拉取的任务数量,包括:在所述指数增长阶段,以上一次拉取的任务数为基准,按照指数规律增长,得到所述可从任务队列拉取的任务数量,其中,当不存在所述上一次拉取的任务数时,以所述预设的初始值为所述基准;在所述拥塞避免阶段,在上一次拉取的任务数的基础上增加预设值,得到所述可从任务队列拉取的任务数量;在所述稳定阶段,以预设的最大拉取值作为所述可从任务队列拉取的任务数量。5.根据权利要求1所述的方法,其特征在于,所述基于预设线程模型,通过责任链的方式执行拉取的所述任务,包括:在缓存中检索所述任务的执行成功记录;在确定未检索到所述任务的执行成功记录的情况下,基于所述预设线程模型,将所述任务拆分成一个或多个子任务;在所述责任链中执行所述任务的子任务,当所述子任务执行失败,则在未达到所述子任务的重试次数上限的条件下,在所述责任链中重试执行所述子任务,如果有所述子任务在重试次数达到所述重试次数上限后仍执行失败,则所述任务执行失败,将执行失败的所述任务重新保存到所述任务队列以重新执行。6.根据权利要求5所述的方法,其特征在于,还包括:
若所述任务执行成功,则将所述任务的执行成功记录存入所述缓存,并设置缓存过期时间,其中,对于周期执行的所述任务,所述缓存在所述任务的下一执行周期过期。7.一种任务执行装置,其特征在于,包括:预处理模块,用于通过与任务的输入源数据对应的预处理器,将所述任务的输入源数据转化为标准输入序列格式的任务;任...

【专利技术属性】
技术研发人员:张帅
申请(专利权)人:北京京东世纪贸易有限公司
类型:发明
国别省市:

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

1