业务调度方法及装置制造方法及图纸

技术编号:19828488 阅读:15 留言:0更新日期:2018-12-19 16:58
本申请实施例提供一种业务调度方法和装置,该方法应用于装置中,该装置包括处理器,处理器包括M个处理器核,M为大于2的整数,方法包括:当处理器进入低负载模式时,计算运行中的多个业务请求所需的处理器核的数量N,N为大于等于1的整数,并且N

【技术实现步骤摘要】
业务调度方法及装置
本申请涉及网络
,尤其涉及一种业务调度方法及装置。
技术介绍
在对多个网络业务进行处理时,为了提高业务执行的并发度并提升网络资源的利用率,可以使用负载均衡策略来将业务请求分发给不同的业务处理线程来进行处理。即将多个业务请求分摊到多个操作单元上来共同完成对多个业务请求处理的工作任务。在业务请求较少的情况下,部分业务处理线程空闲,会主动睡眠来释放处理器资源,以节省资源。当新的业务请求需要空闲的业务处理线程进行处理时,首先需要唤醒业务处理线程。唤醒业务处理线程的过程需要向CPU系统进行申请,然后CPU系统对申请进行允许后,业务处理线程运行起来后才可以对新的业务请求进行处理。在业务请求负载较小的情况下,根据负载均衡策略,新的业务请求优先由空闲的业务处理线程来处理。因此,在业务请求负载较小的情况下较多的业务请求由休眠的业务处理线程来执行。然而,重新唤醒业务处理线程的过程需要消耗较长的时间,从而增加了整体业务处理的时延,降低了业务请求处理的处理效率。
技术实现思路
本申请公开了一种业务调度方法及装置,可以提高业务请求的处理效率,并节省处理器资源。第一方面,本申请实施例提供一种业务调度方法,所述方法应用于业务调度装置中,所述业务调度装置包括处理器,所述处理器包括M个处理器核,M为大于2的整数,所述方法包括:当所述处理器进入低负载模式时,计算运行中的多个业务请求所需的处理器核的数量N,所述N为大于等于1的整数,并且N<M;在N个所述处理器核上分发所述多个业务请求。上述的业务调度方法中,在检测到处理器进入低负载模式的情况下,可以根据处理器中所运行的业务请求的数量来减少用于处理业务请求的处理器核的数量,从而减少在低负载模式下,处理器核的线程会频繁的执行睡眠、被唤醒和再睡眠的循环的情况,从而可以减少业务请求被处理所消耗的时间,可以减少整体业务处理的时延,提高业务请求处理的处理效率。其中,业务调度装置判断处理器进入低负载模式的具体方式可以是:获取所述运行中的多个业务请求的并发度,以及所述运行中的多个业务请求的负载;当所述并发度低于预设的并发度阈值,并且所述运行中的多个业务请求的负载低于预设的负载阈值时,确定所述处理器进入所述低负载模式。可选的,业务调度装置统计运行中的多个业务请求的并发度,具体可以是统计在预设周期T1内需要处理的业务请求的数量。可选的,业务调度装置可以根据CPU系统处理压力集中时间段、系统中用户平均活跃时间等信息,通过数学方法推测出某一时刻CPU系统中运行中的业务请求的并发度。其中,运行中的多个业务请求的负载可以是在预设周期内,运行中的多个业务请求处理完成的时间占该预设周期的时长比例。可以根据实际业务场景中对精确度和效率的要求来确定预设周期T1的取值。可选的,获取运行中的多个业务请求的负载可以包含两种方式:方式一,可以包含步骤:步骤一:业务调度装置可以统计运行中的多个业务请求的实际执行时间。步骤二:业务调度装置可以计算处理器中这运行中的多个业务请求的负载。方式二:直接统计运行中的多个业务请求中每个业务请求的负载,即每个业务请求的运行时间占该预设周期的时长比例。之后将多个业务请求中各个业务请求的负载叠加即得到这运行中的多个业务请求的负载。在一种可能的实施例中,所述运行中的多个业务请求所需的处理器核的数量N与所述并发度正相关,与所述运行中的多个业务请求的负载正相关。在一种可能的实施例中,所述处理器核上分发所述多个业务请求的方式为轮询模式。由于这N个处理器核中每个处理器核需要预留时间对业务请求队列进行轮询。可以根据需要进行轮询的时间间隔设置处理器核可以承担的负载P。该进行轮询的时间间隔越小,表明处理器核轮询业务请求队列的频率越大,处理器核可以承担的负载P越小。N个处理器核使用轮询模式处理多个业务请求可以保证业务请求到达处理器之后可以迅速被处理,可以降低业务请求等待的时延,提升业务请求的处理效率。可选的,在确定运行中的多个业务请求所需的处理器核的数量N之后,可以通过自适应算法来实现将原先在M个处理器核上分发业务请求调整为在N个处理器核上分发业务请求。通过自适应算法,可以实现无需手动设置分发业务请求的处理器核的范围,可以自动按需分配处理器核资源。在一种可能的实施例中,在所述M个处理器核中,除所述N个处理器核之外的(N-M)个处理器核中处理所述多个业务请求的线程处于睡眠状态。在无需这除选取的N个处理器核之外的(N-M)个处理器核处理该业务请求时,(N-M)个处理器核处理该业务请求的线程可以进入睡眠状态释放处理器核资源,从而可以降低处理器核的损耗,节省处理器资源。可选的,在业务调度装置检测到运行中的多个业务请求的并发度高于预设的并发度阈值,或者运行中的业务请求的负载高于预设的负载阈值时,表明对于这N个处理器核来说,业务请求的负载较高,可以重新进入高负载模式,即在M个处理器核上分发多个业务请求。在检测到处理器进入高负载模式的情况下,可以根据处理器中所运行的业务请求的数量来增加用于处理业务请求的处理器核的数量,从而减少在高负载模式下,N个处理器核的线程无法及时处理运行的业务请求的情况,从而可以减少业务请求被处理所消耗的时间,可以减少整体业务处理的时延,提高业务请求处理的处理效率。可选的,在检测到运行中的多个业务请求的并发度高于预设的并发度阈值,或者运行中的业务请求的负载高于预设的负载阈值时,可以重新计算运行中的多个业务请求所需的处理器核的数量L,L可以是大于N且小于等于M的整数。可选的,该过程中业务调度装置可以选择继续使用上述低负载模式下的N个处理器核来进行业务请求处理,同时可以唤醒(L-N)个处理器核与上述N个处理器核一起来进行业务请求处理。第二方面,本申请提供一种业务调度方法,所述方法应用于业务调度装置中,所述业务调度装置包括处理器,所述处理器包括M个处理器核,M为大于2的整数,所述方法包括:当所述处理器进入无业务请求处理状态时,将所述M个处理器核中处理业务请求的线程设定为睡眠状态。当处理器中没有业务请求需要处理时,M个处理器核的业务处理线程可以进入睡眠状态,等待有业务处理请求需要处理时重新唤醒为工作状态,可以避免对处理器资源无效占用,节省处理器资源。具体的,当在预设时间周期T1内,检测到运行中的多个业务请求的并发度低于一定阈值时,表明处理器处于无业务请求处理状态。可选的,在处理器接收到业务请求需要进行处理时,可以唤醒处理器核处理业务请求的线程来进行业务请求处理。该用来确定处理器进入无业务请求处理状态的第一阈值可以是根据CPU系统需求确定。第三方面,本申请提供一种业务调度装置,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行第一方面或者第一方面任一种可能实现方式所描述的方法。第四方面,本申请提供一种业务调度装置,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行第二方面或者第二方面任一种可能实现方式所描述的方法。第五方面,本申请提供一种业务调度装置,该业务调度装置包括用于执行第一方面或第一方面任一个可能的实施例所提供方法的模块或单元。第六方面,本申请提供一种业务调度装置,该业务调度装置包括用于执行第二方面本文档来自技高网...

