CN106648856A - 任务调度方法和装置 - Google Patents

任务调度方法和装置 Download PDF

Info

Publication number
CN106648856A
CN106648856A CN201611051011.8A CN201611051011A CN106648856A CN 106648856 A CN106648856 A CN 106648856A CN 201611051011 A CN201611051011 A CN 201611051011A CN 106648856 A CN106648856 A CN 106648856A
Authority
CN
China
Prior art keywords
task
foreground
scheduled
scheduling
background
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.)
Pending
Application number
CN201611051011.8A
Other languages
English (en)
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.)
Oneplus Technology Shenzhen Co Ltd
Original Assignee
Oneplus Technology Shenzhen Co Ltd
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 Oneplus Technology Shenzhen Co Ltd filed Critical Oneplus Technology Shenzhen Co Ltd
Priority to CN201611051011.8A priority Critical patent/CN106648856A/zh
Publication of CN106648856A publication Critical patent/CN106648856A/zh
Pending legal-status Critical Current

Links

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种任务调度方法和装置。其中该方法包括:进行任务调度时,检查待调度的任务中是否存在前台任务;如果存在前台任务,按照前台任务占优的方式对待调度的任务进行调度。本发明通过前台任务占优的方式对待调度的任务进行调度,从而对前台任务和后台任务区分处理,提高了前台任务占用的CPU时间,提升了用户的体验度。

Description

