CN110659123B - 一种基于消息的分布式任务分发调度方法及装置 - Google Patents

一种基于消息的分布式任务分发调度方法及装置 Download PDF

Info

Publication number
CN110659123B
CN110659123B CN201911196296.8A CN201911196296A CN110659123B CN 110659123 B CN110659123 B CN 110659123B CN 201911196296 A CN201911196296 A CN 201911196296A CN 110659123 B CN110659123 B CN 110659123B
Authority
CN
China
Prior art keywords
task
atomic
tasks
attribute
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911196296.8A
Other languages
English (en)
Other versions
CN110659123A (zh
Inventor
施凡
李阳
宁剑
王岩
李振汉
胡淼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201911196296.8A priority Critical patent/CN110659123B/zh
Publication of CN110659123A publication Critical patent/CN110659123A/zh
Application granted granted Critical
Publication of CN110659123B publication Critical patent/CN110659123B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出一种基于消息的分布式任务分发调度方法及装置,所述方法包括:提取所述任务的属性,将所述任务分割成多个原子任务;将所述原子任务分发给相应的工作节点执行;根据所述原子任务的执行情况,对其中执行失败的原子任务予以有限次数的分发重试。采用本发明的技术方案,有效解决了现有技术中任务分发调度技术缺乏任务分割功能和任务分发调度控制不灵活的问题。

Description

一种基于消息的分布式任务分发调度方法及装置
技术领域
本发明属于互联网和分布式***领域,涉及一种基于消息的分布式任务分发调度方法。
背景技术
当前,互联网信息探测领域普遍采取分布式探测技术,通过分布式部署工作节点,分发调度服务器综合考虑任务数量、工作节点计算资源和网络资源,分布式地调度工作节点执行互联网信息探测任务。任务分发调度包括***负载均衡、任务的优先级和分发速率控制、失败任务重试机制等任务分发调度策略。***负载均衡是指根据工作节点资源使用情况、***会话数量、***网络资源占用情况等***负载调整任务分发调度策略。任务的优先级和分发速率控制旨在通过任务优先级和分发速率等参数实现精细化的任务分发与调度。失败任务重试机制是指特定工作节点执行任务失败后进行有限次数重试的机制,用以增强***的容错性能。在分布式互联网信息探测***中,任务分发调度机制的优劣直接影响***功能和性能的发挥。
然而,现有任务分发调度方法普遍存在如下问题:一是缺乏准确的任务分割功能。由于互联网信息探测插件输入参数多种多样,已有任务分发调度方法没有对任务进行分割,造成探测插件功能逻辑复杂以及不同探测插件功能的重复,降低了***整体效率;二是任务分发调度控制不灵活。已有任务分发调度方法虽然考虑到依据工作节点资源使用情况调整分发调度策略,但是没有区分不同优先级的任务分发调度策略,同时,也缺乏对失败任务的管理与控制机制,导致高优先级任务或紧急任务无法优先执行,失败任务结果缺失或者成为僵尸任务而无法正常结束,降低了任务调度可靠性,同时也影响了用户体验。
发明内容
为解决上述技术问题,本发明提出了一种基于消息的分布式任务分发调度方法,所述方法包括下述步骤:
步骤1:获得任务的整体属性值,根据所述整体属性值确定出该任务的类别,由探测插件探测基于该任务的类别获取所述任务的各项属性及对应的属性值,提取该任务、该任务所属类别的历史任务的属性及属性值的特征,以获得该任务、以及该类别的各历史任务的特征向量表示;基于划分子任务的方式的不同,将该类别的各历史任务划分为至少一个子类;比较该任务的特征向量与各子类中的历史任务的特征向量均值的偏差,确定与该任务的特征向量偏差值最小的子类;再将该偏差值与预设的关联度阈值进行比较,若该偏差值小于或等于预设的关联度阈值,则该任务从属于该偏差值最小的子类;获取该任务从属的子类,依据该子类中的历史任务的划分子任务方式,对该任务进行任务分割,即将所述任务分割成多个原子任务,并将该任务标记为历史任务;若该偏差值大于预设的关联度阈值,新建一子类,并将该任务添加到新建子类中,对该任务进行语义分析,并根据语义分析的结果,划分该任务的各子任务,即将所述任务分割成多个原子任务,并将该任务标记为历史任务;
步骤2:任务分割为多个原子任务与原子任务分发调度同步进行;消息服务器与多个工作节点之间建立消息队列;所述消息服务器通过所述消息队列将所述多个原子任务分配给所述多个工作节点,由工作节点执行对应的所述原子任务;
步骤3:根据所述原子任务的执行情况,对其中执行失败的原子任务予以有限次数的分发重试。
进一步的,在上述技术方案的基础上,所述类别至少包括以下一种:统一资源定位符URL类、站点类、互联网协议地址IP类。
进一步的,在上述技术方案的基础上,所述URL类包括属性:url、method、data、referrer和html,其中,url属性标识网址地址,method属性标识访问网址所采用的HTTP方法,data属性标识网址输入参数,referrer属性标识访问报文中的推荐人字段,html属性标识网址返回的html数据;
所述站点类包括属性:host、host_main、ip、port、header、html、title、 html_encode和metadata,其中,host属性标识站点域名,host_main属性标识站点主域名,ip属性标识站点IP地址,port属性标识站点服务端口,header属性标识站点访问报文header头信息,title属性标识站点标题,html_encode属性标识站点html文档编码,metadata属性标识站点html文档元数据;
所述IP类包括属性:ip和ip_info,其中,ip属性标识IP地址,ip_info属性标识IP地址地理位置信息。
进一步的,在上述技术方案的基础上,所述类别还可基于所述属性的组合予以定制。
进一步的,在上述技术方案的基础上,分配给所述多个工作节点包括下述步骤:
步骤2.1:判断是否存在空闲的工作节点;如存在,则从所述多个原子任务中选择至少一个分配给所述空闲的工作节点;
步骤2.2:判断是否存在负载低于特定阈值的工作节点,如存在,则从所述多个原子任务中选择至少一个分配给所述任务量负载低于特定阈值的工作节点;
步骤2.3:判断所述多个原子任务是否分配完毕,如没有分配完毕,则转步骤2.1,否则退出所述分配的操作。
进一步的,在上述技术方案的基础上,判断是否存在任务量负载低于特定阈值的工作节点包括下述步骤:
探测所述工作节点上的插件消耗的资源;
探测所述工作节点持有的资源;
根据所述探测的插件消耗的资源和所述持有的资源计算所述工作节点的负载,
将所述负载与特定阈值相比较,确定所述工作节点的任务量负载是否低于特定阈值。
进一步的,在上述技术方案的基础上,所述步骤2.1和步骤2.2中的从所述多个原子任务中选择至少一个包括下述步骤:
由所述原子任务所属的任务的优先级确定所述原子任务的优先级;
根据所述原子任务的优先级从中选择优先级最高的至少一个。
进一步的,在上述技术方案的基础上,所述步骤3包括:
步骤3.1:为每个分发的原子任务设定执行计数器的初始值,并随所述原子任务分发给工作节点,所述初始值为正数;
步骤3.2:接收到所述分发的原子任务的工作节点执行所述原子任务,如果所述工作节点执行所述原子任务失败,则将所述执行计数器值减1,并发送回所述消息服务器;
步骤3.3:所述消息服务器接收到所述计数器值,检测所述执行计数器的值是否等于0,
如果为否,将所述计数器值对应的原子任务发送到待分发任务消息队列进行排队,以再次分发给所述工作节点,转步骤3.2;
如果为是,则转步骤3.4;
步骤3.4:停止分发所述原子任务。
进一步的,在上述技术方案的基础上,对不同优先级的任务设置不同的原子任务分发速率,优先级高的任务的原子任务分发速率高于优先级低的任务。
另一方面,本发明还提出了一种基于消息的分布式任务调度装置,包括处理器和存储器,所述存储器具有存储有程序代码的介质,当所述处理器读取所述介质存储的程序代码时,所述装置能够执行上述技术方案所述的方法。
采用本发明提出的基于消息的分布式任务分发调度方法及装置,解决了现有技术中任务分发调度技术缺乏任务分割功能和任务分发调度控制不灵活的问题,并实现如下技术效果:(1)所述方法可对探测任务参数属性进行分割、提取,不同类型任务自由定义任务属性组合,以此实现任务分割,有效降低了探测插件之间的耦合性,提高了***分发调度效率;(2)所述方法可对不同任务设置不同的优先级,根据优先级设置不同的分发调度策略,增强任务调度灵活性;(3)所述方法可对执行失败的任务进行有限次数的重试,提高***任务调度可靠性,增强用户体验。
附图说明
图1为本发明提出的基于消息的分布式任务分发调度方法的流程示意图;
图2为本发明提出的基于消息的分布式任务分发调度方法中的基于任务属性对任务分类的示意图;
图3为本发明提出的基于消息的分布式任务分发调度方法中的负载均衡示意图;
图4为本发明提出的基于消息的分布式任务分发调度方法中的任务自动重试分发示意图。
具体实施方式
以下结合附图对本发明的具体实施方式作出详细说明。
在现有的分布式任务分发调度中,首先由于缺乏任务分割功能,从而造成探测插件功能逻辑复杂以及不同探测插件功能的重复,降低了***整体效率;其次,没有区分任务的不同优先级,并缺乏对失败任务的管理与控制机制,导致高优先级任务或紧急任务无法优先执行,失败任务结果缺失或者称为僵尸任务而无法正常结束,降低了任务调度可靠性,同时也影响了用户体验。
针对上述问题,本发明提出的基于消息的分布式任务分发调度方法,通过提取任务的原子属性,对任务进行分割,和通过任务原子属性的组合,定制特定类型任务;并根据任务优先级,优先调度高优先级的任务,同时充分利用***空闲时间的探测资源,提高了***性能;还根据任务执行情况,对失败任务进行有限次数的重试,避免任务因为节点故障或者线路故障无法正常完成。
为了便于理解本发明的发明构思和技术方案,通过下述具体实施方式对本发明作进一步的描述。虽然本发明的典型但非限制性的实施例如下,但这里需要特别说明的是本发明说明书所列的实施方式仅是为了说明问题方便而给出的示例性实施方法,其不得理解为是本发明唯一正确的实施方式,更不得理解为是对本发明保护范围的限制性说明。
参见图1,本发明提出的基于消息的分布式任务分发调度方法主要包括:
步骤1:获得一任务的整体属性值,根据所述整体属性值确定出该任务的类别,由探测插件探测基于该任务的类别获取所述任务的各项属性及对应的属性值,提取该任务、该任务所属类别的历史任务的属性及属性值的特征,以获得该任务、以及该类别的各历史任务的特征向量表示;基于划分子任务的方式的不同,将该类别的各历史任务划分为至少一个子类;比较该任务的特征向量与各子类中的历史任务的特征向量均值的偏差,确定与该任务的特征向量偏差值最小的子类;再将该偏差值与预设的关联度阈值进行比较,若该偏差值小于或等于预设的关联度阈值,则该任务从属于该偏差值最小的子类;获取该任务从属的子类,依据该子类中的历史任务的划分子任务方式,对该任务进行任务分割,即将所述任务分割成多个原子任务,并将该任务标记为历史任务;若该偏差值大于预设的关联度阈值,新建一子类,并将该任务添加到新建子类中,对该任务进行语义分析,并根据语义分析的结果,划分该任务的各子任务,即将所述任务分割成多个原子任务,并将该任务标记为历史任务。
本发明的一个实施例,存储各类任务的历史数据,对各类任务的每一类,按划分子任务方式的不同,划分为至少一个子类,所述各类任务的历史数据均存储到对应的子类中。
获得一新任务的整体属性值,所述整体属性值是将该任务做为一个整体,对任务中的全部信息进行哈希计算得到的值。例如一新任务为一具体的URL地址,该URL地址经哈希计算得到的值即为获得的该新任务的整体属性值,进而根据上述整体属性值确定出该任务属于URL类;再获取该任务的各项属性及与该各项属性对应的属性值,可以由探测插件探测基于该任务的类别获取所述任务的各项属性及对应的属性值。之后再获取之前存储的处理了URL类任务的历史数据,从URL类任务的历史数据中获取各历史任务的各项属性及对应的属性值,进而,对该新任务与该类任务的各子类进行聚类,以判断与该新任务最接近的子类。可以通过提取新任务、历史数据的属性及属性值的特征,以获得该新任务、以及各历史数据中的历史任务的特征向量表示。对各个子类,根据该子类包含的全部历史任务的特征向量计算该子类的历史任务的特征向量均值。比较该新任务的特征向量与各子类的历史任务的特征向量均值的偏差,确定与该新任务的特征向量偏差值最小的子类。再将该偏差值与预设的关联度阈值进行比较,若该偏差值小于或等于预设的关联度阈值,则该新任务从属于该偏差值最小的子类。获取该任务在该类任务中从属的子类,依据该子类中的历史任务的划分子任务方式,对该新任务进行任务分割,并将该新任务标记为历史任务。若该偏差值大于预设的关联度阈值,新建一子类,并将该新任务添加到该子类中,对该任务进行语义分析,并根据语义分析的结果,划分该新任务的各子任务,并将该新任务标记为历史任务。
步骤2:任务分割为多个原子任务与原子任务分发调度同步进行;消息服务器与多个工作节点之间建立消息队列;所述消息服务器通过所述消息队列将所述多个原子任务分配给所述多个工作节点,由工作节点执行对应的所述原子任务;
步骤3:根据所述原子任务的执行情况,对其中执行失败的原子任务予以有限次数的分发重试。
本发明步骤1的一个更优的实施方式是将任务输入抽象为三类:URL类、站点类、IP类。针对上述三类任务输入类型分别提取任务属性。另外,也可以通过组合三类输入属性,构建新的不同类型的任务。任务分割的过程和任务分发调度是同步进行的过程,即通过提供初始输入,调度特定探测插件探测获取任务的各项属性。任务属性获取后,继而调度以相应任务属性为输入的探测插件进行探测。
一个较佳的实施方式参见图2,将任务输入抽象为三类:URL类、站点类、IP类。针对上述三类任务输入类型分别提取任务属性:URL类输入属性为{url, method, data,referrer, html}等构成的多元组,其中,url属性标识网址地址,method属性标识访问网址所采用的HTTP方法,data属性标识网址输入参数,referrer属性标识访问报文中的推荐人字段,html属性标识网址返回的html数据。站点类输入属性为{host, host_main, ip,port, header, html, title, html_encode, metadata}等构成的多元组,其中,host属性标识站点域名,host_main属性标识站点主域名,ip属性标识站点IP地址,port属性标识站点服务端口,header属性标识站点访问报文header头信息,title属性标识站点标题,html_encode属性标识站点html文档编码,metadata属性标识站点html文档元数据。IP类输入属性为{ip, ip_info}等构成的二元组,其中,ip属性标识IP地址,ip_info属性标识IP地址地理位置信息。如图1所示。通过组合三类输入属性,构建不同的任务。任务分割的过程和任务分发调度是同步进行的过程,即通过提供初始输入,调度特定探测插件探测获取任务的各项属性。任务属性获取后,继而调度以相应任务属性为输入的探测插件进行探测。
本发明步骤2的一个更优的实施方式是基于消息队列实现任务负载均衡,消息服务器负责给工作节点分配任务。当一个任务被启动时,通过所述任务分割方法,任务会被分割成多个原子任务给工作节点。消息服务器会优先分配任务给空闲的工作节点,消息服务器依据探测插件消耗资源和工作节点持有资源计算工作节点任务量和负载,所述资源包括计算资源、存储资源、网络资源、线程资源、会话资源等,当工作节点的任务量达到一定阈值时,消息服务器将不再向该节点分配任何任务,直到该节点负载低于所设定的阈值,消息服务器才会继续向该工作节点分配新的任务。与此同时,将任务优先级设置为三个等级,消息服务器依据任务优先级,为每个等级的任务设置不同的分发速率阈值,将优先级高的任务优先分发至工作负载较低的工作节点,以便更快地执行。
一个较佳的实施方式参见图3,基于消息队列实现任务负载均衡,消息服务器负责给工作节点分配任务。当一个原始任务被启动时,通过所述任务分割方法,原始任务会被分割成多个原子任务给工作节点。负载均衡方法如下:首先,消息服务器会优先分配任务给空闲的工作节点;其次,消息服务器依据探测插件消耗资源和工作节点持有资源计算工作节点负载,所述资源包括计算资源、存储资源、网络资源、线程资源、会话资源等,当工作节点的原子任务数量达到一定阈值时,消息服务器将不再向该节点分配任何新的原子任务,直到该节点负载低于所设定的阈值,消息服务器才会继续向该工作节点分配新的原子任务;与此同时,将原始任务优先级设置为三个等级,消息服务器依据原始任务优先级,为每个等级的原始任务设置不同的分发速率阈值,将优先级高的原始任务对应的原子任务优先分发至工作负载较低的工作节点,以便更快地执行。
本发明步骤3的一个更优的实施方式是采用任务执行计数器实现任务重试。初始情况下,每个任务的执行计数器都会被赋予特定阈值。任务执行计数器阈值随任务被分发至工作节点,若所述工作节点正好因为网络出现波动或者其他问题导致任务执行失败,此时任务执行计数器将会减1,且相应任务会重新返回消息服务器的待分发任务消息队列,消息服务器将会再次分发所述任务,直到任务返回正确数据,或者所述任务执行计数器为0时自动停止分发。
一个较佳的实施方式参见图4,任务重试可实现原子级别的任务失败后重试。任务重试采用任务执行计数器实现,包含下述流程:初始情况下,每个原子任务的执行计数器都会被赋予特定阈值,任务执行计数器阈值随任务被分发至工作节点;若所述工作节点正好因为网络出现波动或者其他问题导致原子任务执行失败,工作节点将当前任务执行计数器减1,发送给消息服务器,消息服务器将返回的原子任务放入待分发的任务队列进行排队,等候再次分发调度;消息服务器再次分发所述原子任务,直到原子任务返回正确数据,或者所述任务执行计数器为0时自动停止分发。
对于本领域技术人员而言,显然本发明实施例不限于上述示范性实施例的细节,而且在不背离本发明实施例的精神或基本特征的情况下,能够以其他的具体形式实现本发明实施例。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明实施例的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明实施例内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。***、装置或终端权利要求中陈述的多个单元、模块或装置也可以由同一个单元、模块或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施方式仅用以说明本发明实施例的技术方案而非限制,尽管参照以上较佳实施方式对本发明实施例进行了详细说明,本领域的普通技术人员应当理解,可以对本发明实施例的技术方案进行修改或等同替换都不应脱离本发明实施例的技术方案的精神和范围。

Claims (10)

1.一种基于消息的分布式任务分发调度方法,其特征在于所述方法包括下述步骤:
步骤1:获得任务的整体属性值,根据所述整体属性值确定出该任务的类别,由探测插件探测基于该任务的类别获取所述任务的各项属性及对应的属性值,提取该任务、该任务所属类别的历史任务的属性及属性值的特征,以获得该任务、以及该类别的各历史任务的特征向量表示;基于划分子任务的方式的不同,将该类别的各历史任务划分为至少一个子类;比较该任务的特征向量与各子类中的历史任务的特征向量均值的偏差,确定与该任务的特征向量偏差值最小的子类;再将该偏差值与预设的关联度阈值进行比较,若该偏差值小于或等于预设的关联度阈值,则该任务从属于该偏差值最小的子类;获取该任务从属的子类,依据该子类中的历史任务的划分子任务方式,对该任务进行任务分割,即将所述任务分割成多个原子任务,并将该任务标记为历史任务;若该偏差值大于预设的关联度阈值,新建一子类,并将该任务添加到新建子类中,对该任务进行语义分析,并根据语义分析的结果,划分该任务的各子任务,即将所述任务分割成多个原子任务,并将该任务标记为历史任务;
步骤2:任务分割为多个原子任务与原子任务分发调度同步进行;消息服务器与多个工作节点之间建立消息队列;将任务优先级设置为三个等级,所述消息服务器依据任务优先级,为每个等级的任务设置不同的分发速率阈值,通过所述消息队列将优先级高的任务优先分发至工作节点,由工作节点执行对应的所述原子任务;
步骤3:根据所述原子任务的执行情况,对其中执行失败的原子任务予以有限次数的分发重试。
2.如权利要求1所述的方法,其特征在于所述类别至少包括以下一种:统一资源定位符URL类、站点类、互联网协议地址IP类。
3.如权利要求2所述的方法,其特征在于:
所述URL类包括属性:url、method、data、referrer和html,其中,url属性标识网址地址,method属性标识访问网址所采用的HTTP方法,data属性标识网址输入参数,referrer属性标识访问报文中的推荐人字段,html属性标识网址返回的html数据;
所述站点类包括属性:host、host_main、ip、port、header、html、title、html_encode和metadata,其中,host属性标识站点域名,host_main属性标识站点主域名,ip属性标识站点IP地址,port属性标识站点服务端口,header属性标识站点访问报文header头信息,title属性标识站点标题,html_encode属性标识站点html文档编码,metadata属性标识站点html文档元数据;
所述IP类包括属性:ip和ip_info,其中,ip属性标识IP地址,ip_info属性标识IP地址地理位置信息。
4.如权利要求3所述的方法,其特征在于所述类别还可基于所述属性的组合予以定制。
5.如权利要求3所述的方法,其特征在于分配给所述多个工作节点包括下述步骤:
步骤2.1:判断是否存在空闲的工作节点;如存在,则从所述多个原子任务中选择至少一个分配给所述空闲的工作节点;
步骤2.2:判断是否存在负载低于特定阈值的工作节点,如存在,则从所述多个原子任务中选择至少一个分配给任务量负载低于特定阈值的工作节点;
步骤2.3:判断所述多个原子任务是否分配完毕,如没有分配完毕,则转步骤2.1,否则退出所述分配的操作。
6.如权利要求5所述的方法,其特征在于判断是否存在任务量负载低于特定阈值的工作节点包括下述步骤:
探测所述工作节点上的插件消耗的资源;
探测所述工作节点持有的资源;
根据所述探测的插件消耗的资源和所述持有的资源计算所述工作节点的负载,
将所述负载与特定阈值相比较,确定所述工作节点的任务量负载是否低于特定阈值。
7.如权利要求6所述的方法,其特征在于所述步骤2.1和步骤2.2中的从所述多个原子任务中选择至少一个包括下述步骤:
由所述原子任务所属的任务的优先级确定所述原子任务的优先级;
根据所述原子任务的优先级从中选择优先级最高的至少一个。
8.如权利要求7所述的方法,其特征在于所述步骤3包括:
步骤3.1:为每个分发的原子任务设定执行计数器的初始值,并随所述原子任务分发给工作节点,所述初始值为正数;
步骤3.2:接收到所述分发的原子任务的工作节点执行所述原子任务,如果所述工作节点执行所述原子任务失败,则将所述执行计数器值减1,并发送回所述消息服务器;
步骤3.3:所述消息服务器接收到所述计数器值,检测所述执行计数器的值是否等于0,
如果为否,将所述计数器值对应的原子任务发送到待分发任务消息队列进行排队,以再次分发给所述工作节点,转步骤3.2;
如果为是,则转步骤3.4;
步骤3.4:停止分发所述原子任务。
9.如权利要求8所述的方法,其特征在于对不同优先级的任务设置不同的原子任务分发速率,优先级高的任务的原子任务分发速率高于优先级低的任务。
10.一种基于消息的分布式任务调度装置,包括处理器和存储器,所述存储器具有存储有程序代码的介质,当所述处理器读取所述介质存储的程序代码时,所述装置能够执行权利要求1-9任一项所述的方法。
CN201911196296.8A 2019-11-29 2019-11-29 一种基于消息的分布式任务分发调度方法及装置 Active CN110659123B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911196296.8A CN110659123B (zh) 2019-11-29 2019-11-29 一种基于消息的分布式任务分发调度方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911196296.8A CN110659123B (zh) 2019-11-29 2019-11-29 一种基于消息的分布式任务分发调度方法及装置

Publications (2)

Publication Number Publication Date
CN110659123A CN110659123A (zh) 2020-01-07
CN110659123B true CN110659123B (zh) 2020-03-20

Family

ID=69043766

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911196296.8A Active CN110659123B (zh) 2019-11-29 2019-11-29 一种基于消息的分布式任务分发调度方法及装置

Country Status (1)

Country Link
CN (1) CN110659123B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111367688A (zh) * 2020-02-28 2020-07-03 京东数字科技控股有限公司 一种业务数据的处理方法和装置
CN111353161A (zh) * 2020-03-11 2020-06-30 腾讯科技(深圳)有限公司 一种漏洞扫描方法及装置
CN111651258A (zh) * 2020-06-08 2020-09-11 中国联合网络通信集团有限公司 任务调度方法及装置
CN111966479B (zh) * 2020-08-19 2024-03-29 支付宝(杭州)信息技术有限公司 业务处理、风险识别业务处理方法、装置及电子设备
CN112099935B (zh) * 2020-09-25 2023-09-01 北京奇艺世纪科技有限公司 一种任务处理方法及装置
CN114519101B (zh) * 2020-11-18 2023-06-06 易保网络技术(上海)有限公司 数据聚类方法和***、数据存储方法和***以及存储介质
CN116074322B (zh) * 2023-04-06 2023-06-02 中国人民解放军国防科技大学 基于智能消息分割的高吞吐任务调度方法、***及介质
CN116719652B (zh) * 2023-08-08 2024-04-19 支付宝(杭州)信息技术有限公司 基于消息的多子作业动态分流方法、装置和***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8521666B2 (en) * 2007-12-11 2013-08-27 Resolvity, Inc. Case acquisition for incremental Case-Based Reasoning system
CN106325980A (zh) * 2015-06-30 2017-01-11 中国石油化工股份有限公司 一种多线程并发***
CN110209496A (zh) * 2019-05-20 2019-09-06 中国平安财产保险股份有限公司 基于数据处理的任务分片方法、装置及分片服务器
CN110210731A (zh) * 2019-05-20 2019-09-06 深圳壹账通智能科技有限公司 提醒任务分配方法、装置、计算机设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8521666B2 (en) * 2007-12-11 2013-08-27 Resolvity, Inc. Case acquisition for incremental Case-Based Reasoning system
CN106325980A (zh) * 2015-06-30 2017-01-11 中国石油化工股份有限公司 一种多线程并发***
CN110209496A (zh) * 2019-05-20 2019-09-06 中国平安财产保险股份有限公司 基于数据处理的任务分片方法、装置及分片服务器
CN110210731A (zh) * 2019-05-20 2019-09-06 深圳壹账通智能科技有限公司 提醒任务分配方法、装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
云计算任务调度研究;史恒亮;《中国博士学位论文全文数据库 信息科技辑》;20130615;I138-1 *

Also Published As

Publication number Publication date
CN110659123A (zh) 2020-01-07

Similar Documents

Publication Publication Date Title
CN110659123B (zh) 一种基于消息的分布式任务分发调度方法及装置
CN107688496B (zh) 任务分布式处理方法、装置、存储介质和服务器
US10474504B2 (en) Distributed node intra-group task scheduling method and system
CN101510167B (zh) 一种插件运行的方法、装置及***
US11838384B2 (en) Intelligent scheduling apparatus and method
US20150100655A1 (en) On-demand mailbox synchronization and migration system
WO2017166803A1 (zh) 一种资源调度方法及装置
CN107819797B (zh) 访问请求处理方法和装置
CN109995842B (zh) 一种用于分布式服务器集群的分组方法及装置
CN112015549B (zh) 一种基于服务器集群的调度节点的选择抢占方法及***
CN113810304A (zh) 一种负载均衡方法、装置、设备和计算机存储介质
CN111930493B (zh) 集群中NodeManager状态管理方法、装置及计算设备
CN114356557B (zh) 一种集群扩容方法及装置
US20180295044A1 (en) Automated management of service instances
CN104793982A (zh) 一种创建虚拟机的方法和设备
CN111913784A (zh) 任务调度方法及装置、网元、存储介质
CN111082964B (zh) 一种配置信息的分发方法和装置
CN109086128B (zh) 任务调度方法及装置
CN117112199A (zh) 一种多租户资源调度方法、装置及存储介质
CN115002117B (zh) 内容分发网络动态调度方法、***、设备及存储介质
CN111813546B (zh) 一种多网络连接应用的资源分配方法、***及相关装置
CN113672382B (zh) 一种业务资源分配方法、装置、电子设备和存储介质
CN112995241B (zh) 服务调度方法和装置
CN114979250A (zh) 消息推送方法、装置和设备
CN109062707B (zh) 电子装置及其限制进程间通信的方法、存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant