CN111857995A - 进程调度方法和装置、存储介质及电子装置 - Google Patents
进程调度方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN111857995A CN111857995A CN202010615373.5A CN202010615373A CN111857995A CN 111857995 A CN111857995 A CN 111857995A CN 202010615373 A CN202010615373 A CN 202010615373A CN 111857995 A CN111857995 A CN 111857995A
- Authority
- CN
- China
- Prior art keywords
- processes
- target
- queue
- association
- ready
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 410
- 230000008569 process Effects 0.000 title claims abstract description 362
- 230000015654 memory Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 238000012098 association analyses Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 5
- 235000013405 beer Nutrition 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 235000019504 cigarettes Nutrition 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005065 mining Methods 0.000 description 3
- 238000004886 process control Methods 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 235000003642 hunger Nutrition 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000037351 starvation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/524—Deadlock detection or avoidance
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种进程调度方法和装置、存储介质及电子装置。其中,该方法包括:获取一组进程N个进程,确定N个进程的M个关联度规则,其中,M个关联度规则用于表示N个进程中至少两个进程之间的关联程度,N和M为自然数;根据N个进程、M个关联度规则确定N个进程访问目标硬件资源的目标就绪进程队列;按照目标就绪进程队列所指示的队列顺序调度N个进程访问目标硬件资源。采用上述技术方案,解决了相关技术中,由于没有对进程调度进行优化,存在CPU执行效率低的问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种进程调度方法和装置、存储介质及电子装置。
背景技术
目前,一个进程在运行期间,可能会出现不断地从一种状态转换到另一种状态,如一个进程可以多次处于就绪状态和执行状态,也可以多次处于阻塞状态。
在实际情况的操作系统中,多数进程都会访问相同的硬件IO资源,但是很多资源是独占式的,并不能同时访问,如果之前的进程没有释放对应的资源,则另外一个进程无法访问访问该资源,这两个进程访问该资源是互斥的。上述方式中,由于没有对进程调度进行优化,会造成独占式硬件IO被同时访问造成的CPU资源浪费,导致CPU执行效率低。
因此,针对相关技术中,由于没有对进程调度进行优化,存在CPU执行效率低的问题。
发明内容
本发明实施例提供了一种进程调度方法和装置、存储介质及电子装置,以至少解决相关技术中,由于没有对进程调度进行优化,存在CPU执行效率低的技术问题。
根据本发明实施例的一个方面,提供了一种进程调度方法,包括:获取N个进程,确定上述N个进程的M个关联度规则,其中,上述M个关联度规则用于表示上述N个进程中至少两个进程之间的关联程度,上述N和上述M为自然数;根据上述N个进程、上述M个关联度规则确定上述N个进程访问目标硬件资源的目标就绪进程队列;按照上述目标就绪进程队列所指示的队列顺序调度上述N个进程访问上述目标硬件资源。
根据本发明实施例的另一方面,还提供了一种进程调度装置,包括:获取单元,用于获取N个进程,确定上述N个进程的M个关联度规则,其中,上述M个关联度规则用于表示上述N个进程之间关联程度,上述N和上述M为自然数;第一确定单元,用于根据上述N个进程、上述M个关联度规则确定上述N个进程访问目标硬件资源的目标就绪进程队列;调度单元,用于按照上述目标就绪进程队列所指示的队列顺序调度上述N个进程访问上述目标硬件资源。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述进程调度方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的进程调度方法。
在本发明实施例中,首先,获取N个进程,然后确定该N个进程中用于表示至少两个进程之间的关联程度的M个关联度规则,然后,根据该N个进程、M个关联度规则确定N个进程访问目标硬件资源的目标就绪进程队列,最后按照目标就绪进程队列所指示的队列顺序来调度上述N个进程访问上述目标硬件资源,从而实现了按照目标就绪进程队列所指示的队列顺序来调度上述N个进程访问上述目标硬件资源的目的,进而解决了相关技术中,由于没有对进程调度进行优化,存在CPU执行效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种进程调度方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的进程调度方法的流程示意图;
图3是根据本发明实施例的一种可选的进程状态的示意图;
图4是根据本发明实施例的另一种可选的进程调度方法的流程示意图;
图5是根据本发明实施例的一种可选的进程调度装置的模块示意图;
图6是根据本发明实施例的另一种可选的进程调度装置的结构示意图;
图7是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种进程调度方法。可选地,上述进程调度方法可以但不限于应用于如图1所示的应用环境中。如图1所示,终端设备102获取N个进程,确定上述N个进程的M个关联度规则,其中,上述M个关联度规则用于表示上述N个进程中至少两个进程之间的关联程度,上述N和上述M为自然数,并将该N个进程通过网络发送给服务器104。服务器104接收到该N个进程之后,根据上述N个进程、上述M个关联度规则确定上述N个进程访问目标硬件资源的目标就绪进程队列,并将该N个进程通过网络发送给终端设备102,终端设备102在接收到目标就绪进程队列之后,按照上述目标就绪进程队列所指示的队列顺序调度上述N个进程访问上述目标硬件资源。以上仅为一种示例,本申请实施例在此不作限定。
可选地,在本实施例中,上述终端设备可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile InternetDevices,移动互联网设备)、PAD、台式电脑等。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。上述只是一种示例,本实施例对此不做任何限定。
可选地,在本实施例中,作为一种可选的实施方式,该方法可以由服务器执行,也可以由终端设备执行,或者由服务器和终端设备共同执行,本实施例中,以由终端设备(例如,上述终端设备102)执行为例进行说明。如图2所示,上述进程调度方法的流程可以包括步骤:
步骤S202,获取N个进程,确定上述N个进程的M个关联度规则,其中,上述M个关联度规则用于表示上述N个进程中至少两个进程之间的关联程度;
其中,获取到的上述N个进程可以理解为获取计算机操作系统全部的进程。
步骤S204,根据上述N个进程、上述M个关联度规则确定上述N个进程访问目标硬件资源的目标就绪进程队列;
步骤S206,按照上述目标就绪进程队列所指示的队列顺序调度上述N个进程访问上述目标硬件资源。
可选地,上述进程调度方法可以但不限于操作系统中各个任务访问硬件IO资源的场景中。
需要说明的是,一个进程包括进程控制块(PCB)、程序代码、堆栈等。进程控制块(PCB)包括以下数据结构进程描述信息(pid),进程控制信息(包括进程当前状态,进程优先级,程序开始地址,各种计时信息,通信信息),资源信息(占用管理信息,交换区相关信息,I/O设备等相关的数据,文件系统相关指针),现场保护信息(寄存器,PC,程序状态字PSW,栈指针)。把使用相同IO资源的进程调度开,等待前面的进程把资源释放之后再调度执行相关联的进程,使得硬件资源和CPU效率达到最优化。
其中,获取到的上述N个进程可以为计算机操作系统中全部的进程。
需要说明的是,不同计算机操作系统对于可执行程序划分力度及名称不同,本文以“进程”定义操作系统中独立运行,有独立内存空间,可独立调度的程序运行实体。进程执行中包括以下三种基本状态:
就绪(Ready)状态:当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。
执行(Running)状态:当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。
阻塞(Blocked)状态:正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。引起进程阻塞的事件可有多种,例如,等待I/O完成、申请缓冲区不能满足、等待信件(信号)等。
如图3所示,为进程转换的示意图,一个进程在运行期间,不断地从一种状态转换到另一种状态,它可以多次处于就绪状态和执行状态,也可以多次处于阻塞状态。
通过本实施例,首先,获取N个进程,然后确定该N个进程中用于表示至少两个进程之间的关联程度的M个关联度规则,然后,根据该N个进程、M个关联度规则确定N个进程访问目标硬件资源的目标就绪进程队列,最后按照目标就绪进程队列所指示的队列顺序来调度上述N个进程访问上述目标硬件资源,从而实现了按照目标就绪进程队列所指示的队列顺序来调度上述N个进程访问上述目标硬件资源的目的,进而解决了相关技术中,由于没有对进程调度进行优化,存在CPU执行效率低的技术问题。
可选地,在本实施例中,上述根据上述N个进程、上述M个关联度规则确定上述N个进程访问目标硬件资源的目标就绪进程队列,包括:根据上述N个进程确定一组项集,其中,上述一组项集中的每一个项集包括一个或多个项,每个上述项与上述N个进程中的一个进程对应;将上述一组项集中支持度超过第一预设阈值的项集确定为一组频繁项集,其中,上述一组频繁项集中的每一个频繁项集至少包括两个上述项;根据关联分析算法确定上述一组频繁项集中支持度大于第二预设阈值、且置信度大于第三预设阈值对应的上述M个关联度规则,其中,上述一组频繁项集中的每个频繁项集对应于上述M个关联度规则中的一个或多个关联度规则,上述M个关联度规则中的每一个关联度规则至少包括两个上述项;根据上述M个关联度规则确定上述N个进程访问上述目标硬件资源的上述目标就绪进程队列。
可选地,可以通过关联规则挖掘算法Apriori来实现上述过程,Apriori算法的基本思想是:首先找出所有的频繁项集,这些项集出现的频繁性至少和预定义的最小支持度一样。然后由频繁项集产生强关联规则(如关联度规则),这些规则必须满足最小支持度和最小可信度。然后使用频繁项集产生期望的规则,产生只包含集合的项的所有规则,其中每一条规则的右部只有一项,这里采用的是中规则的定义。一旦这些规则被生成,那么只有那些大于用户给定的最小可信度的规则才被留下来。为了生成所有频繁项集,使用了递归的方法。
以下是相关概念的描述:
关联规则:事务之间存在的隐藏的关系,比如经典的案例啤酒和尿布的的故事,大数据分析发现男性在买尿布的时候会买几瓶啤酒。举例如下:尿布=>啤酒[support=2%;confidence=70%]。这个就是关联规则的表示方法,其中支持度(support)和置信度(confidence)是两个衡量这个规则是否有效的度量标准。
支持度(support):support(A=>B)=P(A∪B),表示A和B同时出现的概率。在关联规则举例中意味着所有事务的2%显示同时买了尿布和啤酒。
置信度(confidence):confidence(A=>B)=support(A∪B)/support(A),表示A和B同时出现的概率占A出现概率的比值。例如,上述的例子中置信度为70%,意味着所有买尿布的顾客,70%的顾客都买了啤酒。
关联规则:满足最小支持度(如上述第二预设阈值)和最小置信度(如上述第三预设阈值)的关联关系。
项集:项集就是项的集合,例如:{尿布,啤酒,香烟},这是一个3项集,项集的出现频度是包含项集的事务数,把它记作支持度计数。
频繁项集:支持度满足预定义的最小支持阈值(如上述第一预设阈值)的项集,可以简单理解为事务集中经常一起出现的项集。频繁项集挖掘是关联规则、相关性分析、因果关系、序列项集、局部周期性、情节片段等许多重要数据挖掘任务的基础。
可选地,本实施例提供了一种关联度规则挖掘的步骤,具体如下上述:
需要说明的是,发现关联规则是指找出支持度大于等于minsup并且置信度大于等于minconf的所有规则,其中minsup和minconf是对应的支持度阈值和置信度阈值。
假设Y是频繁项集,关联规则可以这样提取:将项集Y划分成两个非空的子集X和Y-X,使得X->Y-X满足置信度阈值(这里的规则必然已经满足支持度阈值,因为它们是由频繁项集产生的)。
例如,Y={香烟,啤酒,尿布}是频繁项集,可以由Y产生6个候选关联规则:{香烟,啤酒}->{尿布},{香烟,尿布}->{啤酒},{啤酒,尿布}->{香烟},{香烟}->{啤酒,尿布},{啤酒}->{香烟,尿布},{尿布}->{香烟,啤酒}。6个候选关联规则中满足置信度阈值的关联规则,就是我们最终需要的结果。
可选地,本实施例中,上述根据上述N个进程、上述M个关联度规则确定上述N个进程访问目标硬件资源的目标就绪进程队列,包括:在上述N个进程中存在满足上述M个关联度规则的目标进程的情况下,将上述目标进程的队列顺序调整至上述目标就绪进程队列的最后一位,并更新上述目标就绪进程队列。
可选地,如果N个进程中存在满足M个关联度规则的条件的目标进程时,可以将该目标进程的队列顺序进行调整,如调整至上述目标就绪进程队列的最后一位,并更新上述目标就绪进程队列。
可选地,在本实施例中,上述按照上述目标就绪进程队列所指示的队列顺序调度上述N个进程访问上述目标硬件资源,包括:在上述目标进程的队列顺序处于上述目标就绪进程队列的最后一位的情况下,使上述目标进程最后访问上述目标硬件资源。
可选地,在将目标进程的队列顺序调整至上述目标就绪进程队列的最后一位的情况下,使上述目标进程最后访问上述目标硬件资源。
可选地,在本实施例中,在上述将上述目标进程的队列顺序调整至上述目标就绪进程队列的最后一位之后,上述方法还包括:在上述目标进程的队列顺序被调整至上述目标就绪进程队列的最后一位的次数超过第四预设阈值的情况下,提高上述目标进程的优先级,使上述目标进程的队列顺序处于上述目标就绪进程队列的第一位,并更新上述目标就绪进程队列。
可选地,如果目标进程被连续调整至目标就绪进程队列的最后一位的次数达到第四预设阈值(如2次),可以提高目标进程的优先级,然后使目标进程的队列顺序处于目标就绪进程队列的第一位,并更新上述目标就绪进程队列。
可选地,在本实施例中,上述在上述使上述目标进程的队列顺序处于上述目标就绪进程队列的第一位的情况下,上述方法还包括:判断上述目标硬件资源是否被释放;在上述目标硬件资源被释放的情况下,允许上述目标进程按照上述目标就绪进程队列所指示的队列顺序访问上述目标硬件资源。
可选地,如果目标进程被的队列顺序在目标就绪进程队列的第一位的情况下,需要判断目标硬件资源是否被释放,如果目标硬件资源已经被释放,由于目标进程的队列顺序处于上述目标就绪进程队列的第一位,因此,可以使目标进程优先访问上述目标硬件资源。
可选地,在本实施例中,在上述根据上述N个进程、上述M个关联度规则确定上述N个进程访问目标硬件资源的目标就绪进程队列之前,上述方法还包括:根据上述N个进程的优先级和时间片轮转信息确定上述N个进程的访问上述目标硬件资源的初始就绪进程队列;上述根据上述N个进程、上述M个关联度规则确定上述N个进程访问目标硬件资源的目标就绪进程队列,包括:根据上述N个进程、上述M个关联度规则将上述N个进程访问目标硬件资源的上述初始就绪进程队列更新为上述目标就绪进程队列。
可选地,可以根据N个进程的优先级和时间片轮转信息确定上述N个进程的访问上述目标硬件资源的初始就绪进程队列,以及根据上述N个进程、上述M个关联度规则将上述N个进程访问目标硬件资源的上述初始就绪进程队列更新为上述目标就绪进程队列。
下面结合可选示例对人脸检测方法的流程进行说明,该方法可以包括以下步骤:
需要说明的是,目前操作系统进程调度都是根据优先级以及时间片轮转。当某个进程执行调度结束后,根据就绪进程队列顺序执行下一个进程。实际中对于进程访问的互斥硬件IO资源没有考虑,导致很多情况下都是同时访问IO资源,导致后来者访问失败或等待比较长的时间,影响CPU执行效率。
为了解决上述问题,如图4所示,本申请实施例中通过动态采集同时进入“就绪”的进程,以此为基础基于Apriori算法计算出进程间强关联规则,对于符合强关联规则的进程,预先调整到就绪队列的最后,避免IO资源访问冲突,提高CPU效率;为了避免符合强关联规则的进程一直被调整,出现所谓的“饿死”现象,可以使符合强关联规则的进程在连续第二次被调度到就绪队列最后时提高其优先级,从而使他们也有可以得到运行的机会。以下为图4中如何调整进程优先级并将进程插入就绪队列的具体步骤:
如图5所示,为一种进程调度装置各个模块的示意图,其中,Apriori数据采集模块负责原始数据(如上述N个进程)采集,每当就绪进程有新的进程加入就会把更新后的进程集保存到项集库(如上述一组项集)。Apriori计算模块负责根据原始数据计算进程间强关联规则(如上述M个关联度规则),并保存到规则库;Apriori反馈模块负责为任务调度器提供进程间强关联规则。当任务调度器得到具有强关联规则的进程,并确定出目标就绪进程队列,若需要调整目标就绪进程队列顺序,并且被调整的进程一直没有运行且连续第二次被调整,那么连续第二次被调整的进程取消调整,并提高该进程的优先级,避免“饿死”现象出现,否则被调度到就绪队列的最后,提高CPU执行效率。
通过本实施例,通过循环采集系统进程间关联数据,由于同时访问硬件IO的进程间具有关联性,可以根据进程间关联关系数据,基于Apriori经典算法确定同时访问硬件IO的进程之间的强关联规则,最后根据发现的强关联规则修改目标就绪进程队列的顺序,并按照修改后的目标就绪进程队列的顺序进行进程调度,提高了CPU执行效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的又一方面,还提供了一种进程调度装置,如图6所示,该装置包括:
获取单元602,用于获取N个进程,确定上述N个进程的M个关联度规则,其中,上述M个关联度规则用于表示上述N个进程中至少两个进程之间的关联程度,上述N和上述M为自然数;
第一确定单元604,用于根据上述N个进程、上述M个关联度规则确定上述N个进程访问目标硬件资源的目标就绪进程队列;
调度单元606,用于按照上述目标就绪进程队列所指示的队列顺序调度上述N个进程访问上述目标硬件资源。
可选地,获取单元602可以用于执行步骤S202,第一确定单元604以用于执行步骤S204,调度单元606可以用于执行步骤S206。
通过本实施例,首先,获取N个进程,然后确定该N个进程中用于表示至少两个进程之间的关联程度的M个关联度规则,然后,根据该N个进程、M个关联度规则确定N个进程访问目标硬件资源的目标就绪进程队列,最后按照目标就绪进程队列所指示的队列顺序来调度上述N个进程访问上述目标硬件资源,从而实现了按照目标就绪进程队列所指示的队列顺序来调度上述N个进程访问上述目标硬件资源的目的,进而解决了相关技术中,由于没有对进程调度进行优化,存在CPU执行效率低的技术问题。
作为一种可选的技术方案,上述装置第一确定单元,包括:第一确定模块,用于根据上述N个进程确定一组项集,其中,上述一组项集中的每一个项集包括一个或多个项,每个上述项与上述N个进程中的一个进程对应;第二确定模块,用于将上述一组项集中支持度超过第一预设阈值的项集确定为一组频繁项集,其中,上述一组频繁项集中的每一个频繁项集至少包括两个上述项;第三确定模块,用于根据关联分析算法确定上述一组频繁项集中支持度大于第二预设阈值、且置信度大于第三预设阈值对应的上述M个关联度规则,其中,上述一组频繁项集中的每个频繁项集对应于上述M个关联度规则中的一个或多个关联度规则,上述M个关联度规则中的每一个关联度规则至少包括两个上述项;第四确定模块,用于根据上述M个关联度规则确定上述N个进程访问上述目标硬件资源的上述目标就绪进程队列。
作为一种可选的技术方案,上述第一确定单元,包括:调整模块,用于在上述N个进程中存在满足上述M个关联度规则的目标进程的情况下,将上述目标进程的队列顺序调整至上述目标就绪进程队列的最后一位,并更新上述目标就绪进程队列。
作为一种可选的技术方案,上述调度单元,还用于在上述目标进程的队列顺序处于上述目标就绪进程队列的最后一位的情况下,使上述目标进程最后访问上述目标硬件资源。
作为一种可选的技术方案,上述装置还包括:第一处理单元,用于在上述目标进程的队列顺序被调整至上述目标就绪进程队列的最后一位的次数超过第四预设阈值的情况下,提高上述目标进程的优先级,使上述目标进程的队列顺序处于上述目标就绪进程队列的第一位,并更新上述目标就绪进程队列。
作为一种可选的技术方案,上述装置还包括:判断单元,用于判断上述目标硬件资源是否被释放;第二处理单元,用于在上述目标硬件资源被释放的情况下,允许上述目标进程按照上述目标就绪进程队列所指示的队列顺序访问上述目标硬件资源。
作为一种可选的技术方案,上述装置还包括:第二确定单元,用于根据上述N个进程的优先级和时间片轮转信息确定上述N个进程的访问上述目标硬件资源的初始就绪进程队列;上述第一确定单元,还用于根据上述N个进程、上述M个关联度规则将上述N个进程访问目标硬件资源的上述初始就绪进程队列更新为上述目标就绪进程队列。
根据本发明的实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取N个进程,确定上述N个进程的M个关联度规则,其中,上述M个关联度规则用于表示上述N个进程中至少两个进程之间的关联程度,上述N和上述M为自然数;
S2,根据上述N个进程、上述M个关联度规则确定上述N个进程访问目标硬件资源的目标就绪进程队列;
S3,按照上述目标就绪进程队列所指示的队列顺序调度上述N个进程访问上述目标硬件资源。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取器)、磁盘或光盘等。
根据本发明实施例的又一个方面,还提供了一种用于实施上述进程调度方法的电子装置,如图7所示,该电子装置包括存储器702和处理器704,该存储器702中存储有计算机程序,该处理器704被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取N个进程,确定上述N个进程的M个关联度规则,其中,上述M个关联度规则用于表示上述N个进程中至少两个进程之间的关联程度,上述N和上述M为自然数;
S2,根据上述N个进程、上述M个关联度规则确定上述N个进程访问目标硬件资源的目标就绪进程队列;
S3,按照上述目标就绪进程队列所指示的队列顺序调度上述N个进程访问上述目标硬件资源。
可选地,本领域普通技术人员可以理解,图7所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图7其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图7中所示更多或者更少的组件(如网络接口等),或者具有与图7所示不同的配置。
其中,存储器702可用于存储软件程序以及模块,如本发明实施例中的进程调度方法和装置对应的程序指令/模块,处理器704通过运行存储在存储器702内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的进程调度方法。存储器702可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器702可进一步包括相对于处理器704远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器702具体可以但不限于用于存储N个进程、M个关联度规则等信息。作为一种示例,如图7所示,上述存储器702中可以但不限于包括上述进程调度装置中的获取单元602、第一确定单元604、调度单元606。此外,还可以包括但不限于上述进程调度装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置706用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置706包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置706为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器708;连接总线710,用于连接上述电子装置中的各个模块部件。
在其他实施例中,上述终端或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种进程调度方法,其特征在于,包括:
获取N个进程,确定所述N个进程的M个关联度规则,其中,所述M个关联度规则用于表示所述N个进程中至少两个进程之间的关联程度,所述N和所述M为自然数;
根据所述N个进程、所述M个关联度规则确定所述N个进程访问目标硬件资源的目标就绪进程队列;
按照所述目标就绪进程队列所指示的队列顺序调度所述N个进程访问所述目标硬件资源。
2.根据权利要求1所述的方法,其特征在于,所述根据所述N个进程、所述M个关联度规则确定所述N个进程访问目标硬件资源的目标就绪进程队列,包括:
根据所述N个进程确定一组项集,其中,所述一组项集中的每一个项集包括一个或多个项,每个所述项与所述N个进程中的一个进程对应;
将所述一组项集中支持度超过第一预设阈值的项集确定为一组频繁项集,其中,所述一组频繁项集中的每一个频繁项集至少包括两个项;
根据关联分析算法确定所述一组频繁项集中支持度大于第二预设阈值、且置信度大于第三预设阈值对应的所述M个关联度规则,其中,所述一组频繁项集中的每个频繁项集对应于所述M个关联度规则中的一个或多个关联度规则,所述M个关联度规则中的每一个关联度规则至少包括两个项;
根据所述M个关联度规则确定所述N个进程访问所述目标硬件资源的所述目标就绪进程队列。
3.根据权利要求2所述的方法,其特征在于,所述根据所述N个进程、所述M个关联度规则确定所述N个进程访问目标硬件资源的目标就绪进程队列,包括:
在所述N个进程中存在满足所述M个关联度规则的目标进程的情况下,将所述目标进程的队列顺序调整至所述目标就绪进程队列的最后一位,并更新所述目标就绪进程队列。
4.根据权利要求3所述的方法,其特征在于,所述按照所述目标就绪进程队列所指示的队列顺序调度所述N个进程访问所述目标硬件资源,包括:
在所述目标进程的队列顺序处于所述目标就绪进程队列的最后一位的情况下,使所述目标进程最后访问所述目标硬件资源。
5.根据权利要求3所述的方法,其特征在于,在所述将所述目标进程的队列顺序调整至所述目标就绪进程队列的最后一位之后,所述方法还包括:
在所述目标进程的队列顺序被调整至所述目标就绪进程队列的最后一位的次数超过第四预设阈值的情况下,提高所述目标进程的优先级,使所述目标进程的队列顺序处于所述目标就绪进程队列的第一位,并更新所述目标就绪进程队列。
6.根据权利要求5所述的方法,其特征在于,在所述使所述目标进程的队列顺序处于所述目标就绪进程队列的第一位的情况下,所述方法还包括:
判断所述目标硬件资源是否被释放;
在所述目标硬件资源被释放的情况下,允许所述目标进程按照所述目标就绪进程队列所指示的队列顺序访问所述目标硬件资源。
7.根据权利要求1至6任一项中所述的方法,其特征在于,在所述根据所述N个进程、所述M个关联度规则确定所述N个进程访问目标硬件资源的目标就绪进程队列之前,所述方法还包括:
根据所述N个进程的优先级和时间片轮转信息确定所述N个进程的访问所述目标硬件资源的初始就绪进程队列;
所述根据所述N个进程、所述M个关联度规则确定所述N个进程访问目标硬件资源的目标就绪进程队列,包括:
根据所述N个进程、所述M个关联度规则将所述N个进程访问目标硬件资源的所述初始就绪进程队列更新为所述目标就绪进程队列。
8.一种进程调度装置,其特征在于,包括:
获取单元,用于获取N个进程,确定所述N个进程的M个关联度规则,其中,所述M个关联度规则用于表示所述N个进程之间关联程度,所述N和所述M为自然数;
第一确定单元,用于根据所述N个进程、所述M个关联度规则确定所述N个进程访问目标硬件资源的目标就绪进程队列;
调度单元,用于按照所述目标就绪进程队列所指示的队列顺序调度所述N个进程访问所述目标硬件资源。
9.一种计算机可读的存储介质,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010615373.5A CN111857995B (zh) | 2020-06-30 | 2020-06-30 | 进程调度方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010615373.5A CN111857995B (zh) | 2020-06-30 | 2020-06-30 | 进程调度方法和装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111857995A true CN111857995A (zh) | 2020-10-30 |
CN111857995B CN111857995B (zh) | 2024-05-24 |
Family
ID=72988878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010615373.5A Active CN111857995B (zh) | 2020-06-30 | 2020-06-30 | 进程调度方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111857995B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527416A (zh) * | 2020-12-24 | 2021-03-19 | 深圳追一科技有限公司 | 任务处理方法、装置、计算机设备和存储介质 |
WO2023056780A1 (en) * | 2021-10-07 | 2023-04-13 | International Business Machines Corporation | Storage system workload scheduling for deduplication |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6052453B2 (ja) * | 1973-11-30 | 1985-11-19 | コンパニ−・アンテルナショナル・プ−ル・ランフォルマテイク・セ−イイ・ハニ−ウエル・ブル | コンピユ−タシステムに関するプロセス制御ブロツク |
CN106502767A (zh) * | 2015-09-08 | 2017-03-15 | 大唐移动通信设备有限公司 | 一种进程管理方法及其装置 |
WO2017167105A1 (zh) * | 2016-03-31 | 2017-10-05 | 阿里巴巴集团控股有限公司 | 任务的资源调度方法及装置 |
CN107783843A (zh) * | 2016-08-31 | 2018-03-09 | 中国移动通信有限公司研究院 | 一种云数据的处理方法及装置 |
CN108958944A (zh) * | 2018-07-26 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种多核处理系统及其任务分配方法 |
CN109508413A (zh) * | 2018-10-22 | 2019-03-22 | 中国银行股份有限公司 | 作业调度展示方法及装置、存储介质及电子设备 |
CN109901926A (zh) * | 2019-01-25 | 2019-06-18 | 平安科技(深圳)有限公司 | 基于大数据行为调度应用任务的方法、服务器及存储介质 |
CN109917705A (zh) * | 2019-02-25 | 2019-06-21 | 弗徕威智能机器人科技(上海)有限公司 | 一种多任务调度方法 |
CN110119306A (zh) * | 2019-05-22 | 2019-08-13 | 无锡华云数据技术服务有限公司 | 作业自动调度均衡方法、装置、设备及存储介质 |
CN111124678A (zh) * | 2019-12-18 | 2020-05-08 | 青岛海尔科技有限公司 | 内存调度处理方法及装置 |
-
2020
- 2020-06-30 CN CN202010615373.5A patent/CN111857995B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6052453B2 (ja) * | 1973-11-30 | 1985-11-19 | コンパニ−・アンテルナショナル・プ−ル・ランフォルマテイク・セ−イイ・ハニ−ウエル・ブル | コンピユ−タシステムに関するプロセス制御ブロツク |
CN106502767A (zh) * | 2015-09-08 | 2017-03-15 | 大唐移动通信设备有限公司 | 一种进程管理方法及其装置 |
WO2017167105A1 (zh) * | 2016-03-31 | 2017-10-05 | 阿里巴巴集团控股有限公司 | 任务的资源调度方法及装置 |
CN107783843A (zh) * | 2016-08-31 | 2018-03-09 | 中国移动通信有限公司研究院 | 一种云数据的处理方法及装置 |
CN108958944A (zh) * | 2018-07-26 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种多核处理系统及其任务分配方法 |
CN109508413A (zh) * | 2018-10-22 | 2019-03-22 | 中国银行股份有限公司 | 作业调度展示方法及装置、存储介质及电子设备 |
CN109901926A (zh) * | 2019-01-25 | 2019-06-18 | 平安科技(深圳)有限公司 | 基于大数据行为调度应用任务的方法、服务器及存储介质 |
CN109917705A (zh) * | 2019-02-25 | 2019-06-21 | 弗徕威智能机器人科技(上海)有限公司 | 一种多任务调度方法 |
CN110119306A (zh) * | 2019-05-22 | 2019-08-13 | 无锡华云数据技术服务有限公司 | 作业自动调度均衡方法、装置、设备及存储介质 |
CN111124678A (zh) * | 2019-12-18 | 2020-05-08 | 青岛海尔科技有限公司 | 内存调度处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
陈应明等: "《现代计算机操作系统》", 北京:冶金工业出版社, pages: 90 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527416A (zh) * | 2020-12-24 | 2021-03-19 | 深圳追一科技有限公司 | 任务处理方法、装置、计算机设备和存储介质 |
WO2023056780A1 (en) * | 2021-10-07 | 2023-04-13 | International Business Machines Corporation | Storage system workload scheduling for deduplication |
US11954331B2 (en) | 2021-10-07 | 2024-04-09 | International Business Machines Corporation | Storage system workload scheduling for deduplication |
Also Published As
Publication number | Publication date |
---|---|
CN111857995B (zh) | 2024-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107360206B (zh) | 一种区块链共识方法、设备及系统 | |
US9497288B2 (en) | Subscriber based priority of messages in a publisher-subscriber domain | |
JP5664098B2 (ja) | 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム | |
CN109669985B (zh) | 在微服务环境中使用相关数据分配执行任务 | |
CN115328663A (zh) | 基于PaaS平台进行资源调度的方法、装置、设备和存储介质 | |
CN110119307B (zh) | 数据处理请求的处理方法、装置、存储介质及电子装置 | |
US9471383B2 (en) | Task allocation in a computing environment | |
CN108459913B (zh) | 数据并行处理方法、装置及服务器 | |
CN112787999B (zh) | 跨链调用方法、装置、系统与计算机可读存储介质 | |
CN111857995B (zh) | 进程调度方法和装置、存储介质及电子装置 | |
Yadwadkar et al. | Proactive straggler avoidance using machine learning | |
CN113656168A (zh) | 一种流量的自动容灾和调度的方法、系统、介质和设备 | |
Wang et al. | Design and implementation of an analytical framework for interference aware job scheduling on apache spark platform | |
CN115033352A (zh) | 多核处理器任务调度方法、装置及设备、存储介质 | |
Khelaifa et al. | A comparative analysis of adaptive consistency approaches in cloud storage | |
CN113778652A (zh) | 一种任务调度方法、装置、电子设备及存储介质 | |
CN113886069A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN114237852A (zh) | 一种任务调度方法、装置、服务器及存储介质 | |
CN109947568A (zh) | 定时任务处理方法、系统、计算机设备及存储介质 | |
CN113032119A (zh) | 一种任务调度方法、装置、存储介质及电子设备 | |
CN111831408A (zh) | 异步任务处理方法、装置、电子设备及介质 | |
CN111988429A (zh) | 算法调度方法以及系统 | |
CN111736975A (zh) | 请求控制方法、装置、计算机设备及计算机可读存储介质 | |
CN116707891A (zh) | 重放攻击检查方法和区块链节点 | |
JP5331549B2 (ja) | 分散処理システム及び分散処理方法 |
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 | ||
GR01 | Patent grant |