任务处理方法和装置制造方法及图纸

技术编号:29400044 阅读:15 留言:0更新日期:2021-07-23 22:37
本发明专利技术公开了任务处理方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:接收任务请求,任务请求包括任务类别以及任务特征信息;根据任务特征信息,从预先设置的至少一组处理队列中,为任务请求分配一组处理队列,其中,每一组处理队列设置有至少两个特定任务队列,每一个特定任务队列关联有至少两个处理线程;将任务请求存放到与任务类别相匹配的目标特定任务队列;当任务请求满足预设的处理条件时,为任务请求选择一个空闲的线程,以处理任务请求。该实施方式能够快速的响应和处理任务请求。

【技术实现步骤摘要】
任务处理方法和装置
本专利技术涉及计算机
,尤其涉及一种任务处理方法和装置。
技术介绍
随着大数据时代的到来,很多企业采用HBase技术搭建的结构化存储集群(简称HBase集群)存储数据,以应对数据指数级增长。其中,HBase集群中的节点根据接收到的任务请求如读数据、写数据、扫描数据等,维护自身存储的数据表。目前,HBase集群中的节点通过一组线程处理任务请求。而节点会同时接收到很多的任务请求,只能按先进先出的方式处理任务请求。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:HBase集群中的节点在采用一组线程处理任务请求,一旦出现异常,会导致后续重要的任务请求无法快速响应和处理。
技术实现思路
有鉴于此,本专利技术实施例提供一种任务处理方法和装置,为一个任务队列关联至少两个处理线程,一个线程出现异常后,其它线程还可以继续处理,能够快速的响应和处理任务请求。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种任务处理方法,包括:接收任务请求,所述任务请求包括任务类别以及任务特征信息;根据所述任务特征信息,从预先设置的至少一组处理队列中,为所述任务请求分配一组处理队列,其中,每一组所述处理队列设置有至少两个特定任务队列,每一个所述特定任务队列关联有至少两个处理线程;将所述任务请求存放到与所述任务类别相匹配的目标特定任务队列;当所述任务请求满足预设的处理条件时,从所述目标特定任务队列关联的至少两个处理线程中,为所述任务请求选择一个空闲的线程,以处理所述任务请求。优选地,所述处理队列的组数为至少两组,其中,每一组所述处理队列设置有对应的优先级准入条件;所述任务特征信息包括任务优先级;所述为所述任务请求分配一组处理队列,包括:确定所述任务优先级所满足的目标优先级准入条件;将所述任务请求分配给所述目标优先级准入条件对应的处理队列。优选地,任务处理方法,进一步包括:设置有一级调度器以及至少两个二级调度器,其中,所述二级调度器与所述处理队列相对应;建立所述处理队列对应的优先级准入条件与对应的所述二级调度器之间的关联;所述将所述任务请求分配给所述任务优先级满足的优先级准入条件对应的一组处理队列,包括:根据所述关联,所述一级调度器将所述任务请求分配给目标二级调度器,其中,所述目标二级调度器为与所述任务优先级满足的优先级准入条件具有关联的二级调度器。优选地,任务处理方法,进一步包括:为所述二级调度器与对应的所述处理队列中的每一个所述特定任务队列构建调用关系;所述将所述任务请求存放到与所述任务类别相匹配的目标特定任务队列,包括:利用所述调用关系,所述目标二级调度器将所述任务请求存放到与所述任务类别相匹配的目标特定任务队列;在所述目标特定任务队列中,根据所述任务请求中的时间戳,对属于同一个用户/业务表的多个所述任务请求进行排序。优选地,所述任务特征信息进一步包括任务权重;所述将所述任务请求存放到与所述任务类别相匹配的目标特定任务队列,包括:根据所述任务权重,在所述目标特定任务队列中,为所述任务请求确定存放位置;将所述任务请求存放到所述存放位置,以使所述目标特定任务队列中存放的多个任务请求基于所述任务权重的高低排序。优选地,所述预设的处理条件包括:所述任务请求达到预设的处理时限;任务处理方法,进一步包括:针对每一个所述特定任务队列,执行:为所述特定任务队列设置一个扫描线程和超时指针;所述扫描线程检测所述特定任务队列中存放的每一个任务请求,以确定出达到处理时限的任务请求;控制所述超时指针指向所述达到处理时限的任务请求。优选地,所述任务请求进一步包括数据表中的一个区域;所述控制所述超时指针指向所述达到处理时限的任务请求,包括:当达到处理时限的任务请求存在多个,且该多个达到处理时限的任务请求所包括的区域属于同一个数据表的任务请求时,根据所述多个达到处理时限的任务请求在所述特定任务队列中的排列顺序,控制所述超时指针指向排列在最前的的达到处理时限的任务请求。优选地,在所述确定出达到处理时限的任务请求之后,进一步包括:判断所述达到处理时限的任务请求进入所述特定任务队列的时间是否早于位于所述特定任务队列队首的任务请求进入所述特定任务队列的时间,如果是,则为所述达到处理时限的任务请求选择一个空闲的线程。优选地,上述任务处理方法应用于分布式集群数据库HBase中的每一个节点,以使所述每一个节点设置有所述至少一组处理队列。优选地,所述任务请求,包括:针对一个数据表中的一个数据区间的读请求、写请求以及扫描请求中的任意一个。优选地,所述至少两个特定任务队列,包括:读队列、写队列以及扫描队列。优选地,任务处理方法,进一步包括:根据所述节点的CPU内核数量,计算每一组所述处理队列中的每一个所述特定任务队列关联的处理线程个数。第二方面,本专利技术实施例提供一种任务处理装置,包括:调度模块和处理器,其中,所述调度模块,用于接收任务请求,所述任务请求包括任务类别以及任务特征信息,将所述任务请求存放到与所述任务类别相匹配的目标特定任务队列;所述处理器,用于根据所述任务特征信息,从预先设置的至少一组处理队列中,为所述任务请求分配一组处理队列,其中,每一组所述处理队列设置有至少两个特定任务队列,每一个所述特定任务队列关联有至少两个处理线程;当所述任务请求满足预设的处理条件时,从所述目标特定任务队列关联的至少两个处理线程中,为所述任务请求选择一个空闲的线程,以处理所述任务请求。上述专利技术中的一个实施例具有如下优点或有益效果:因为预先设置的至少一组处理队列中,每一组处理队列设置有至少两个特定任务队列,而特定任务队列关联有至少两个处理线程,那么,在一个线程被占用或者占用线程的任务出现异常,其它线程仍可用来处理特定任务队列中的剩余的任务请求,克服了任务处理出现异常导致后续重要的任务请求无法快速响应和处理的技术问题。因此,本专利技术实施例提供的任务处理方案,在前序任务处理出现异常后,仍能够快速的响应和处理任务请求。进一步地,由于可对队列内的任务请求进行疏导,避免队列堵塞,从而维持了任务请求处理的稳定性。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的任务处理方法的主要流程的示意图;图2是根据本专利技术实施例的各级调度器、处理队列以及特定任务队列之间关系的结构示意图;图3是根据本专利技术实施例的为任务请求分配特定任务队列的主要流程的示意图;图4是根据本专利技术实施例的为特定任务队列中的任务请求对应的任务调用线程的示意图;<本文档来自技高网...

