并发任务的调度处理方法、装置、设备和介质制造方法及图纸

技术编号:24352649 阅读:35 留言:0更新日期:2020-06-03 01:54
本公开实施例公开了一种并发任务的调度处理方法、装置、设备及介质。该方法包括:接收客户端发起的任务;根据任务的业务标签类别,采用相应的任务调度策略,将任务添加到对应的任务队列中,其中,任务队列的数量为至少两种;针对每个任务队列,将任务队列中的任务调度至处理器进行处理。本公开实施例的技术方案,可以根据任务的业务标签类别区分各个任务的处理需求并采用相应的任务调度策略,通过确定各个任务在相应的任务队列中的先后处理顺序,实现对高并发任务场景的有效处理,由此可以避免出现堵塞搁置紧急任务的情况,有效提高任务调度方案的灵活性。

Scheduling methods, devices, devices and media for concurrent tasks

【技术实现步骤摘要】
并发任务的调度处理方法、装置、设备和介质
本公开实施例涉及计算机数据处理技术,尤其涉及一种并发任务的调度处理方法、装置、设备和介质。
技术介绍
现有提供各种业务服务的应用软件中,可能会存在大量任务高并发的场景。例如,在电商应用软件中,如果通过应用软件开展促销、秒杀等商业活动时,往往会在短时间内吸引大量用户参加,则用户在单位时间内发起的交易订单数量要远超过正常的交易订单量。当每个交易订单都作为一个任务来由服务器进行处理时,就会出现任务高并发的场景。对于任务高并发的场景,受限于服务商所提供的服务设备的硬件和网络处理能力的限制,是不可能同时处理接收到的所有任务。针对这一问题,通常采用的方式是串行处理,即,处理器根据任务的接收时间顺序处理各个任务;也可以是并行处理,即,根据任务的接收时间,将任务分发给不同的处理器来处理。但是,上述任务调度的方式仅仅根据接收时间来进行处理,导致有时候可能比较紧急的任务被堵塞搁置了,因此这种任务调度方案的灵活性比较差。
技术实现思路
本公开实施例提供一种并发任务的调度处理方法、装置、设备和介质,以实现对高并发任务场景的有效处理,兼顾各种任务处理需求。第一方面,本公开实施例提供了一种并发任务的调度处理方法,可包括:接收客户端发起的任务;根据任务的业务标签类别,采用相应的任务调度策略,将任务添加到对应的任务队列中,其中,任务队列的数量为至少两种;针对每个任务队列,将任务队列中的任务调度至处理器进行处理。第二方面,本公开实施例还提供了一种并发任务的调度处理装置,可包括:任务接收模块,用于接收客户端发起的任务;任务添加模块,用于根据任务的业务标签类别,采用相应的任务调度策略,将任务添加到对应的任务队列中,其中,任务队列的数量为至少两种;任务处理模块,用于针对每个任务队列,将任务队列中的任务调度至处理器进行处理。第三方面,本公开实施例还提供了一种电子设备,可以包括:一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本公开任意实施例所提供的并发任务的调度处理方法。第四方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本公开任意实施例所提供的并发任务的调度处理方法。本公开实施例的技术方案,通过接收到的客户端发起的任务的业务标签类别区分各个任务的处理需求,该处理需求可以是处理优先级,进而采用相应的任务调度策略,将任务添加到与业务标签类别对应的任务队列中,这可以满足不同任务的紧急情况需求;针对每个任务队列,可以将任务队列中的任务调度至相应的处理器进行处理。上述技术方案,可以根据任务的业务标签类别区分各个任务的处理需求并采用相应的任务调度策略,通过确定各个任务在相应的任务队列中的先后处理顺序,实现对高并发任务场景的有效处理,由此可以避免出现堵塞搁置紧急任务的情况,有效提高任务调度方案的灵活性。附图说明结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。图1是本公开实施例一中的一种并发任务的调度处理方法的流程图;图2a是本公开实施例一中的一种并发任务的调度处理方法中的向公平队列中添加任务的示意图;图2b是本公开实施例一中的一种并发任务的调度处理方法中的向非公平队列中添加任务的示意图;图3是本公开实施例二中的一种并发任务的调度处理装置的结构框图;图4是本公开实施例三中的一种电子设备的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。实施例一图1是本公开实施例一中提供的一种并发任务的调度处理方法的流程图。本实施例可适用于对并发任务的调度处理的情况,尤其适用于兼顾各种任务处理需求的高并发任务的调度处理的情况。该方法可以由本公开实施例提供的并发任务的调度处理装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在各种用户终端设备或服务器上。参见图1,本公开实施例的方法具体包括如下步骤:S110、接收客户端发起的任务。其中,客户端中的应用程序通常会提供各种业务服务,比如新闻浏览、视频播放、图片加载、随机抽奖、商品秒杀、限时促销等等,当用户在应用程序中触发任何一项或是多项业务服务时,配置有该应用程序的客户端可以将该业务服务作为一个任务,并将该任务发送到相应的服务器,因此,服务器可以接收到客户端发起的任务,并后续根据该任务进行相应处理。S120、根据任务的业务标签类别,采用相应的任务调度策略,将任务添加到对应的任务队列中,其中,任务队列的数量为至少两种。其中,在接收到客户端发起的任务的服务器中,可以设置有至少两种任务队列,每种任务队列中可以添加有一个或多个任务。具体的,每个任务都可以对应有各自的业务标签类别,该业务标签类别可以用于区分各个任务的处理需求,该处理需求可以是处理优先级,这样一来,同一个应用程序中的多个任务也可以根据业务标签类别来区分各个任务的处理优先级。示例性的,该任务标签类别可以是任务的具体内容,比如新闻浏览、视频播放、图片加载、随机抽奖、商品秒杀或是限时促销;可以是任务的具体类型,比如,时间不敏感业务或是时间敏感业务。实际上,根据任务的具体内容也可以间接呈现任务的具体类型,比如,如果任务标签类型为限时促销或是商品秒本文档来自技高网...