任务调度方法和装置
技术领域
本发明涉及操作系统技术领域,具体而言,涉及一种任务调度方法和装置。
背景技术
任务调度是操作系统的重要组成部分,操作系统将CPU的时间划分为多个时间片,按照预先设置的调度策略,将这些时间片分配给各个任务。例如Linux系统中的CFS(Completely Fair Scheduler)调度策略,这种调度策略试图按照对CPU时间的“最大需求(gravest need)”运行任务,以保证各个任务可以获得比较公平的CPU占用。
然而,在实际调度过程中,由于操作系统所执行的后台任务比较多,每个后台任务会占用CPU一部分时间片,导致前台任务得到的时间片较少,造成前台任务执行不及时,使用户感觉操作系统的响应慢(即卡顿),影响用户的体验。
发明内容
有鉴于此,本发明的目的在于提供一种任务调度方法和装置,以提升前台任务的响应速度和改善用户的体验度。
为解决上述技术问题,本发明采用的第一技术方案是:一种任务调度方法,包括:
进行任务调度时,检查待调度的任务中是否存在前台任务;
如果存在前台任务,按照前台任务占优的方式对所述待调度的任务进行调度。
进一步,所述方法还包括:当新生成的任务为响应用户操作的任务或对显示界面进行操作的任务时,设置新生成的任务的任务状态为前台标识和/或将新生成的任务添加至前台调度队列中;相应地,所述检查待调度的任务中是否存在前台任务包括:判断待调度的任务中是否存在任务状态为前台标识的任务,如果存在,确定所述待调度的任务中存在前台任务;或者,判断所述前台调度队列是否为空,如果否,确定待调度的任务中存在前台任务。
进一步,所述按照前台任务占优的方式对所述待调度的任务进行调度包括:以时间上优先调度所述前台任务的方式对所述待调度的任务进行调度,或者,以前台任务的CPU时间片分配比例大于后台任务的CPU时间片分配比例的方式,对所述待调度的任务进行调度。
进一步,所述以前台任务的CPU时间片分配比例大于后台任务的CPU时间片分配比例的方式,对所述待调度的任务进行调度包括:按照固定比例或者动态弹性比例,设置所述前台任务的CPU时间片分配比例大于后台任务的CPU时间片分配比例;以设置后的所述CPU时间片分配比例,为所述前台任务和所述后台任务分配CPU时间片。
进一步,所述方法还包括:在任务执行过程中,如果当前任务由前台任务切换为后台任务,将所述当前任务修改为后台任务;如果所述当前任务由后台任务切换为前台任务,将所述当前任务修改为前台任务。
进一步,所述方法还包括:在前台任务的各任务之间或者后台任务的各任务之间进行调度时,按照操作系统预先配置的调度策略进行任务调度。
本发明采用的第二技术方案是:一种任务调度装置,该装置包括:
检查模块,用于进行任务调度时检查待调度的任务中是否存在前台任务;
任务调度模块,用于当所述检查模块的检查结果中存在前台任务时,按照前台任务占优的方式对所述待调度的任务进行调度。
进一步,所述装置还包括:前台任务处理模块,用于当新生成的任务为响应用户操作的任务或对显示界面进行操作的任务时,设置新生成的任务的任务状态为前台标识和/或将新生成的任务添加至前台调度队列中;所述检查模块还用于判断待调度的任务中是否存在任务状态为前台标识的任务,如果存在,确定所述待调度的任务中存在前台任务;或者,所述检查模块还用于判断所述前台调度队列是否为空,如果否,确定待调度的任务中存在前台任务。
进一步,所述任务调度模块还用于以时间上优先调度所述前台任务的方式对所述待调度的任务进行调度,或者,所述任务调度模块还用于以前台任务的CPU时间片分配比例大于后台任务的CPU时间片分配比例的方式,对所述待调度的任务进行调度。
进一步,所述任务调度模块包括:分配比例设置单元,用于按照固定比例或者动态弹性比例,设置所述前台任务的CPU时间片分配比例大于后台任务的CPU时间片分配比例;分配单元,用于以设置后的所述CPU时间片分配比例,为所述前台任务和所述后台任务分配CPU时间片。
进一步,任务切换模块,用于在任务执行过程中,如果当前任务由前台任务切换为后台任务,将所述当前任务修改为后台任务;如果所述当前任务由后台任务切换为前台任务,将所述当前任务修改为前台任务。
进一步,所述任务调度模块还用于在前台任务的各任务之间或者后台任务的各任务之间进行调度时,按照所述装置对应的操作系统预先配置的调度策略进行任务调度。
本发明公开的实施例提供的技术方案可以包括如下有益效果:
通过检查待调度的任务中是否存在前台任务,可以按照前台任务占优的方式对待调度的任务进行调度,从而对前台任务和后台任务区分处理,以前台任务占优的调度方式提升了前台任务的响应速度,进而提高了用户的体验度。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种任务调度方法的流程示意图;
图2为本发明实施例提供的任务调度方法的另一种流程示意图;
图3为本发明实施例提供的任务调度方法的另一种流程示意图;
图4为本发明实施例提供的一种任务调度装置的结构示意图;
图5为本发明实施例提供的任务调度装置的另一种结构示意图;
图6为本发明实施例提供的任务调度装置的另一种结构示意图;
图7为本发明实施例提供的任务调度装置的另一种结构示意图;
图8为本发明实施例提供的任务调度装置的另一种结构示意图;
图9为本发明实施例提供的一种任务调度设备。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在通知信息访问方法及通知信息访问装置的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
下面结合附图,对本发明的具体实施方式作详细说明。
实施例1
本发明实施例1提供了一种任务调度方法,该任务调度方法可以应用于设备的操作系统中,该设备可以是移动终端,例如手机、电脑或其它智能终端;也可以是网络侧的设备,例如网络服务器。上述操作系统可以是UNIX、Linux、Mac OS、Windows、iOS、Android、WP和Chrome OS等。参见图1所示的任务调度方法的流程示意图,该方法包括如下步骤:
步骤S11,进行任务调度时,检查待调度的任务中是否存在前台任务。其中,该前台任务通常可以包括响应用户操作的任务和对显示界面进行操作的任务等。
步骤S12,如果存在前台任务,按照前台任务占优的方式对待调度的任务进行调度。其中,该前台任务占优的方式可以是时间上优先调度前台任务,也可以是在分配CPU时间片时,在分配比例上设置前台任务的比例大于后台任务的比例。
上述方法通过在检查出待调度的任务中存在前台任务时,按照前台任务占优的方式对待调度的任务进行调度,实现了调度过程中前台任务和后台任务的区分处理,这种以前台任务占优的调度方式提升了前台任务的响应速度,进而提高了用户的体验度。
当待调度的任务中不存在前台任务时,可以按照当前操作系统预先配置的调度策略对后台任务进行调度,该预先配置的调度策略与当前的操作系统相关联,不同的操作系统可以设置不同的调度策略,例如:Linux系统可以采用CFS组调度策略或者RT组调度策略,该策略的具体调度方式可以参考相关技术实现,这里不再赘述。
为了在任务调度过程中,简化检查待调度的任务中是否存在前台任务的操作,本实施例在有新任务生成时,直接根据新任务执行的具体操作判断该新任务是否为前台任务,如果是前台任务,则为该前台任务设置一个前台标识,该前台标识可以是设置于前台任务指定字段位置处的一串特定的字符串,也可以是设置于前台任务的任务名称下方的下划线等标识,具体前台标识的形式可以灵活选取,本实施例不对其进行限定。
进一步地,除了为前台任务设置前台标识的方式之外,还可以将前台任务和后台任务分别对应至不同的任务池或者任务队列中,在进行调度时,通过检查前台任务对应的任务池或任务队列是否为空,确定当前待调度的任务中是否存在前台任务。
基于上述设置前台标识或者采用任务池/任务队列的方式,上述方法还包括:当新生成的任务为响应用户操作的任务或对显示界面进行操作的任务时,将该新生成的任务的任务状态设置为前台标识,或者将该新生成的任务添加至前台调度队列中。相应地,上述步骤S11中的检查待调度的任务中是否存在前台任务的步骤,具体包括:判断待调度的任务中是否存在任务状态为前台标识的任务,如果存在,确定待调度的任务中存在前台任务;或者,判断前台调度队列是否为空,如果否,确定待调度的任务中存在前台任务。
当新生成的任务不属于上述响应用户操作的任务或对显示界面进行操作的任务时,则确认该新生成的任务属于后台任务,可以将后台任务的任务状态设置为后台标识,或者将该后台任务添加至后台调度队列中。
其中,上述任务状态可以是为任务增添的一个字段,该字段中的信息即为任务的前/后台标识;另外,该任务状态也可以是任务名称或某个字段的前、后、上或下处的一个特殊标记,该特殊标记可以是线段形式的,也可以是*或**,或##等形式的。
通过上述前台任务的处理方式,在任务调度时,能够很简单快速地识别出待调度的任务中是否有前台任务,进而提升了任务调度的速度,更进一步地保障了前台任务响应的及时性。
实施例2
本发明实施例2提供了一种任务调度方法,参见图2所示的流程示意图,该方法包括如下步骤:
步骤S21,判断新生成的任务是否为前台任务,如果是,执行步骤S22;如果否,执行步骤S23;
本实施例中,如果该新生成的任务属于响应用户操作的任务或对显示界面进行操作的任务,则确定该新生成的任务是前台任务;否则,确定该新生成的任务是后台任务。
步骤S22,设置该新生成的任务的任务状态为前台标识。
步骤S23,设置该新生成的任务的任务状态为后台标识。
具体的前台标识及后台标识可以参考实施例1中的形式灵活选取,本实施例不对其进行限定。
步骤S24,进行任务调度时,判断待调度的任务中是否存在任务状态为前台标识的任务,如果是,执行步骤S25;如果否,执行步骤S26;
当待调度的任务中存在任务状态为前台标识的任务时,说明待调度的任务中存在前台任务,否则,待调度的任务中不存在前台任务。
步骤S25,以时间上优先调度前台任务的方式对待调度的任务进行调度。
具体地,以时间上优先调度前台任务的方式对待调度的任务进行调度如下:先调度前台任务,在前台任务全部执行完成后再进行后台任务的调度。例如,当以时间片分配的方式进行时,可以将全部CPU时间片分配给前台任务(各个前台任务之间的调度,按照操作系统预先配置的调度策略进行),在全部前台任务执行完成后才会将CPU时间片分配给后台任务。
步骤S26,按照当前操作系统预先配置的调度策略对后台任务进行调度。
上述步骤S25中,当待调度的任务中存在前台任务时,本实施例以时间上优先调度前台任务的方式对待调度的任务进行调度;可以理解的是,当待调度的任务中存在前台任务时,也可以采用以前台任务的CPU时间片分配比例大于后台任务的CPU时间片分配比例的方式,对待调度的任务进行调度,本实施例对此不进行限定。
本实施例提供的上述任务调度方法,通过设置前台标识和后台标识的方式区分前台任务和后台任务,在有前台任务时,先调度前台任务,前台任务均执行完之后,再调度后台任务,保障了前台任务的绝对优势,进而保障了前台任务的响应速度,提升了用户的体验度。
实施例3
参见图3所示的任务调度方法的另一种流程示意图,该方法中采用任务调度队列的方式区分前台任务及后台任务,该方法包括如下步骤:
步骤S31,判断新生成的任务是否为前台任务;如果是,执行步骤S32,否则,执行步骤S33;
步骤S32,将该新生成的任务添加至前台调度队列中。
步骤S33,将该新生成的任务添加至后台调度队列中。
步骤S34,进行任务调度时,判断前台调度队列是否为空,如果是,执行步骤S35;如果否,执行步骤S36;
当前台调度队列为空的时候,则待调度的任务中不存在前台任务,待调度的任务均为后台任务;当前台调度队列不为空时,则待调度的任务中存在前台任务。
步骤S35,按照当前操作系统预先配置的调度策略对后台任务进行调度。
步骤S36,以前台任务的CPU时间片分配比例大于后台任务的CPU时间片分配比例的方式,对待调度的任务进行调度。
具体地,步骤S36可以按照固定比例或者动态弹性比例,设置前台任务的CPU时间片分配比例大于后台任务的CPU时间片分配比例;以设置后的CPU时间片分配比例,为前台任务和后台任务分配CPU时间片。
其中,固定比例在实际实现时,可以根据操作系统进行确定,以当前的CPU时间片总数为100为例,优选地前台任务的CPU时间片分配为60至90之间;后台任务的CPU时间片分配为10至40之间。
按照动态弹性比例设置的方式,时间片的分配可以根据前台任务与后台任务的数量、任务性质和预计执行时间等因素弹性变动。从而可以在保证前台任务执行速度的同时维持系统整体的流畅性。
上述步骤S36中,当待调度的任务中存在前台任务时,本实施例以前台任务的CPU时间片分配比例大于后台任务的CPU时间片分配比例的方式,对待调度的任务进行调度;可以理解的是,当待调度的任务中存在前台任务时,也可以采用上述实施例2中步骤S25中的以时间上优先调度前台任务的方式对待调度的任务进行调度,本实施例对此不进行限定。
本实施例提供的上述任务调度方法,通过调度队列的方式区分前台任务和后台任务,在有前台任务时,先调度前台任务,以前台任务的CPU时间片分配比例大于后台任务的CPU时间片分配比例的方式,保障了前台任务的得以及时响应,且兼顾了后台任务的执行速度,一定程度上提升了用户的体验度。
上述实施例2以设置任务状态为前台标识或后台标识的方式区分前后台任务,上述实施例3以将任务添加至前台调度队列或后台调度队列的方式区分前后台任务,在具体实现时,二者也可以结合,即先为任务设置任务状态的标识,再将设置标识后的任务添加至对应的调度队列中,只要便于区分出前后台任务即可,本发明实施例对此不进行限制。
通过上述实施例1至3提供的任务调度方法,可以灵活地区分前台任务和后台任务,并针对前台任务和后台任务进行多种形式的区别处理,实现前台任务占优的调度方式,提升了前台任务的响应速度,进而提高了用户的体验度。
考虑到在操作系统中,任务状态有时不固定,可能会存在前台与后台之间的状态切换,基于此,上述实施例提供的任务调度方法还可以包括:在任务执行过程中,如果当前任务由前台任务切换为后台任务,将该当前任务修改为后台任务;如果当前任务由后台任务切换为前台任务,将该当前任务修改为前台任务。
具体地,可以通过改变任务状态的标识或者任务对应的调度队列实现。以修改任务调度队列为例,当后台任务切换到前台时,将任务添加到前台任务调度队列中,同时将其从后台任务调度队列删除。当前台任务切换到后台时,将该任务添加到后台任务调度队列中,同时将该任务从前台任务调度队列中删除。
通过上述方式,能够及时进行任务的前台/后台状态切换,可以使与用户实际体验关系最紧密的当前任务的响应更为及时。例如,当用户使用基于Android操作系统的智能手机时,从桌面状态进入微信应用程序,随后从微信应用程序切换回桌面,微信应用程序的任务的状态也随之改变,即被设置的标识或者存在的调度队列随之改变。因此,在进入微信应用程序时,系统对该程序的任务优先执行。
可以理解,上述对前台任务和后台任务的区别处理,并不会影响前台任务的各任务之间或者后台任务的各任务的调度策略,因此上述任务在进行调度时,可以按照当前操作系统预先配置的调度策略进行。
实施例4
图4是本发明一种任务调度装置的结构示意图,该任务调度装置包括检查模块410和任务调度模块420,其中,各模块的功能如下:
检查模块410,用于进行任务调度时检查待调度的任务中是否存在前台任务;
任务调度模块420,用于当检查模块410的检查结果中存在前台任务时,按照前台任务占优的方式对待调度的任务进行调度。
上述装置通过在检查处待调度的任务中存在前台任务时,按照前台任务占优的方式对待调度的任务进行调度,实现了调度过程中前台任务和后台任务的区分处理,这种以前台任务占优的调度方式提升了前台任务的响应速度,进而提高了用户的体验度。
参见图5所示的本发明所提供的任务调度装置的另一种结构示意图,在上述图4的基础上还包括:前台任务处理模块510,用于当新生成的任务为响应用户操作的任务或对显示界面进行操作的任务时,设置新生成的任务的任务状态为前台标识和/或将新生成的任务添加至前台调度队列中。
相应地,上述检查模块410还用于判断待调度的任务中是否存在任务状态为前台标识的任务,如果存在,确定待调度的任务中存在前台任务;或者,检查模块还用于判断前台调度队列是否为空,如果否,确定待调度的任务中存在前台任务。
通过上述前台任务处理模块的处理方式,在任务调度时,能够很简单快速地识别出待调度的任务中是否有前台任务,进而提升了任务调度的速度,更进一步地保障了前台任务响应的及时性。
进一步,上述任务调度模块420还用于以时间上优先调度前台任务的方式对待调度的任务进行调度,或者,还用于以前台任务的CPU时间片分配比例大于后台任务的CPU时间片分配比例的方式,对待调度的任务进行调度。
进一步,如图6所示的任务调度装置的另一种结构示意图,其中上述任务调度模块420具体包括:分配比例设置单元610,用于按照固定比例或者动态弹性比例,设置前台任务的CPU时间片分配比例大于后台任务的CPU时间片分配比例;分配单元620,用于以设置后的CPU时间片分配比例,为前台任务和后台任务分配CPU时间片。
上述任务调度模块420还用于在前台任务的各任务之间或者后台任务的各任务之间进行调度时,按照上述装置对应的操作系统预先配置的调度策略进行任务调度。
优选地,参见图7所示的本发明所提供的任务调度装置的第四种结构示意图,在上述图4的基础上还包括:任务切换模块710,用于当执行过程中,当前任务由前台任务切换为后台任务时,将当前任务修改为后台任务;或者,当前任务由后台任务切换为前台任务时,将当前任务修改为前台任务。
上述图4至图7给出的任务调度装置的结构示意图,仅示意出了任务调度装置的几种模块划分方式,基于上述任务状态的标识方式和调度队列的方式区分前后台任务,本实施例还提供图8所示的任务调度装置的第五种结构示意图,该任务调度装置包括以下模块:
任务调度策略决策模块810包括:前台任务调度策略子模块812和后台任务调度策略子模块814,其中,前台任务调度策略子模块812用于对新生成的前台任务进行注册;后台任务调度策略子模块814用于对新生成的后台任务进行注册。前台任务调度策略子模块812和后台任务调度策略子模块814可以分别对应一个任务池,注册的任务将存入其对应的任务池中。
任务调度模块820,用于对前台任务调度策略子模块812和后台任务调度策略子模块814注册的任务进行调度,为了及时响应前台任务,本实施例中的任务调度模块820以前台任务占优的方式对上述注册的任务进行调度。
上述调度装置将新生成的任务分别注册至两个组中,即前台任务调度策略子模块812和后台任务调度策略子模块814中,对于前台任务调度策略子模块812或后台任务调度策略子模块814内部的任务,可以按照预先配置的调度策略进行组内任务的调度。例如,在Linux操作系统中,可以使用CFS组调度策略进行任务调度。
在调度过程中,当后台任务切换到前台时,将该任务注册到前台任务调度策略子模块,同时将该任务在后台任务调度策略子模块卸载;当前台任务切换到后台时,将该任务注册到后台任务调度策略子模块,同时将该任务在前台任务调度策略子模块卸载。
上述任务调度模块820中,前台任务和后台任务占用的CPU时间片有几种方式:1)只有前台任务执行完,才执行后台任务调度策略子模块调度后台任务;2)所有前台任务和所有后台任务占用的CPU时间片是固定比例;3)所有前台任务和所有后台任务占有的CPU时间片比例是一个弹性的窗口。只是后两种中,前台任务占有的CPU时间片比例大于后台任务占有的CPU时间片比例。
上述图8所示调度装置中,由于前台任务和后台任务在不同的任务调度策略子模块中,前台任务所占用的CPU时间就不会受到后台很多任务的影响,进而保障了前台任务享有更多的CPU运行时间,因此提升了前台任务的响应速度,提高了用户的体验度。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,方法实施例部分未提及之处,可参考前述方法实施例中相应内容。
参见图9,本发明实施例还提供一种任务调度设备920,包括:处理器90,存储器91,总线92和通信接口93,上述处理器90、通信接口93和存储器91通过总线92连接;处理器90用于执行存储器91中存储的可执行模块,例如计算机程序。
其中,存储器91可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口93(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线92可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器91用于存储程序,处理器90在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的过程定义的装置所执行的方法可以应用于处理器90中,或者由处理器90实现。
处理器90可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器90中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器90可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器91,处理器90读取存储器91中的信息,结合其硬件完成上述方法的步骤。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,该模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、系统和装置,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (12)

1.一种任务调度方法,其特征在于,包括:
进行任务调度时,检查待调度的任务中是否存在前台任务;
如果存在前台任务,按照前台任务占优的方式对所述待调度的任务进行调度。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:当新生成的任务为响应用户操作的任务或对显示界面进行操作的任务时,设置新生成的任务的任务状态为前台标识和/或将新生成的任务添加至前台调度队列中;
所述检查待调度的任务中是否存在前台任务包括:
判断待调度的任务中是否存在任务状态为前台标识的任务,如果存在,确定所述待调度的任务中存在前台任务;或者,
判断所述前台调度队列是否为空,如果否,确定待调度的任务中存在前台任务。
3.根据权利要求1所述的方法,其特征在于,所述按照前台任务占优的方式对所述待调度的任务进行调度包括:
以时间上优先调度所述前台任务的方式对所述待调度的任务进行调度;或者,
以前台任务的CPU时间片分配比例大于后台任务的CPU时间片分配比例的方式,对所述待调度的任务进行调度。
4.根据权利要求3所述的方法,其特征在于,所述以前台任务的CPU时间片分配比例大于后台任务的CPU时间片分配比例的方式,对所述待调度的任务进行调度包括:
按照固定比例或者动态弹性比例,设置所述前台任务的CPU时间片分配比例大于后台任务的CPU时间片分配比例;
以设置后的所述CPU时间片分配比例,为所述前台任务和所述后台任务分配CPU时间片。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
在任务执行过程中,如果当前任务由前台任务切换为后台任务,将所述当前任务修改为后台任务;如果所述当前任务由后台任务切换为前台任务,将所述当前任务修改为前台任务。
6.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
在前台任务的各任务之间或者后台任务的各任务之间进行调度时,按照操作系统预先配置的调度策略进行任务调度。
7.一种任务调度装置,其特征在于,该装置包括:
检查模块,用于进行任务调度时检查待调度的任务中是否存在前台任务;
任务调度模块,用于当所述检查模块的检查结果中存在前台任务时,按照前台任务占优的方式对所述待调度的任务进行调度。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:前台任务处理模块,用于当新生成的任务为响应用户操作的任务或对显示界面进行操作的任务时,设置新生成的任务的任务状态为前台标识和/或将新生成的任务添加至前台调度队列中;
所述检查模块还用于判断待调度的任务中是否存在任务状态为前台标识的任务,如果存在,确定所述待调度的任务中存在前台任务;或者,所述检查模块还用于判断所述前台调度队列是否为空,如果否,确定待调度的任务中存在前台任务。
9.根据权利要求7所述的装置,其特征在于,所述任务调度模块还用于以时间上优先调度所述前台任务的方式对所述待调度的任务进行调度;或者,还用于以前台任务的CPU时间片分配比例大于后台任务的CPU时间片分配比例的方式,对所述待调度的任务进行调度。
10.根据权利要求9所述的装置,其特征在于,所述任务调度模块包括:
分配比例设置单元,用于按照固定比例或者动态弹性比例,设置所述前台任务的CPU时间片分配比例大于后台任务的CPU时间片分配比例;
分配单元,用于以设置后的所述CPU时间片分配比例,为所述前台任务和所述后台任务分配CPU时间片。
11.根据权利要求7-10中任一项所述的装置,其特征在于,所述装置还包括:
任务切换模块,用于在任务执行过程中,如果当前任务由前台任务切换为后台任务,将所述当前任务修改为后台任务;如果所述当前任务由后台任务切换为前台任务,将所述当前任务修改为前台任务。
12.根据权利要求7-10中任一项所述的装置,其特征在于,所述任务调度模块还用于在前台任务的各任务之间或者后台任务的各任务之间进行调度时,按照所述装置对应的操作系统预先配置的调度策略进行任务调度。
CN201611051011.8A 2016-11-24 2016-11-24 任务调度方法和装置 Pending CN106648856A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611051011.8A CN106648856A (zh) 2016-11-24 2016-11-24 任务调度方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611051011.8A CN106648856A (zh) 2016-11-24 2016-11-24 任务调度方法和装置

Publications (1)

Publication Number Publication Date
CN106648856A true CN106648856A (zh) 2017-05-10

Family

ID=58812554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611051011.8A Pending CN106648856A (zh) 2016-11-24 2016-11-24 任务调度方法和装置

Country Status (1)

Country Link
CN (1) CN106648856A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107147591A (zh) * 2017-06-23 2017-09-08 青岛海信移动通信技术股份有限公司 终端的数据处理方法及终端
CN107733016A (zh) * 2017-10-20 2018-02-23 维沃移动通信有限公司 一种移动终端充电控制方法及移动终端
CN108304252A (zh) * 2017-05-22 2018-07-20 中兴通讯股份有限公司 一种任务调度方法及装置
CN109947548A (zh) * 2019-03-15 2019-06-28 美智光电科技有限公司 分配时间片的方法和装置及控制任务执行的方法和装置
CN111045824A (zh) * 2019-12-12 2020-04-21 Oppo广东移动通信有限公司 应用控制方法、装置、电子设备以及计算机可读介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090132754A1 (en) * 2007-11-20 2009-05-21 Seagate Technology Llc Data storage device with histogram of idle time and scheduling of background and foreground jobs
WO2015142231A1 (en) * 2014-03-19 2015-09-24 Telefonaktiebolaget L M Ericsson (Publ) Capacity management for multi-tenant provisioning
CN105320561A (zh) * 2015-11-09 2016-02-10 深圳市万普拉斯科技有限公司 任务管理方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090132754A1 (en) * 2007-11-20 2009-05-21 Seagate Technology Llc Data storage device with histogram of idle time and scheduling of background and foreground jobs
WO2015142231A1 (en) * 2014-03-19 2015-09-24 Telefonaktiebolaget L M Ericsson (Publ) Capacity management for multi-tenant provisioning
CN105320561A (zh) * 2015-11-09 2016-02-10 深圳市万普拉斯科技有限公司 任务管理方法和系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
1444484: ""操作系统05"", 《百度文库》 *
孟庆昌: "《操作系统教程—Linux实例分析》", 31 July 2004 *
舒志兵主编: "《信息、控制与系统技术丛书 高级运动控制系统及其应用研究》", 30 September 2015 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108304252A (zh) * 2017-05-22 2018-07-20 中兴通讯股份有限公司 一种任务调度方法及装置
CN108304252B (zh) * 2017-05-22 2021-10-15 中兴通讯股份有限公司 一种任务调度方法及装置
CN107147591A (zh) * 2017-06-23 2017-09-08 青岛海信移动通信技术股份有限公司 终端的数据处理方法及终端
CN107733016A (zh) * 2017-10-20 2018-02-23 维沃移动通信有限公司 一种移动终端充电控制方法及移动终端
CN107733016B (zh) * 2017-10-20 2020-07-14 维沃移动通信有限公司 一种移动终端充电控制方法及移动终端
CN109947548A (zh) * 2019-03-15 2019-06-28 美智光电科技有限公司 分配时间片的方法和装置及控制任务执行的方法和装置
CN109947548B (zh) * 2019-03-15 2020-11-20 美智光电科技股份有限公司 分配时间片的方法和装置及控制任务执行的方法和装置
CN111045824A (zh) * 2019-12-12 2020-04-21 Oppo广东移动通信有限公司 应用控制方法、装置、电子设备以及计算机可读介质

Similar Documents

Publication Publication Date Title
CN106648856A (zh) 任务调度方法和装置
Plenert Focusing material requirements planning (MRP) towards performance
CN107234616B (zh) 多机器人控制方法及装置
CN104176448B (zh) 吊挂系统的控制方法和应用该控制方法的吊挂系统
CN109298936A (zh) 一种资源调度方法及装置
CN108958241A (zh) 机器人路径的控制方法、装置、服务器和存储介质
CN108345970A (zh) 物流仓储仿真方法、平台和系统
CN104035818A (zh) 多任务调度的方法及装置
CN102890643A (zh) 基于应用效果即时反馈的显卡虚拟化下的资源调度系统
CN105320571A (zh) 一种进程调度方法
CN108984267A (zh) 工业服务器的微内核架构控制系统及工业服务器
CN104030164B (zh) 岸桥作业控制方法和系统
CN116486314B (zh) 施工隧道通行控制方法、装置及系统
CN112111613B (zh) 皮料的自动化裁剪方法、装置、系统及可读存储介质
Upasani et al. A problem reduction approach for scheduling semiconductor wafer fabrication facilities
CN107566532A (zh) 基于云平台的衣片图像处理方法、系统、控制终端及云平台
CN110421974A (zh) 打标方法及装置、激光打标机
CN109840725A (zh) 货物拣选方法、装置、电子装置及计算机可读存储介质
CN107766144A (zh) 一种任务调度方法、装置及系统
CN109447428A (zh) 整车生产线序排产的确定方法、装置及智能终端
CN109241042A (zh) 数据处理方法、装置以及电子设备
CN115951974A (zh) Gpu虚拟机的管理方法、系统、设备和介质
CN107102966A (zh) 多核处理器芯片、中断控制方法及控制器
Zhou et al. Optimal cyclic single crane scheduling for two parallel train oilcan repairing lines
CN107635023A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170510

RJ01 Rejection of invention patent application after publication