【技术保护点】
1.一种任务处理方法,其特征在于,包括:/n接收任务请求,所述任务请求包括任务类别以及任务特征信息;/n根据所述任务特征信息,从预先设置的至少一组处理队列中,为所述任务请求分配一组处理队列,其中,每一组所述处理队列设置有至少两个特定任务队列,每一个所述特定任务队列关联有至少两个处理线程;/n将所述任务请求存放到与所述任务类别相匹配的目标特定任务队列;/n当所述任务请求满足预设的处理条件时,从所述目标特定任务队列关联的至少两个处理线程中,为所述任务请求选择一个空闲的线程,以处理所述任务请求。/n

【技术特征摘要】
1.一种任务处理方法,其特征在于,包括:
接收任务请求,所述任务请求包括任务类别以及任务特征信息;
根据所述任务特征信息,从预先设置的至少一组处理队列中,为所述任务请求分配一组处理队列,其中,每一组所述处理队列设置有至少两个特定任务队列,每一个所述特定任务队列关联有至少两个处理线程;
将所述任务请求存放到与所述任务类别相匹配的目标特定任务队列;
当所述任务请求满足预设的处理条件时,从所述目标特定任务队列关联的至少两个处理线程中,为所述任务请求选择一个空闲的线程,以处理所述任务请求。


2.根据权利要求1所述任务处理方法,其特征在于,
所述处理队列的组数为至少两组,其中,每一组所述处理队列设置有对应的优先级准入条件;
所述任务特征信息包括任务优先级;
所述为所述任务请求分配一组处理队列,包括:
确定所述任务优先级所满足的目标优先级准入条件;
将所述任务请求分配给所述目标优先级准入条件对应的处理队列。


3.根据权利要求2所述任务处理方法,其特征在于,
进一步包括:设置有一级调度器以及至少两个二级调度器,其中,所述二级调度器与所述处理队列相对应;
建立所述处理队列对应的优先级准入条件与对应的所述二级调度器之间的关联;
所述将所述任务请求分配给所述任务优先级满足的优先级准入条件对应的一组处理队列,包括:
根据所述关联,所述一级调度器将所述任务请求分配给目标二级调度器,其中,所述目标二级调度器为与所述任务优先级满足的优先级准入条件具有关联的二级调度器。


4.根据权利要求3所述任务处理方法,其特征在于,
进一步包括:为所述二级调度器与对应的所述处理队列中的每一个所述特定任务队列构建调用关系;
所述将所述任务请求存放到与所述任务类别相匹配的目标特定任务队列,包括:
利用所述调用关系,所述目标二级调度器将所述任务请求存放到与所述任务类别相匹配的目标特定任务队列;
在所述目标特定任务队列中,根据所述任务请求中的时间戳,对属于同一个用户/业务表的多个所述任务请求进行排序。


5.根据权利要求1至4任一所述任务处理方法,其特征在于,
所述任务特征信息进一步包括任务权重;
所述将所述任务请求存放到与所述任务类别相匹配的目标特定任务队列,包括:
根据所述任务权重,在所述目标特定任务队列中,为所述任务请求确定存放位置;
将所述任务请求存放到所述存放位置,以使所述目标特定任务...

【专利技术属性】
技术研发人员:吴怡燃
申请(专利权)人:北京沃东天骏信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

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

1