【技术保护点】
1.一种并发任务的调度处理方法,其特征在于,包括:/n接收客户端发起的任务;/n根据所述任务的业务标签类别,采用相应的任务调度策略,将所述任务添加到对应的任务队列中,其中,所述任务队列的数量为至少两种;/n针对每个任务队列,将任务队列中的所述任务调度至处理器进行处理。/n

【技术特征摘要】
1.一种并发任务的调度处理方法,其特征在于,包括:
接收客户端发起的任务;
根据所述任务的业务标签类别,采用相应的任务调度策略,将所述任务添加到对应的任务队列中,其中,所述任务队列的数量为至少两种;
针对每个任务队列,将任务队列中的所述任务调度至处理器进行处理。


2.根据权利要求1所述的方法,其特征在于,如果至少一个业务标签类别为时间不敏感业务,则所述根据所述任务的业务标签类别,采用相应的任务调度策略,将所述任务添加到对应的任务队列中,包括:
如果时间不敏感任务队列的队头任务被调度至处理器进行处理,则将时间不敏感业务的任务,填补至所述时间不敏感任务队列的队头。


3.根据权利要求1所述的方法,其特征在于,如果至少一个业务标签类别为时间敏感业务,则所述根据所述任务的业务标签类别,采用相应的任务调度策略,将所述任务添加到对应的任务队列中,包括:
将时间敏感业务的任务,添加至时间敏感任务队列的队尾。


4.根据权利要求2或3所述的方法,其特征在于,所述针对每个任务队列,将任务队列中的所述任务调度至处理器进行处理,包括:
针对每个任务队列,在处理器空闲时,从所述任务队列的队头提取所述任务进行处理。


5.根据权利要求4所述的方法,其特征在于,时间敏感业务包括电商秒杀活动的订单任务;时间不敏感业务包括基于概率产生结果的任务。


6.根据权利要求1所述的方法,其特征在于,在所述根据所述任务的业务标签类别,采用相应的任务调度策略,将所述任务添加到对应的任务队列中之前...

【专利技术属性】
技术研发人员:贾立
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:北京;11

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

1