任务执行方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:27741025 阅读:16 留言:0更新日期:2021-03-19 13:34
本申请涉及一种任务执行方法、装置、计算机设备和存储介质。所述方法包括:按照第一预设时间间隔从分布式搜索引擎的索引中获取目标任务的任务信息;根据所述目标任务的任务信息进行哈希计算得到哈希值,并在预先获取到的哈希环中查找所述哈希值;所述哈希环为根据分布式服务器的有效服务器信息生成的;若查找到所述哈希值,则根据所述哈希值确定目标服务器,并由所述目标服务器执行所述目标任务。采用本方法能够提高任务执行效率,避免任务堆积产生业务瓶颈。

【技术实现步骤摘要】
任务执行方法、装置、计算机设备和存储介质
本申请涉及任务调度
,特别是涉及一种任务执行方法、装置、计算机设备和存储介质。
技术介绍
当前的分布式定时任务,通常是基于Quartz、Elastic-job或xxl-job的分布式串行任务调度方式。分布式服务器的多个服务器共用同一个任务调度锁,执行定时任务时,一台服务器获取任务调度锁;定时任务结束后,该服务器释放任务调度锁。这样,一台服务器在执行定时任务时,其他服务器无法获取任务调度锁,因此无法执行定时任务,从而保证了任务调度的唯一性。但是,这样的串行任务调度方式,大大限制了定时任务的执行效率,可能会造成大量的任务堆积,产生业务瓶颈。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够提升任务执行效率、避免任务堆积产生业务瓶颈的任务执行方法、装置、计算机设备和存储介质。一种任务执行方法,应用于分布式服务器,该方法包括:按照第一预设时间间隔从分布式搜索引擎的索引中获取目标任务的任务信息;根据目标任务的任务信息进行哈希计算得到哈希值,并在预先获取到的哈希环中查找哈希值;哈希环为根据分布式服务器的有效服务器信息生成的;若查找到哈希值,则根据哈希值确定目标服务器,并由目标服务器执行目标任务。在其中一个实施例中,在上述预先获取到的哈希环中查找哈希值之前,该方法还包括:根据目标任务的任务信息在分布式缓存中搜索,得到与任务信息匹配的有效服务器信息;基于有效服务器信息进行一致性哈希计算,得到哈希环;其中,有效服务器信息包括业务模块标识和服务器标识。在其中一个实施例中,上述目标任务的任务信息包括业务模块参数,上述根据目标任务的任务信息在分布式缓存中搜索,得到与任务信息匹配的有效服务器信息,包括:根据业务模块参数在分布式缓存中搜索,得到与业务模块参数匹配的业务模块标识和与业务模块标识对应的备选服务器信息;若备选服务器信息在有效时长内,则将备选服务器信息确定为有效服务器信息。在其中一个实施例中,上述基于目标服务器信息进行一致性哈希计算,得到哈希环,包括:根据服务器标识进行一致性哈希计算,得到哈希环。在其中一个实施例中,在上述根据目标任务的任务信息在分布式缓存中搜索之前,该方法还包括:按照第二预设时间间隔,将分布式服务器中各服务器的服务器信息存储至分布式缓存中,并设置各服务器信息的有效时长;其中,各服务器信息的有效时长与第二预设时间间隔匹配。在其中一个实施例中,上述按照第一预设时间间隔从分布式搜索引擎的索引中获取目标任务和目标任务的任务信息,包括:按照第一预设时间间隔遍历分布式搜索引擎的索引,从分布式搜索引擎的索引存储的待执行任务中选取出目标任务;从分布式搜索引擎的索引中获取目标任务的任务信息。在其中一个实施例中,该方法还包括:若未查找到哈希值,则跳过目标任务。一种任务执行装置,部署在分布式服务器,该装置包括:信息获取模块,用于按照第一预设时间间隔从分布式搜索引擎的索引中获取目标任务的任务信息;哈希值查找模块,用于根据目标任务的任务信息进行哈希计算得到哈希值,并在预先获取到的哈希环中查找哈希值;哈希环为根据分布式服务器的有效服务器信息生成的;任务执行模块,用于若查找到哈希值,则根据哈希值确定目标服务器,并由目标服务器执行目标任务。在其中一个实施例中,该装置还包括:信息搜索模块,用于根据目标任务的任务信息在分布式缓存中搜索,得到与任务信息匹配的有效服务器信息;哈希计算模块,用于基于有效服务器信息进行一致性哈希计算,得到哈希环;其中,有效服务器信息包括业务模块标识和服务器标识。在其中一个实施例中,上述目标任务的任务信息包括业务模块参数,上述信息搜索模块,具体用于根据业务模块参数在分布式缓存中搜索,得到与业务模块参数匹配的业务模块标识和与业务模块标识对应的备选服务器信息;若备选服务器信息在有效时长内,则将备选服务器信息确定为有效服务器信息。在其中一个实施例中,上述哈希计算模块,具体用于根据服务器标识进行一致性哈希计算,得到哈希环。在其中一个实施例中,该装置还包括:信息存储模块,用于按照第二预设时间间隔,将分布式服务器中各服务器的服务器信息存储至分布式缓存中,并设置各服务器信息的有效时长;其中,各服务器信息的有效时长与第二预设时间间隔匹配。在其中一个实施例中,上述信息获取模块,具体用于按照第一预设时间间隔遍历分布式搜索引擎的索引,从分布式搜索引擎的索引存储的待执行任务中选取出目标任务;从分布式搜索引擎的索引中获取目标任务的任务信息。在其中一个实施例中,该装置还包括:任务跳过模块,用于若未查找到哈希值,则跳过目标任务。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:按照第一预设时间间隔从分布式搜索引擎的索引中获取目标任务的任务信息;根据目标任务的任务信息进行哈希计算得到哈希值,并在预先获取到的哈希环中查找哈希值;哈希环为根据分布式服务器的有效服务器信息生成的;若查找到哈希值,则根据哈希值确定目标服务器,并由目标服务器执行目标任务。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:按照第一预设时间间隔从分布式搜索引擎的索引中获取目标任务的任务信息;根据目标任务的任务信息进行哈希计算得到哈希值,并在预先获取到的哈希环中查找哈希值;哈希环为根据分布式服务器的有效服务器信息生成的;若查找到哈希值,则根据哈希值确定目标服务器,并由目标服务器执行目标任务。上述任务执行方法、装置、计算机设备和存储介质,分布式服务器按照第一预设时间间隔从分布式搜索引擎的索引中获取目标任务的任务信息;根据目标任务的任务信息进行哈希计算得到哈希值,并在预先获取到的哈希环中查找哈希值;若查找到哈希值,则根据哈希值确定目标服务器,并由目标服务器执行目标任务。本公开实施例中,根据计算好的哈希环将不同的目标任务分配给不同的服务器,采用这种并行任务调度方式,不仅可以提高任务执行效率,而且还可以避免任务堆积产生业务瓶颈。附图说明图1为一个实施例中任务执行方法的应用环境图;图2为一个实施例中任务执行方法的流程示意图;图3为一个实施例中获取哈希环步骤的流程示意图;图4为另一个实施例中任务执行方法的流程示意图;图5为一个实施例中任务执行装置的结构框图;图6为一个实施例中计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本申请提供的任务执行方法,可以本文档来自技高网...

