时间片分配方法、装置、存储介质和计算机设备制造方法及图纸

技术编号:22783586 阅读:18 留言:0更新日期:2019-12-11 04:08
本申请涉及一种时间片分配方法、装置、计算机可读存储介质和计算机设备,所述方法包括:获取待分配时间片的待运行任务;确定待运行任务所对应的任务优先级;根据任务优先级,将时间片持续分配至待运行任务中的高优先级任务;在持续分配的时间片内运行高优先级任务。本申请提供的方案相比于现有技术中采取的工程调度的方式,直接从内核时间片的角度保证了高优先级任务的服务质量,大大提升了高优先级任务被调度的实时性。

Time slice allocation method, device, storage medium and computer equipment

The present application relates to a time slice allocation method, device, computer readable storage medium and computer equipment, the method includes: obtaining the task to be run of the time slice to be allocated; determining the task priority corresponding to the task to be run; continuously assigning the time slice to the high priority task in the task to be run according to the task priority; running in the continuously allocated time slice High priority tasks. Compared with the engineering scheduling method adopted in the prior art, the scheme provided in the application guarantees the service quality of high priority tasks directly from the perspective of kernel time slice, and greatly improves the real-time scheduling of high priority tasks.

【技术实现步骤摘要】
时间片分配方法、装置、存储介质和计算机设备
本申请涉及计算机
,特别是涉及一种时间片分配方法、装置、计算机可读存储介质和计算机设备。
技术介绍
为了提高程序的执行效率,系统核心可以基于公平的策略调度每个任务的时间片,使每个任务都能平等运行。在实际业务中,通常是多任务同时处理,为了保证业务质量,其中有的任务需要被优先满足。目前,对于多任务同时处理的情况,传统的做法是从技术工程的角度出发,通过资源调度的方式来保证需要优先满足的任务的服务质量。然而,工程调度的这种方式是基于监控等数据的收集反馈,对需要优先满足的任务而言,调度的时间已经对该任务造成了影响,实时性较低。
技术实现思路
基于此,有必要针对现有的利用工程调度来优先满足部分任务的方式存在实时性较低的技术问题,提供一种时间片分配方法、装置、计算机可读存储介质和计算机设备。一种时间片分配方法,包括:获取待分配时间片的待运行任务;确定所述待运行任务所对应的任务优先级;根据任务优先级,将时间片持续分配至所述待运行任务中的高优先级任务;在持续分配的所述时间片内运行所述高优先级任务。一种时间片分配装置,所述装置包括:任务获取模块,用于获取待分配时间片的待运行任务;优先级确定模块,用于确定所述待运行任务所对应的任务优先级;时间片分配模块,用于根据任务优先级,将时间片持续分配至所述待运行任务中的高优先级任务;任务运行模块,用于在持续分配的所述时间片内运行所述高优先级任务。一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述时间片分配方法的步骤。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述时间片分配方法的步骤。上述时间片分配方法、装置、计算机可读存储介质和计算机设备,在时间片的分配逻辑中,引入任务优先级的概念,在获取到需要待分配时间片的待运行任务时,根据待运行任务的任务优先级,将时间片持续分配至待运行任务中的高优先级任务,打破了时间片公平分配的原则,使得高优先级任务能够被优先满足,从而能够在持续分配的时间片内运行高优先级任务。相比于现有技术中采取的工程调度的方式,直接从内核时间片的角度保证了高优先级任务的服务质量,大大提升了高优先级任务被调度的实时性。附图说明图1为一个实施例中时间片分配方法的应用环境图;图2为一个实施例中时间片分配方法的流程示意图;图3为一个具体的应用场景中内核调度程序分配时间片的示意图;图4为另一个具体的应用场景中内核调度程序分配时间片的示意图;图5为又一个具体的应用场景中内核调度程序分配时间片的示意图;图6为再一个具体的应用场景中内核调度程序分配时间片的示意图;图7为一个实施例中在在线任务与离线任务之间分配时间片的示意图;图8为一个实施例中在计算机设备上实现时间片分配方法的流程示意图;图9为一个具体的实施例中时间片分配方法的流程示意图;图10为一个实施例中时间片分配装置的结构框图;图11为一个实施例中计算机设备的结构框图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。在对本申请方法实施例进行介绍说明之前,首先对本申请中涉及的相关名词进行介绍说明。时间片:计算机设备的CPU(CentralProcessingUnit,中央处理器)分配给各个任务的运行时间。也就是,将CPU的运行时间分成许多份时间段,每个任务被分配一个时间段,称作它的时间片,即该任务允许运行的时间,使各个任务从表面上看是同时进行的。通常,在Linux操作系统的计算机设备上,内核调度算法所采用的CPU调度策略是将时间片在各个任务中平均分配,也就是轮流为每个任务依次分配时间片,如果在当前时间片结束时某一任务还在运行,则当前时间片的下一个时间片将被分配至另一个任务,如果任务在当前时间片结束前阻塞或结束,则CPU当即在任务间进行切换,从而不会造成CPU资源浪费。任务:是能够到达某一目的的一系列计算机指令,一个任务既可以是一个进程,也可以是一个线程。通常,一个任务对应一系列计算机操作,比如输入操作、下载操作、编解码操作等等,进程或线程通过执行任务中的计算机操作来完成一项任务。图1为一个实施例中时间片分配方法的应用环境图。参照图1,该时间片分配方法由计算机设备110执行。计算机设备可以是终端,终端具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。计算机设备也可以是服务器,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。计算机设备所采用的操作系统可以是Linux操作系统。需要说明的是,计算机设备中的操作系统内核调度算法通过执行本申请所提供的时间片分配方法来实现。计算机设备可以获取待分配时间片的待运行任务;确定待运行任务所对应的任务优先级;根据任务优先级,将时间片持续分配至待运行任务中的高优先级任务;在持续分配的时间片内运行高优先级任务。如图2所示,在一个实施例中,提供了一种时间片分配方法。本实施例主要以该方法应用于上述图1中的计算机设备110来举例说明。参照图2,该时间片分配方法具体包括如下步骤:S202,获取待分配时间片的待运行任务。其中,待运行任务,是指被触发后还未执行的任务。计算机设备需要将CPU分时段分配给待运行任务,以在分配的时间片内通过CPU执行待运行任务。每一时间片的时长可根据需要设定,比如通常可以设置在5ms-800ms。由于CPU的运行时间片是按时间顺序依次分配的,一个CPU在一个时刻只能执行一个任务,若当前时间片还未结束且某个任务正在运行,则当多个任务在当前时间片内被触发时,计算机设备会获取到多个待运行任务。比如,当前时间片内正在运行下载任务,而此时用户触发了键盘输入事件和鼠标点击事件,那么键盘输入事件、鼠标点击事件即为待运行任务。或者,若当前时间片内没有任务运行,也就是CPU没有被分配至任何任务,则当多个任务被触发时,计算机设备会获取到多个待运行任务。比如,在当前时间片内用户同时触发了定时任务与删除任务,那么,定时任务与删除任务均为待运行任务。S204,确定待运行任务所对应的任务优先级。其中,任务优先级是为不同类型的任务所设置的任务等级。在一些实施例中,任务的任务优先级越高,该任务就会被CPU优先调度执行。并且,任务的任务优先级越高,会根据任务运行所需要的时长将CPU时间片优先分配至该任务。在一个实施例中,计算机设备可以在获取到多个待运行任务后,按照不同任务的任务优先级,将相同任务优先级的待运行任务构成同一任务集合,任务集合中的任务被CPU调度执行的概率相同本文档来自技高网...