【技术保护点】
1.一种业务调度方法,其特征在于,所述方法应用于装置中,所述装置包括处理器,所述处理器包括M个处理器核,M为大于2的整数,所述方法包括:当所述处理器进入低负载模式时,计算运行中的多个业务请求所需的处理器核的数量N,所述N为大于等于1的整数,并且N

【技术特征摘要】
1.一种业务调度方法,其特征在于,所述方法应用于装置中,所述装置包括处理器,所述处理器包括M个处理器核,M为大于2的整数,所述方法包括:当所述处理器进入低负载模式时,计算运行中的多个业务请求所需的处理器核的数量N,所述N为大于等于1的整数,并且N<M;在N个所述处理器核上分发多个业务请求。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取所述运行中的多个业务请求的并发度,以及所述运行中的多个业务请求的负载;当所述并发度低于预设的并发度阈值,并且所述运行中的多个业务请求的负载低于预设的负载阈值时,确定所述处理器进入所述低负载模式。3.根据权利要求2所述的方法,其特征在于,所述运行中的多个业务请求所需的处理器核的数量N与所述并发度正相关,与所述运行中的多个业务请求的负载正相关。4.根据权利要求1至3任一项所述的方法,其特征在于,在N个所述处理器核上处理所述多个业务请求的方式为轮询模式。5.根据权利要求1至4任一项所述的方法,其特征在于,在所述M个处理器核中,除所述N个处理器核之外的(N-M)个处理器核中处理所述多个业务请求的线程处于睡眠状态。6.一种业务调度方法,其特征在于,所述方法应用于装置中,所述装置包括处理器,所述处理器包括M个处理器核,M为大于2的整数,所述方法包括:当所述处理器进入无业务请求处理状态时,将所述M个处理器核中处理业务请求的线程设定为睡眠状态。7.一种业务调度装置,其特征在于,所述业务调度装置包括处理器,所述处理器包括M个处理器核,M为大于2的整数,所述业务调度装置还包括计算单元和分发单元,其中:所述计算单元,用于当所述处理器进入低负载模式时,计...

【专利技术属性】
技术研发人员:陈贞
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1