CN111158886A - 用于优化操作***任务调度的方法、装置和智能设备 - Google Patents
用于优化操作***任务调度的方法、装置和智能设备 Download PDFInfo
- Publication number
- CN111158886A CN111158886A CN201911420853.XA CN201911420853A CN111158886A CN 111158886 A CN111158886 A CN 111158886A CN 201911420853 A CN201911420853 A CN 201911420853A CN 111158886 A CN111158886 A CN 111158886A
- Authority
- CN
- China
- Prior art keywords
- processes
- ready
- frequent
- sets
- group
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
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
本申请涉及进程管理技术领域,公开一种用于优化操作***任务调度的方法。该用于优化操作***任务调度的方法包括:根据进程的历史就绪记录获得各进程之间的关联规则,获得当前执行进程,预加载与当前执行进程具有设定关联规则的当前就绪进程。采用该用于优化操作***任务调度的方法可提高进程的执行速度。本申请还公开一种用于优化操作***任务调度的装置和智能设备。
Description
技术领域
本申请涉及操作***任务调度技术领域,例如涉及一种用于优化操作***任务调度优化的方法、装置和智能设备。
背景技术
目前,操作***都是根据优先级以及时间片轮转调度进程。当某个进程执行调度结束后,根据就绪进程队列顺序执行下一个进程。一个进程在被执行会访问进程控制块,代码块,堆栈内存等。访问流程是***内核的任务调度器先在缓存内检查该进程数据是否被缓存,如果已存在与缓存中则立刻执行,如果不存在缓存区就访问保存进程数据的内存区域。
在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:
实际中很多情况下都是访问内存而非缓存,进程的执行速度较低。
发明内容
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
本公开实施例提供了一种用于优化操作***任务调度的方法、装置和智能设备,以解决进程的执行速度较低的技术问题。
在一些实施例中,用于优化操作***任务调度的方法包括:
根据进程的历史就绪记录获得各进程之间的关联规则;
获得当前执行进程;
预加载与所述当前执行进程具有设定关联规则的当前就绪进程。
在一些实施例中,用于优化操作***任务调度的装置包括:
第一获得模块,被配置为根据进程的历史就绪记录获得各进程之间的关联规则;
第二获得模块,被配置为获得当前执行进程;
预加载模块,被配置为预加载与所述当前执行进程具有设定关联规则的当前就绪进程。
在一些实施例中,用于优化操作***任务调度的装置包括处理器和存储有程序指令的存储器,所述处理器被配置为在执行所述程序指令时,执行前述实施例提供的用于优化操作***任务调度的方法。
在一些实施例中,智能设备包括前述实施例提供的用于优化操作***任务调度的装置。
本公开实施例提供的用于优化操作***任务调度的方法、装置和智能设备,可以实现以下技术效果:
提取进程与进程之间的关联规则,在当前执行进程与当前就绪进程之间具有设定关联规则时,说明该当前就绪进程与该当前执行进程之间具有一定的联系,此时预加载该当前就绪进程,当需要执行该当前就绪进程时,无需再去内存,只需访问缓存即可获得该当前就绪进程的数据,提高了进程的执行速度。
以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
附图说明
一个或一个以上实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,并且其中:
图1是本公开实施例提供的一种用于优化操作***任务调度的方法的示意图;
图2是本公开实施例提供的一种用于计算置信度的示意图;
图3是本公开实施例提供的一种用于确定频繁子集的示意图;
图4是本公开实施例提供的一种用于确定频繁子集的示意图;
图5是本公开实施例提供的一种用于计算置信度的示意图;
图6是本公开实施例提供的一种用于优化操作***任务调度的装置的示意图;
图7是本公开实施例提供的一种用于优化操作***任务调度的装置的示意图;
图8是本公开实施例提供的一种用于优化操作***任务调度的装置的示意图。
具体实施方式
为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或一个以上实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
本公开实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
除非另有说明,术语“多个”表示两个或两个以上。
不同计算机操作***对于可执行程序划分力度及名称不同,本公开实施例中以“进程”定义操作***中独立运行、有独立内存空间、可独立调度的程序运行实体。进程在执行中包括三种基本状态:就绪状态、执行状态和阻塞状态。其中,就绪状态指当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。执行状态指当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。阻塞状态指正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。引起进程阻塞的事件可有多种,例如,等待I/O完成、申请缓冲区不能满足、等待信件(信号)等。
一个进程在运行期间,不断地从一种状态转换到另一种状态,它可以多次处于就绪状态和执行状态,也可以多次处于阻塞状态。一个进程可包括以下转换过程:
(1)就绪状态→执行状态
处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态转变成执行状态。
(2)执行状态→就绪状态
处于执行状态的进程在其执行过程中,因分配给它的一个时间片已用完或更高优先级的进程抢占而不得不让出处理机,于是进程从执行状态转变成就绪状态。
(3)执行状态→阻塞状态
正在执行的进程因等待某种事件发生而无法继续执行时,便从执行状态变成阻塞状态。
(4)阻塞状态→就绪状态
处于阻塞状态的进程,若其等待的事件已经发生,于是进程由阻塞状态转变为就绪状态。
(5)运行状态→终止状态
程序执行完毕,撤销而终止。
结合图1所示,本申请实施例公开的用于优化操作***任务调度的方法,包括:
S101、根据进程的历史就绪记录获得各进程之间的关联规则。
实际情况中操作***中多数进程是有关联性的,为了完成一项复杂的工作,不同的进程互相协作、共同处理或使用相同资源等。上述步骤中各进程之间的关联规则指的是各进程相互协作、共同处理或使用相同资源等。
每当进程的状态发生转变时,操作***更新各进程的状态。上述历史就绪记录中记录有每次更新后的全部就绪进程,每更新一次,将更新后的全部就绪进程记录为一个进程集合。历史就绪记录包括的进程集合的数量,即为操作***更新的次数。
S102、获得当前执行进程。
其中,当前执行进程的数量为一个或多个。
S103、预加载与当前执行进程具有设定关联规则的当前就绪进程。
提取进程与进程之间的关联规则,在当前执行进程与当前就绪进程之间具有设定关联规则时,说明该当前就绪进程与该当前执行进程之间具有一定的联系,此时预加载该当前就绪进程,当需要执行该当前就绪进程时,无需再去内存,只需访问缓存即可获得该当前就绪进程的数据,提高了进程的执行速度。
可选地,历史就绪记录中记录每次更新后的全部就绪进程。在此基础上,根据进程的历史就绪记录获得各进程之间的关联规则,可实施为:根据两次或多次更新后的全部就绪进程,计算在第一组进程就绪时,第二组进程就绪的置信度。其中,第一组进程中包括一个或多个进程,第二组进程中包括一个或多个进程。在本公开实施例中,置信度指的是第一组进程就绪时,第二组进程也就绪的概率。第二组进程可与第一组进程同时就绪,或者,第二组进程可在第一组进程就绪之前就绪,或,第二组进程可在第一组进程就绪之后就绪。通过上述方式计算出在第一组进程就绪时,第二组进程就绪的置信度,即可获得第一组进程和第二组进程之间的关联规则。在第一组进程就绪时,第二组进程就绪的置信度越高,那么,第二组进程与第一组进程之间的关联规则越强;反之,在第一组进程就绪时,第二组进程就绪的置信度越低,那么,第二组进程与第一组进程的关联规则越弱。
可选地,历史就绪记录中将每次更新后的全部就绪进程记为一个进程集合。再结合图2所示,根据两次或多次更新后的全部就绪进程,计算在第一组进程就绪时,第二组进程就绪的置信度,包括:
S201、在两个或多个进程集合中,确定元素最多且支持度大于或等于支持度阈值的频繁子集。
其中,频繁子集是由进程构成的集合,若一个进程集合包括频繁子集,则该进程集合支持频繁子集;若一个进程集合中不包括该频繁子集,则该进程集合不支持频繁子集。前述支持度,可以具体数量来表示,例如含有频繁子集的进程集合的数量;还可以用百分比来表示,例如含有频繁子集的进程集合在全部进程集合中的占比。
在一些应用场景中,对5个进程的就绪状态进行记录,历史就绪记录包括前9次进程就绪的情况,且用具体数量表示支持度时,支持度阈值可以是2、3或4。
对于一个由一定数量的进程构成的集合,存在一定数量或一定比例的进程集合支持该集合,若一定数量小于支持度阈值,或者,一定比例低于支持度阈值,则该集合不是频繁子集;若还存在任一集合,该集合包括的进程比前述一定数量多,且该集合的支持度大于或等于支持度阈值,则前述由一定数量的进程构成的集合不是频繁子集;若任一集合包括的进程的数量大于前述一定数量,且该其他集合支持度低于支持度阈值,则前述由一定数量的进程构成的集合是频繁子集。
S202、将频繁子集中的进程划分为第一组进程和第二组进程。
其中,频繁子集中包括的进程的数量大于或等于2,由第一组进程构成的集合和由第二组进程构成的集合互为绝对补集。第一组进程包括一个或多个进程,第二组进程模块包括一个或多个进程。例如,一个频繁子集中包括四个进程,在第一组进程包括一个进程时,第二组进程包括三个进程;在第一组进程包括两个进程时,第二组进程包括两个进程;在第一组进程包括三个进程时,第二组进程包括一个进程。
S203、计算第一组进程就绪时,第二组进程就绪的置信度。
通过上述步骤即可获得第一组进程和第二组进程之间的关联规则,且,该关联规则以第一组进程就绪时,第二组进程就绪的置信度来表示。
结合图3所示,在两个或多个进程集合中,确定元素最多且支持度大于或等于支持度阈值的频繁子集,包括:
S301、在全部含有k个进程的第一集合中,筛选出支持度大于或等于支持度阈值的一个或多个第一频繁集合;
S302、基于全部第一频繁集合,获得一个或多个包括k+1个进程的第二集合,其中,第二集合的含有k个进程的子集均为第一频繁集合;
其中,k为正整数。
在k为1时,是第一次迭代过程,在k为2时,是第二次迭代过程,依次类推,在经过k次迭代后,即可获得元素最多且支持度大于或等于支持度阈值的频繁子集。
在一些应用场景中,历史就绪记录中包括5个进程的就绪状态,并且历史就绪记录中包括9次进程的就绪信息,也即,使用记录中包括9个进程集合。历史就绪记录如表1所示。
表1各进程的历史就绪记录
进程集合序号 | 就绪进程 |
1 | {P1,P2,P3} |
2 | {P2,P4} |
3 | {P2,P5} |
4 | {P1,P2,P4} |
5 | {P1,P5} |
6 | {P2,P5} |
7 | {P1,P5} |
8 | {P1,P2,P5,P3} |
9 | {P1,P2,P5} |
在该应用场景中,以具体数量表示支持度阈值,且支持度阈值为2。在k为1时,所以第一集合以及支持度如表2所示。
表2 k=1时,第一集合及其支持度
第一集合 | 支持度 |
{P1} | 6 |
{P2} | 7 |
{P5} | 6 |
{P4} | 2 |
{P3} | 2 |
可见,上述所有第一集合均为第一频繁集合。依据上述所有第一频繁集合,获得的第二集合及其支持度如表3所示。
表3 k=1时,第二集合及其支持度
此时完成第一次迭代过程。在k=2时,进行第二次迭代。此时第一集合及其支持度如表4所示。
表4 k=2时,第一集合及其支持度
第一集合 | 支持度 |
{P1,P2} | 4 |
{P1,P5} | 4 |
{P1,P4} | 1 |
{P1,P3} | 2 |
{P2,P5} | 4 |
{P2,P4} | 2 |
{P2,P3} | 2 |
{P5,P4} | 0 |
{P5,P3} | 1 |
{P4,P3} | 0 |
支持度阈值为2,筛选出的第一频繁集合如表5所示。
表5 k=2时,第一频繁集合及其支持度
第一频繁集合 | 支持度 |
{P1,P2} | 4 |
{P1,P5} | 4 |
{P1,P3} | 2 |
{P2,P5} | 4 |
{P2,P4} | 2 |
{P2,P3} | 2 |
依据上述所有第一频繁集合,获得的第二集合及其支持度如表6所示。
表6 k=2时,第二集合及其支持度
第二集合 | 支持度 |
{P1,P2,P5} | 2 |
{P1,P2,P3} | 2 |
{P1,P5,P3} | 0 |
{P2,P5,P4} | 0 |
{P2,P5,P3} | 0 |
{P2,P4,P3} | 0 |
此时,完成第二次迭代。在k=3时,进行第三次迭代。此时第一集合及其支持度如表7所示。
表7 k=3时,第一集合及其支持度
第一集合 | 支持度 |
{P1,P2,P5} | 2 |
{P1,P2,P3} | 2 |
{P1,P5,P3} | 0 |
{P2,P5,P4} | 0 |
{P2,P5,P3} | 0 |
{P2,P4,P3} | 0 |
支持度阈值为2,筛选出的第一频繁集合及其支持度如表8所示。
表8 k=3时,第一频繁集合及其支持度
第一频繁集合 | 支持度 |
{P1,P2,P5} | 2 |
{P1,P2,P3} | 2 |
依据上述所有的第一频繁集合,获得的第二集合为空集。
此时完成第三次迭代。
结合图4所示,在两个或多个进程集合中,确定元素最多且支持度大于或等于支持度阈值的频繁子集,还包括:
S401、在全部含有k+1个进程的第二集合中,筛选出支持度大于或等于支持度阈值第二频繁集合;
S402、在第二频繁集合的数量为零时,确定第一频繁集合为频繁子集。
上述步骤给出了确定一个频繁集合为频繁子集的方式。也即,在前述迭代过程中,当无法获得第二频繁集合时,停止迭代过程,获得频繁子集。
在一些应用场景中,各进程的历史就绪记录如表1所示,支持度阈值为2,在k=3时,获得的第二集合为空集,显然此时第二频繁集合的数量为零,此时,第一频繁集合为{P1,P2,P5}和{P1,P2,P3},故,频繁子集为{P1,P2,P5}和{P1,P2,P3}。
结合图5所示,计算第一组进程就绪时,第二组进程就绪的置信度,包括:
S501、统计支持频繁子集的进程集合的数量,记为第一数量;
S502、统计支持第一组进程的进程集合的数量,记为第二数量。
其中,若一个进程集合中包括第一组进程,则该进程集合支持第一组进程。
S503、计算第一数量除以第二数量的商,获得置信度。
通过上述步骤即可获得在第一组进程就绪时,第二组进程就绪的准确的置信度,进而可准确的预加载第二组进程的数据信息,提高进程的执行速度。
在一些应用场景中,进程的历史就绪记录如表1所示,支持度阈值为2,则频繁子集为{P1,P2,P5}和{P1,P2,P3}。以频繁子集为{P1,P2,P3}为例,第一组进程和第二组进程包括以下六种方式:
方式一、第一组进程包括P1,第二组进程包括P2和P3;
方式二、第一组进程包括P2,第二组进程包括P1和P3;
方式三、第一组进程包括P3,第二组进程包括P1和P2;
方式四、第一组进程包括P1和P2,第二组进程包括P3;
方式五、第一组进程包括P1和P3,第二组进程包括P2;
方式六、第一组进程包括P2和P3,第二组进程包括P1。
在频繁子集为{P1,P2,P3}时,第一数量为2。
在通过方式一划分第一组进程和第二组进程时,第二数量为6,则置信度为:2/6=33%;
在通过方式二划分第一组进程和第二组进程时,第二数量为7,则置信度为:2/7=29%;
在通过方式三划分第一组进程和第二组进程时,第二数量为2,则置信度为:2/2=100%;
在通过方式四划分第一组进程和第二组进程时,第二数量为4,则置信度为:2/4=50%;
在通过方式五划分第一组进程和第二组进程时,第二数量为2,则置信度为:2/2=100%;
在通过方式六划分第一组进程和第二组进程时,第二数量为2,则置信度为:2/2=100%。
可选地,设定关联规则为第一组进程就绪时,第二组进程就绪的置信度大于或等于置信度阈值。在此基础上,预加载与当前执行进程具有设定关联规则的当前就绪进程,包括:在执行第一组进程,且置信度大于或等于置信度阈值时,预加载已就绪的第二组进程。
可选地,置信度阈值为50%、60%、70%或80%。
在一些应用场景中,进程的历史就绪记录如表1所示,支持度阈值为2,置信度阈值为70%,以频繁子集{P1,P2,P3}为例。第一种情况,第一组进程包括P3,第二组进程包括P1和P2,置信度为100%,在当前执行进程包括P3时,且P1和P2已就绪时,预加载P1和P2的进程数据;第二种情况,第一组进程包括P1和P3,第二组进程包括P2,置信度为100%,在当前执行进程包括P1和P3,且P2已就绪时,预加载P2的进程数据;第三种情况,第一组进程包括P2和P3,第二组进程包括P1,置信度为100%,在当前执行进程中包括P2和P3,且P1已就绪时,预加载P1的进程数据。
结合图6所示,本公开实施例提供的用于优化操作***任务调度的装置,包括第一获得模块61、第二获得模块62和预加载模块63,其中,第一获得模块61被配置为根据进程的历史就绪记录获得各进程之间的关联规则;第二获得模块62被配置为获得当前执行进程;预加载模块63被配置为预加载与当前执行进程具有设定关联规则的当前就绪进程。
可选地,历史就绪记录中记录每次更新后的全部就绪进程;进一步地,第一获得模块61被具体配置为根据两次或多次更新后的全部就绪进程,计算在第一组进程就绪时,第二组进程就绪的置信度。
可选地,历史就绪记录中将每次更新后的全部就绪进程记为一个进程集合;进一步地,结合图7所示,第一获得模块61包括确定单元71、划分单元72和计算单元73;其中,确定单元71被配置为在两个或多个进程集合中,确定元素最多且支持度大于或等于支持度阈值的频繁子集;划分单元72被配置为将频繁子集中的进程划分为第一组进程和第二组进程;计算单元73被配置为计算第一组进程就绪时,第二组进程就绪的置信度。
可选地,确定单元71被具体配置为:在全部含有k个进程的第一集合中,筛选出支持度大于或等于支持度阈值的一个或多个第一频繁集合;基于全部第一频繁集合,获得一个或多个包括k+1个进程的第二集合,其中,第二集合的含有k个进程的子集均为第一频繁集合;其中,k为正整数。
可选地,确定单元71还被配置为:在全部含有k+1个进程的第二集合中,筛选出支持度大于或等于支持度阈值第二频繁集合;在第二频繁集合的数量为零时,确定第一频繁集合为频繁子集。
可选地,计算单元73被具体配置为:统计支持频繁子集的进程集合的数量,记为第一数量;统计支持第一组进程的进程集合的数量,记为第二数量;计算第一数量除以第二数量的商,获得置信度。
可选地,设定关联规则为第一组进程就绪时,第二组进程就绪的置信度大于或等于置信度阈值;进一步地,预加载模块63被具体配置为在执行第一组进程,且置信度大于或等于置信度阈值时,预加载已就绪的第二组进程。
在一些实施例中,用于优化操作***任务调度的装置包括处理器和存储有程序指令的存储器,处理器被配置为在执行程序指令时,执行前述实施例提供的用于优化操作***任务调度的方法。
结合图8所示,本公开实施例提供的用于优化操作***任务调度的装置,包括:
处理器(processor)81和存储器(memory)82,还可以包括通信接口(Communication Interface)83和总线84。其中,处理器81、通信接口83、存储器82可以通过总线84完成相互间的通信。通信接口83可以用于信息传输。处理器81可以调用存储器82中的逻辑指令,以执行前述实施例提供的用于优化操作***任务调度的方法。
此外,上述的存储器82中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器82作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器81通过运行存储在存储器82中的软件程序、指令以及模块,从而执行功能应用以及数据处理,即实现上述方法实施例中的方法。
存储器82可包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器82可以包括高速随机存取存储器,还可以包括非易失性存储器。
本公开实施例提供了一种智能设备,包含前述实施例提供的用于优化操作***任务调度的装置。
本公开实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令设置为执行前述实施例提供的用于优化操作***任务调度的方法。
本公开实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,使计算机执行前述实施例提供的用于优化操作***任务调度的方法。
上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或一个以上指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例中方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机读取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本公开实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或一个以上用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
Claims (16)
1.一种用于优化操作***任务调度的方法,其特征在于,包括:
根据进程的历史就绪记录获得各进程之间的关联规则;
获得当前执行进程;
预加载与所述当前执行进程具有设定关联规则的当前就绪进程。
2.根据权利要求1所述的方法,其特征在于,所述历史就绪记录中记录每次更新后的全部就绪进程;
根据进程的历史就绪记录获得各进程之间的关联规则,包括:
根据两次或多次更新后的全部就绪进程,计算在第一组进程就绪时,第二组进程就绪的置信度。
3.根据权利要求2所述的方法,其特征在于,所述历史就绪记录中将每次更新后的全部就绪进程记为一个进程集合;
根据两次或多次更新后的全部就绪进程,计算在第一组进程就绪时,第二组进程就绪的置信度,包括:
在两个或多个进程集合中,确定元素最多且支持度大于或等于支持度阈值的频繁子集;
将所述频繁子集中的进程划分为所述第一组进程和所述第二组进程;
计算所述第一组进程就绪时,所述第二组进程就绪的置信度。
4.根据权利要求3所述的方法,其特征在于,在两个或多个进程集合中,确定元素最多且支持度大于或等于支持度阈值的频繁子集,包括:
在全部含有k个进程的第一集合中,筛选出支持度大于或等于支持度阈值的一个或多个第一频繁集合;
基于全部所述第一频繁集合,获得一个或多个包括k+1个进程的第二集合,其中,所述第二集合的含有k个进程的子集均为第一频繁集合;
其中,k为正整数。
5.根据权利要求4所述的方法,其特征在于,在两个或多个进程集合中,确定元素最多且支持度大于或等于支持度阈值的频繁子集,还包括:
在全部含有k+1个进程的第二集合中,筛选出支持度大于或等于支持度阈值第二频繁集合;
在所述第二频繁集合的数量为零时,确定所述第一频繁集合为所述频繁子集。
6.根据权利要求3所述的方法,其特征在于,计算所述第一组进程就绪时,所述第二组进程就绪的置信度,包括:
统计支持所述频繁子集的进程集合的数量,记为第一数量;
统计支持所述第一组进程的进程集合的数量,记为第二数量;
计算所述第一数量除以所述第二数量的商,获得所述置信度。
7.根据权利要求2至6任一项所述的方法,其特征在于,所述设定关联规则为所述第一组进程就绪时,所述第二组进程就绪的置信度大于或等于置信度阈值;
所述预加载与所述当前执行进程具有设定关联规则的当前就绪进程,包括:
在执行所述第一组进程,且所述置信度大于或等于置信度阈值时,预加载已就绪的所述第二组进程。
8.一种用于优化操作***任务调度的装置,其特征在于,包括:
第一获得模块,被配置为根据进程的历史就绪记录获得各进程之间的关联规则;
第二获得模块,被配置为获得当前执行进程;
预加载模块,被配置为预加载与所述当前执行进程具有设定关联规则的当前就绪进程。
9.根据权利要求8所述的装置,其特征在于,所述历史就绪记录中记录每次更新后的全部就绪进程;
所述第一获得模块被具体配置为根据两次或多次更新后的全部就绪进程,计算在第一组进程就绪时,第二组进程就绪的置信度。
10.根据权利要求9所述的装置,其特征在于,所述历史就绪记录中将每次更新后的全部就绪进程记为一个进程集合;
所述第一获得模块包括:
确定单元,被配置为在两个或多个进程集合中,确定元素最多且支持度大于或等于支持度阈值的频繁子集;
划分单元,被配置为将所述频繁子集中的进程划分为所述第一组进程和所述第二组进程;
计算单元,被配置为计算所述第一组进程就绪时,所述第二组进程就绪的置信度。
11.根据权利要求10所述的装置,其特征在于,所述确定单元被具体配置为:
在全部含有k个进程的第一集合中,筛选出支持度大于或等于支持度阈值的一个或多个第一频繁集合;
基于全部所述第一频繁集合,获得一个或多个包括k+1个进程的第二集合,其中,所述第二集合的含有k个进程的子集均为第一频繁集合;
其中,k为正整数。
12.根据权利要求11所述的装置,其特征在于,所述确定单元还被配置为:
在全部含有k+1个进程的第二集合中,筛选出支持度大于或等于支持度阈值第二频繁集合;
在所述第二频繁集合的数量为零时,确定所述第一频繁集合为所述频繁子集。
13.根据权利要求10所述的装置,其特征在于,所述计算单元被具体配置为:
统计支持所述频繁子集的进程集合的数量,记为第一数量;
统计支持所述第一组进程的进程集合的数量,记为第二数量;
计算所述第一数量除以所述第二数量的商,获得所述置信度。
14.根据权利要求9至13任一项所述的装置,其特征在于,所述设定关联规则为所述第一组进程就绪时,所述第二组进程就绪的置信度大于或等于置信度阈值;
所述预加载模块被具体配置为在执行所述第一组进程,且所述置信度大于或等于置信度阈值时,预加载已就绪的所述第二组进程。
15.一种用于优化操作***任务调度的装置,包括处理器和存储有程序指令的存储器,其特征在于,所述处理器被配置为在执行所述程序指令时,执行如权利要求1至7任一项所述的用于优化操作***任务调度的方法。
16.一种智能设备,其特征在于,包括权利要求8至15任一项所述的用于优化操作***任务调度的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911420853.XA CN111158886A (zh) | 2019-12-31 | 2019-12-31 | 用于优化操作***任务调度的方法、装置和智能设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911420853.XA CN111158886A (zh) | 2019-12-31 | 2019-12-31 | 用于优化操作***任务调度的方法、装置和智能设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111158886A true CN111158886A (zh) | 2020-05-15 |
Family
ID=70560518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911420853.XA Pending CN111158886A (zh) | 2019-12-31 | 2019-12-31 | 用于优化操作***任务调度的方法、装置和智能设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111158886A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000024A (zh) * | 2020-09-01 | 2020-11-27 | 青岛海尔科技有限公司 | 用于控制家电设备的方法及装置、设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996105A (zh) * | 2010-07-09 | 2011-03-30 | 中国科学技术大学苏州研究院 | 可重构计算平台上的静态软硬件任务划分与调度方法 |
CN106126577A (zh) * | 2016-06-17 | 2016-11-16 | 北京理工大学 | 一种基于数据源划分矩阵的加权关联规则挖掘方法 |
CN106650273A (zh) * | 2016-12-28 | 2017-05-10 | 东方网力科技股份有限公司 | 一种行为预测方法和装置 |
CN110209435A (zh) * | 2019-04-28 | 2019-09-06 | 北京蓦然认知科技有限公司 | 一种应用预加载方法、装置 |
-
2019
- 2019-12-31 CN CN201911420853.XA patent/CN111158886A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996105A (zh) * | 2010-07-09 | 2011-03-30 | 中国科学技术大学苏州研究院 | 可重构计算平台上的静态软硬件任务划分与调度方法 |
CN106126577A (zh) * | 2016-06-17 | 2016-11-16 | 北京理工大学 | 一种基于数据源划分矩阵的加权关联规则挖掘方法 |
CN106650273A (zh) * | 2016-12-28 | 2017-05-10 | 东方网力科技股份有限公司 | 一种行为预测方法和装置 |
CN110209435A (zh) * | 2019-04-28 | 2019-09-06 | 北京蓦然认知科技有限公司 | 一种应用预加载方法、装置 |
Non-Patent Citations (4)
Title |
---|
王德东;: "关联规则在教务管理***中的应用研究", no. 12 * |
王恒娜;赵晓静;: "基于属性覆盖的关联规则挖掘算法", no. 03 * |
董研: "基于时态约束的Apriori 改进算法的实现", vol. 34, no. 1, pages 42 - 46 * |
董研;: "基于时态约束的Apriori改进算法的实现", 自动化技术与应用, no. 01 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000024A (zh) * | 2020-09-01 | 2020-11-27 | 青岛海尔科技有限公司 | 用于控制家电设备的方法及装置、设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7937257B2 (en) | Estimating performance of application based on automatic resizing of shared memory for messaging | |
AU2012217645B2 (en) | Managing buffer overflow conditions | |
CN106569891B (zh) | 一种存储***中任务调度执行的方法和装置 | |
US11132383B2 (en) | Techniques for processing database tables using indexes | |
US8949187B1 (en) | Systems and methods for creating and managing backups based on health information | |
CN112114973B (zh) | 一种数据处理方法及装置 | |
CN109885565B (zh) | 一种数据表清理方法和装置 | |
CN111124254B (zh) | 调度存储空间回收请求的方法、电子设备和程序产品 | |
CN109359060B (zh) | 数据抽取方法、装置、计算设备及计算机存储介质 | |
CN104932933A (zh) | 一种获取自旋锁的方法及装置 | |
CN107977504B (zh) | 一种非对称堆芯燃料管理计算方法、装置及终端设备 | |
CN108304272B (zh) | 一种数据io请求的处理方法及装置 | |
EP3516515B1 (en) | Scheduling of tasks in a multiprocessor device | |
CN110609807A (zh) | 用于删除快照数据的方法、设备和计算机可读存储介质 | |
CN111176831A (zh) | 基于多线程共享内存通信的动态线程映射优化方法及装置 | |
CN108595251B (zh) | 动态图更新方法、装置、存储引擎接口和程序介质 | |
CN111158886A (zh) | 用于优化操作***任务调度的方法、装置和智能设备 | |
CN106055640A (zh) | 缓存的管理方法及*** | |
JP6378289B2 (ja) | データベースにおいてホットページを決定するための方法および装置 | |
CN115269289A (zh) | 一种慢盘检测方法、装置、电子设备及存储介质 | |
CN111158605B (zh) | 用于优化操作***磁盘存储策略的方法、装置和智能设备 | |
CN113342897A (zh) | 一种数据同步的方法及装置 | |
CN113741810B (zh) | 一种数据迁移方法及装置 | |
CN113157425B (zh) | 业务访问的处理方法、装置、设备及存储介质 | |
CN115794446B (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 |