【技术保护点】
1.一种时间片分配方法,包括:/n获取待分配时间片的待运行任务;/n确定所述待运行任务所对应的任务优先级;/n根据任务优先级,将时间片持续分配至所述待运行任务中的高优先级任务;/n在持续分配的所述时间片内运行所述高优先级任务。/n

【技术特征摘要】
1.一种时间片分配方法,包括:
获取待分配时间片的待运行任务;
确定所述待运行任务所对应的任务优先级;
根据任务优先级,将时间片持续分配至所述待运行任务中的高优先级任务;
在持续分配的所述时间片内运行所述高优先级任务。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述待运行任务的任务类型;
根据所述任务类型确定所述待运行任务所对应的任务优先级。


3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述待运行任务中剩余的任务添加至任务队列;
当停止为所述高优先级任务分配时间片后,将时间片分配至所述任务队列中的待运行任务。


4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检查当前是否有任务正在运行;
若是,则获取当前任务的任务优先级;
在当前任务的任务优先级高于所述待运行任务所对应的任务优先级时,则
将时间片继续分配至所述当前任务,并在分配的时间片内维持运行所述当前任务。


5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
将所述待运行任务添加至任务队列;
当停止为所述当前任务分配时间片后,将时间片分配至所述任务队列中的待运行任务。


6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在当前任务的任务优先级低于所述待运行任务所对应的任务优先级时,则
在当前时间片内运行所述当前任务,并将在所述当前时间片之后的时间片持续分配至所述待运行任务,在持续分配的所述时间片内运行所述待运行任务。


7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
缩短用于运行低优先级任务的时间片的时长;
在缩短后的时间片内运行低优先级任务。


8.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在当前任务的任务优先级与所述待运行任务对应的任务优先级一致时,则
将时间片在所述当前任务与所述待运...

【专利技术属性】
技术研发人员:查冲
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1