【技术保护点】
1.一种任务执行方法,其特征在于,应用于分布式服务器,所述方法包括:/n按照第一预设时间间隔从分布式搜索引擎的索引中获取目标任务的任务信息;/n根据所述目标任务的任务信息进行哈希计算得到哈希值,并在预先获取到的哈希环中查找所述哈希值;所述哈希环为根据分布式服务器的有效服务器信息生成的;/n若查找到所述哈希值,则根据所述哈希值确定目标服务器,并由所述目标服务器执行所述目标任务。/n

【技术特征摘要】
1.一种任务执行方法,其特征在于,应用于分布式服务器,所述方法包括:
按照第一预设时间间隔从分布式搜索引擎的索引中获取目标任务的任务信息;
根据所述目标任务的任务信息进行哈希计算得到哈希值,并在预先获取到的哈希环中查找所述哈希值;所述哈希环为根据分布式服务器的有效服务器信息生成的;
若查找到所述哈希值,则根据所述哈希值确定目标服务器,并由所述目标服务器执行所述目标任务。


2.根据权利要求1所述的方法,其特征在于,所述在预先获取到的哈希环中查找所述哈希值之前,所述方法还包括:
根据所述目标任务的任务信息在分布式缓存中搜索,得到与所述任务信息匹配的有效服务器信息;
基于所述有效服务器信息进行一致性哈希计算,得到所述哈希环;
其中,所述有效服务器信息包括业务模块标识和服务器标识。


3.根据权利要求2所述的方法,其特征在于,所述目标任务的任务信息包括业务模块参数,所述根据所述目标任务的任务信息在分布式缓存中搜索,得到与所述任务信息匹配的有效服务器信息,包括:
根据所述业务模块参数在所述分布式缓存中搜索,得到与所述业务模块参数匹配的业务模块标识和与所述业务模块标识对应的备选服务器信息;
若所述备选服务器信息在有效时长内,则将所述备选服务器信息确定为所述有效服务器信息。


4.根据权利要求2所述的方法,其特征在于,所述基于所述目标服务器信息进行一致性哈希计算,得到所述哈希环,包括:
根据所述服务器标识进行一致性哈希计算,得到所述哈希环。


5.根据权利要求2所述的方法,其特征在于,在所述根据所述目标任务的任务信息在分布式缓存中搜索之前,所...

【专利技术属性】
技术研发人员:刘沙皓伦王雅光
申请(专利权)人:武汉联影医疗科技有限公司
类型:发明
国别省市:湖北;42

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

1