CN109508239A - 进程的控制方法及装置 - Google Patents

进程的控制方法及装置 Download PDF

Info

Publication number
CN109508239A
CN109508239A CN201710840651.5A CN201710840651A CN109508239A CN 109508239 A CN109508239 A CN 109508239A CN 201710840651 A CN201710840651 A CN 201710840651A CN 109508239 A CN109508239 A CN 109508239A
Authority
CN
China
Prior art keywords
target program
default
process quantity
concurrent process
program
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
CN201710840651.5A
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.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology 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 Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201710840651.5A priority Critical patent/CN109508239A/zh
Publication of CN109508239A publication Critical patent/CN109508239A/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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/524Deadlock 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)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种进程的控制方法及装置。该方法包括:配置目标程序的进程和预设等待时长,其中,目标程序为间隔预设时间周期重复执行的程序;获取当前并发进程数量;判断当前并发进程数量是否低于预设并发进程数量;在判断出当前并发进程数量低于预设并发数量的情况下,控制执行目标程序,其中,在控制执行目标程序时,将当前并发进程数量增加预设数值。通过本申请,解决了相关技术中进程量较少,执行任务速度较慢,导致的任务执行时间长、用户体验度差的问题。

Description

进程的控制方法及装置
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种进程的控制方法及装置。
背景技术
在相关技术中,随着文件执行程序的自动化程度不断提高,很多情况下,不再需要人工定时启动程序,而是通过设置定时时间点,从而让程序在定时时间点自动执行程序。通过文件执行程序的自动化,可以不断提高程序执行的效率,减少出现错误的情况,然而对于当前的程序定时执行的任务,一般只能启动少量的进程,无法启动多个进程并发执行程序,因为对于定时任务来说,并不会专门检测进程任务是否执行完成,在定时时间点到达后,就会执行任务,增加进程量,这样会大量增加系统进程执行的负担,在任务较多时,过多进程运行会造成系统拥塞,严重的甚至会让系统崩溃。对于系统进程较多容易崩溃的情况,需要额外保证之前进程是否完成,进而控制本次任务是否启动。相关技术中可以通过文件锁来控制程序是否启动,即上一个进程占有文件锁,若它未执行完成,会一直占用该文件锁,后面进程若发现文件锁被占用就不会再执行或者一直等待了,以保证进程只有一个。
对于上述的文件锁,显然存在明显的不足,如果文件锁一直被上一个进程占用,后面的进程就会一直等待或者立即失败,这样只能有一个程序在执行。在文件任务较多时,由于文件锁的作用,很容易造成任务积压,后续进程一直在等待上一个任务的完成,同时由于进程量较少,执行任务的速度较慢,会导致任务执行时间长、用户体验度差。
针对相关技术中由于进程量较少,执行任务速度较慢,导致的任务执行时间长、用户体验度差的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种进程的控制方法及装置,以解决相关技术中进程量较少,执行任务速度较慢,导致的任务执行时间长、用户体验度差的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种进程的控制方法。该方法包括:配置目标程序的进程和预设等待时长,其中,所述目标程序为间隔预设时间周期重复执行的程序;获取当前并发进程数量;判断所述当前并发进程数量是否低于预设并发进程数量;在判断出所述当前并发进程数量低于所述预设并发数量的情况下,控制执行所述目标程序,其中,在控制执行所述目标程序时,将所述当前并发进程数量增加预设数值。
进一步地,所述方法还包括:在判断出所述当前并发进程数量不低于所述预设并发进程数量的情况下,根据所述预设等待时长控制是否执行所述目标程序。
进一步地,在判断出所述当前并发进程数量不低于预设并发进程数量的情况下,根据所述预设等待时长控制是否执行所述目标程序包括:若所述预设等待时长为0,则控制取消所述目标程序。
进一步地,在判断出所述当前并发进程数量不低于预设并发进程数量的情况下,根据所述预设等待时长控制是否执行所述目标程序还包括:若所述预设等待时长不为0,则获取所述目标程序的实际等待时长;若所述实际等待时长小于所述预设等待时长,则监测最新的当前并发进程数量是否低于所述预设并发进程数量,并根据监测结果,控制是否执行所述目标程序。
进一步地,根据监测结果,控制是否执行所述目标程序包括:若所述实际等待时长小于所述预设等待时长,且监测到最新的当前并发进程数量低于所述预设并发进程数量,则控制执行所述目标程序;若所述实际等待时长小于所述预设等待时长,且监测到最新的当前并发进程数量不低于预设并发进程数量,则控制取消所述目标程序。
进一步地,在配置目标程序的进程和预设等待时长之前,包括:获取与所述目标程序对应的文件锁,其中,所述文件锁用于控制执行所述目标程序;配置系统的并发进程数量,将所述系统的并发进程数量作为所述预设并发进程数量,其中,所述系统的并发进程数量为所述系统能处理的进程数量。
进一步地,所述方法还包括:每隔预设时间段,检测所述目标程序是否在执行;若所述目标程序未执行,判断最新的当前并发进程数量是否大于预设阈值;若所述最新的当前并发进程数量大于所述预设阈值,确定所述目标程序对应的进程出现异常;在确定所述目标程序对应的进程出现异常的情况下,将所述目标程序的文件锁释放,以控制取消执行所述目标程序。
为了实现上述目的,根据本申请的另一方面,提供了一种进程的控制装置。该装置包括:配置单元,用于配置目标程序的进程和预设等待时长,其中,所述目标程序为间隔预设时间周期重复执行的程序;获取单元,用于获取当前并发进程数量;判断单元,用于判断所述当前并发进程数量是否低于预设并发进程数量;第一控制单元,用于在判断出所述当前并发进程数量低于所述预设并发进程数量的情况下,控制执行所述目标程序,其中,在控制执行所述目标程序时,将所述当前并发进程数量增加预设数值。
为了实现上述目的,根据本申请的另一方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序执行上述任意一项所述的进程的控制方法。
为了实现上述目的,根据本申请的另一方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任意一项所述的进程的控制方法。
通过本申请,可以利用预先配置目标程序的进程和预设等待时长,并获取到系统的当前并发进程数量,通过当前并发进程数量和预设并发进程数量的比较,以确定是否执行目标程序。在该实施例中可以通过设置系统能够处理的预设并发进程数量来并发执行程序,同时执行的并发进程数量会相应的增加,执行程序的速度加快,执行时间会缩短,达到提高用户的体验度的效果,进而解决相关技术中进程量较少,执行任务速度较慢,导致的任务执行时间长、用户体验度差的问题。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的进程的控制方法的流程图;
图2是根据本发明实施例提供的可选进程的控制方法的流程图;以及
图3是根据本申请实施例提供的进程的控制装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
文件锁(计算机文件程序机制),锁定的目的是要防止恶意的更新场景。文件系统一般有两种锁,共享锁及排它锁,也可被称为读锁和写锁,文件系统锁的特点:一个文件打开的时候只能拥有一把锁,就是说在同时,不能给一个文件同时分配两把以上的锁。
根据本申请的实施例,提供了一种进程的控制方法。
图1是根据本申请实施例提供的进程的控制方法的流程图,如图1所示,该方法包括以下步骤:
步骤S101,配置目标程序的进程和预设等待时长,其中,目标程序为间隔预设时间周期重复执行的程序。
可选的,本发明实施例可以应用于文件系统中。每个文件系统的可处理的进程数量有一个优化值,例如,10个。通过本发明实施例可以最大化的利用系统的进程数量,以优化处理程序任务。
其中,上述的目标程序可以是需要重复执行的程序,而间隔预设周期是用户根据程序的执行时间确定的,在程序的执行时间长(例如,大于2小时)时,将间隔预设周期设置的较长(例如,1小时),在程序的执行时间较短时,可以将该间隔预设周期设置较短(例如,20分钟)。通过设置间隔预设周期,可以不断的执行该目标程序。另外,目标程序可以是用户开发的app程序,程序的类型在本申请中不做限制。
另一种可选的实施方式,上述的预设等待时长,可以是用户根据目标程序的执行时长确定的,在目标程序的执行时长较长时(例如,1小时),可以将等待时长设置的较长,例如,40分钟,在目标程序的执行时长较短时,可以将等待时长设置的较短(如5分钟或者0分钟),在配置预设等待时长为0时,指示用户设定待执行进程不等待,这种情况下,一旦当前并发进程数量达到预设并发进程数量,由于等待时长为0,会直接取消执行目标程序;对于预设等待时长不为0的情况,对于当前并发进程数量达到预设并发进程数量时,可以根据预设等待时长进行等待,无需取消目标程序,此时,需要先判断实际等待时长是否小于预设等待时长,若判断出当前实际等待时长小于则执行等待,若判断出当前实际等待时长大于或等于则可以取消执行目标程序。
可选的,上述在配置目标程序的进程时,可以是目标程序在执行之前,配置执行目标程序的进程,以通过该进程来执行该目标程序,该进程可以为一个程序执行通道,通过该进程可以快速的执行该目标程序。其中,本申请中的目标程序为间隔预设周期执行的程序,可以通过多个并发进程同时执行目标程序,根据程序所在的系统的处理能力,确定出系统同时处理的并发进程的数量,在利用进程处理目标程序时,可以设置低于上述的系统同时处理的并发进程的数量的进程数量(例如,10个)。通过多个并发进程来处理目标程序,可以优化利用系统的处理器,以较为快速的执行程序,而不会由于单个进程处理程序较慢,导致处理时间长的问题。
步骤S102,获取当前并发进程数量。
其中,上述的当前并发进程数量为当前系统正在处理的进程数量,该当前并发进程数量可以低于系统能够处理的并发进程数量。可选的,当前并发进程数量是进入系统的目标程序的数量,例如,当前系统正在处理的目标程序为5个,每个目标程序对应有一个进程的情况下,上述的当前并发进程数量为5。
步骤S103,判断当前并发进程数量是否低于预设并发进程数量。若是,执行步骤S104,若否,执行步骤S105。
其中,预设并发进程数量可以为上述的系统能够处理的并发进程数量,在获取到当前并发进程数量后,可以判断该当前并发进程数量是否低于预设并发进程数量,通过该当前并发进程数量和预设并发进程数量的比较,可以确定出配置的目标程序的进程能否让系统处理,由于系统可执行的并发进程数量是有限制的,系统能处理的并发进程可以等于或者低于预设并发进程数量(即系统可实际处理的进程数量)。
步骤S104,在判断出当前并发进程数量低于预设并发进程数量的情况下,控制执行目标程序,其中,在控制执行目标程序时,将当前并发进程数量增加预设数值。
即判断得到当前并发进程数量低于预设并发进程数量时,可以确定出系统当前的处理进程数量并未达到预设并发进程数量,即当前执行的并发进程数量低于系统能够处理的预设并发进程数量,即系统的进程通道中,有空闲的进程通道,这时,可以将目标程序的进程送入系统的空闲进程通道,此时系统可以执行该目标程序。在将目标程序送入空闲进程通道后,即表示系统的处理进程数量增加,此时,可以将当前并发进程数量增加预设数值,在本发明中可以将该预设数值设置为1,即当前并发进程数量增加1,如预设进程数量为10,目标程序未进入通道时,系统正在处理的进程数量为5,在将该目标程序送入空闲进程通道后,系统的当前进程数量为6,在将进程数量增加预设数值后,可以告知后续的进程当前正在执行的进程并发数量,用于后续的进程判断是否有空闲进程存在。当然,在该实施例中,目标程序在进入系统处理进程通道后,也可能有程序已经执行完成,此时需要同时记载进程数量减去预设数值。
步骤S105,在判断出当前并发进程数量不低于预设并发进程数量的情况下,根据预设等待时长控制是否执行目标程序。
通过上述的实施方式,在判断出当前并发进程数量不低于预设并发进程数量的情况下,根据预设等待时长控制是否执行目标程序,即当前正在处理的并发进程数量等于预设并发进程数量,这时,可以确定出系统正在执行的程序已满,无法添加后续的程序,需要在系统处理当前的进程后,才能送入等待的目标程序进入并发进程。
可选的,上述步骤S106可以包括:判断等待时长是否为第一预设数值;在判断出等待时长为第一预设数值的情况下,控制取消目标程序;在判断出等待时长大于第一预设数值的情况下,监测当前并发进程数量是否低于预设并发进程数量,并根据监测结果,控制是否执行目标程序。
其中,上述的预设等待时长可以包括但不限于0分钟、5分钟、1小时等,即在判断出当前并发进程数量不低于预设并发进程数量的情况下,可以判断配置的预设等待时长为多少,根据预设等待时长,确定是否需要继续等待以执行该目标程序,若预设等待时长为0,则可以确定当前的目标程序无法等待执行,可以放弃执行该目标程序。在判断出等待时长大于0时,可以确定需要等待一段时间,然后可以执行该目标程序。
其中,判断出当前并发进程数量不低于预设并发进程数量的情况下,需要根据预设等待时长控制是否执行目标程序,其可以包括:若预设等待时长不为0,获取目标程序的实际等待时长,若实际等待时长小于预设等待时长,则监测最新的当前并发进程数量是否低于预设并发进程数量,并根据监测结果,控制是否执行目标程序。
通过上述实施方式,可以利用预先配置目标程序的进程和预设等待时长,并获取到系统的当前并发进程数量,通过当前并发进程数量和预设并发进程数量的比较,以确定是否执行目标程序。在该实施例中可以通过设置系统能够处理的预设并发进程数量来并发执行程序,同时执行的并发进程数量会相应的增加,执行程序的速度加快,执行时间会缩短,达到提高用户的体验度的效果,进而解决相关技术中进程量较少,执行任务速度较慢,导致的任务执行时间长、用户体验度差的问题。
可选的,上述根据监测结果,控制是否执行目标程序包括:若实际等待时长小于预设等待时长,且监测到最新的当前并发进程数量低于预设并发进程数量,则控制执行目标程序;若实际等待时长小于预设等待时长,且监测到最新的当前并发进程数量不低于预设并发进程数量,则控制取消目标程序。
即可以通过实际等待时长确定是否需要继续监测当前实际并发进程数量,这样就可以在预设等待时长内,若系统中有执行完成的程序,并空闲了进程通道,则可以执行该目标程序,而在预设等待时长内,若系统中一直没有空闲进程,则可以控制取消执行目标程序。
可选的,在配置目标程序的进程和预设等待时长之前,包括:获取与目标程序对应的文件锁,其中,文件锁用于控制执行目标程序;配置系统的并发进程数量,将系统的并发进程数量作为预设并发进程数量,其中,系统的并发进程数量为系统能处理的进程数量。
其中,每一个目标程序可以配置一个文件锁,该文件锁可以控制是否启动上述的目标程序,在目标程序所对应的进程进入系统的处理进程中后,通过该文件锁控制执行目标程序,然后系统可以执行该目标程序,在系统执行完目标程序后,目标程序的文件锁会自动释放,以表示该目标程序执行完成,这时,目标程序的进程也会删除。通过上述的文件锁可以控制启动目标程序的执行,也可以通过该文件锁确定是否完成目标程序。
可选的,上述的配置系统的并发进程数量,可以是在执行目标程序开始之前,没有任何目标程序执行时,根据系统的处理能力,配置出预设并发进程数量,该预设并发进程数量为系统可以执行的最大进程数量,在该进预设程数量下,系统的处理速度会很快,能够同时处理多个进程。即本发明中在第一次执行目标程序之前,需要配置系统可处理的预设并发进程数量。
上述实施例还可以包括:每隔预设时间段,检测目标程序是否在执行;若目标程序未执行,判断最新的当前并发进程数量是否大于预设阈值;若最新的当前并发进程数量大于预设阈值,确定目标程序对应的进程出现异常;在确定目标程序对应的进程出现异常的情况下,将目标程序的文件锁释放,以控制取消执行目标程序。
其中,上述的实施方式,可以是在系统处理目标程序时出现异常的情况,系统的后台程序(在本申请中可以将该后台程序设置但不限于守护程序)可以每个预设时间段,检测处理的程序是否出现异常,其中,该预设时间段,可以是根据系统的处理能力确定的,例如,预设时间段为10分钟。在确定出目标程序未执行时,可以确定该当前并发进程数量大于预设阈值,则可以确定该目标程序对应的进程出现异常,其中,预设阈值可以包括但不限于0。上述实施方式中,判断是否出现异常是通过程序未执行,同时并发进程还在,表示目标程序所对应的进程在系统当前处理进程中,但是目标程序未执行,此时可以确定系统该进程出现异常,无法正常执行该目标程序。在目标程序对应的进程出现异常的情况下,将目标程序的文件锁释放,以取值执行该目标程序,并将目标程序所在的进程删除,从而得到空闲进程通道。
可选的,上述目标程序未执行,可以包括多种情况,例如,目标程序出现卡顿(即程序暂停,无法继续执行),或者目标程序异常退出。在目标程序进入系统的处理进程后,若目标程序一直无法执行,则会占用进程通道,使得后续的进程也无法进入,这时就需要释放目标程序的文件锁,以控制取消执行目标程序。
通过上述实施例,可以预先配置目标程序的参数(包括等待时长和进程等),通过该多个并发进程处理目标程序,以控制目标进程的正常执行。
下面是根据本发明实施例的具体实施例。
图2是根据本发明实施例提供的可选进程的控制方法的流程图,如图2所示,该方法包括如下步骤:
步骤S201,为目标程序指定文件锁,并配置出预设并发进程数量和目标程序的进程和等待时长。
其中,预设并发进程数量为系统当前可处理的并发进程数量。上述的等待时长默认为0。
步骤S202,判断当前并发进程数量是否低于预设并发进程数量。
若是,执行步骤S207,若否,执行步骤S203。
步骤S203,判断配置的目标程序的等待时长是否为预设数值。若是,执行步骤S208,若否,执行步骤S204。
其中,上述的预设数值可以用户根据程序的执行时长设置的,例如,0分钟。
步骤S204,判断实际等待时长是否低于配置的目标程序的等待时长。
若是,执行步骤S205,若否,执行步骤S208。
步骤S205,继续等待。
步骤S206,判断当前并发进程数量是否低于预设并发进程数量。
若是,执行步骤S207,若否,回到步骤S206。
步骤S208,启动执行目标程序,当前并发进程数量累加1。
其中,在上述实施例中,可以在后台运行守护进程,该守护进程是用于对目标程序出现异常的情况,进行的操作。守护进程始终在后台执行,每10min执行1次。需要监控该程序是否在执行,同时获取其对应的文件锁并发数,若程序未执行且当前并发数>0,则为异常状态,此时将文件并发数置为0,将目标程序的文件锁释放,同时取消执行该目标程序,此时,可以使得该进程所在的进程通道空闲,以确保后续程序可以正常执行。
其中,上述的异常情况可以是进程崩溃,导致的程序无法正常运行,文件锁无法释放,占据进程通道,影响系统执行程序。
通过上述实施例,可以通过参数配置进程的并发数量和目标程序的等待时长等数据,另外,通过配置等待时长,在等待时长内如果锁释放可立即执行,若未释放则放弃执行目标程序。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种进程的控制装置,需要说明的是,本申请实施例的进程的控制装置可以用于执行本申请实施例所提供的用于进程的控制方法。以下对本申请实施例提供的进程的控制装置进行介绍。
图3是根据本申请实施例提供的进程的控制装置的示意图,如图3所示,该装置包括:配置单元31,用于配置目标程序的进程和预设等待时长,其中,目标程序为间隔预设时间周期重复执行的程序;获取单元33,用于获取当前并发进程数量;判断单元35,用于判断当前并发进程数量是否低于预设并发进程数量;第一控制单元37,用于在判断出当前并发进程数量低于预设并发进程数量的情况下,控制执行目标程序,其中,在控制执行目标程序时,将当前并发进程数量增加预设数值。另外,该装置还可以包括第二控制单元39,用于在判断出当前并发进程数量不低于预设并发进程数量的情况下,根据预设等待时长控制是否执行目标程序。
通过上述实施例,可以利用配置单元31预先配置目标程序的进程和预设等待时长,并通过获取单元33获取到系统的当前并发进程数量,然后通过判断单元35对当前并发进程数量和预设并发进程数量的比较,进而通过第一控制单元37和第二控制单元39确定是否执行目标程序。在该实施例中可以通过设置系统能够处理的预设并发进程数量来并发执行程序,同时执行的并发进程数量会相应的增加,执行程序的速度加快,执行时间会缩短,进而达到提高用户的体验度的效果,解决相关技术中进程量较少,执行任务速度较慢,导致的任务执行时间长、用户体验度差的问题。
可选的,第二控制单元包括:控制模块,用于若预设等待时长为0,则控制取消目标程序。
所述进程的控制装置包括处理器和存储器,上述配置单元31、获取单元33、判断单元35、第一控制单元37和第二控制单元39等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高程序的执行速度,达到提高用户的体验度的效果。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现进程的控制方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行进程的控制方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:配置目标程序的进程和预设等待时长,其中,目标程序为间隔预设时间周期重复执行的程序;获取当前并发进程数量;判断当前并发进程数量是否低于预设并发进程数量;在判断出当前并发进程数量低于预设并发数量的情况下,控制执行目标程序,其中,在控制执行目标程序时,将当前并发进程数量增加预设数值。
可选地,在处理器执行程序时,可以在判断出当前并发进程数量不低于预设并发进程数量的情况下,根据预设等待时长控制是否执行目标程序。
可选地,在处理器执行程序时,若预设等待时长为0,则控制取消目标程序。
进可选地,在处理器执行程序时,若预设等待时长不为0,则获取目标程序的实际等待时长;若实际等待时长小于预设等待时长,则监测最新的当前并发进程数量是否低于预设并发进程数量,并根据监测结果,控制是否执行目标程序。
可选地,在处理器执行程序时,若实际等待时长小于预设等待时长,且监测到最新的当前并发进程数量低于预设并发进程数量,则控制执行目标程序;若实际等待时长小于预设等待时长,且监测到最新的当前并发进程数量不低于预设并发进程数量,则控制取消目标程序。
可选地,在处理器执行程序时,可以获取与目标程序对应的文件锁,其中,文件锁用于控制执行目标程序;配置系统的并发进程数量,将系统的并发进程数量作为预设并发进程数量,其中,系统的并发进程数量为系统能处理的进程数量。
可选地,在处理器执行程序时,可以每隔预设时间段,检测目标程序是否在执行;若目标程序未执行,判断最新的当前并发进程数量是否大于预设阈值;若最新的当前并发进程数量大于预设阈值,确定目标程序对应的进程出现异常;在确定目标程序对应的进程出现异常的情况下,将目标程序的文件锁释放,以控制取消执行目标程序。本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:配置目标程序的进程和预设等待时长,其中,目标程序为间隔预设时间周期重复执行的程序;获取当前并发进程数量;判断当前并发进程数量是否低于预设并发进程数量;在判断出当前并发进程数量低于预设并发数量的情况下,控制执行目标程序,其中,在控制执行目标程序时,将当前并发进程数量增加预设数值。
可选地,在数据处理设备上执行程序时,可以在判断出当前并发进程数量不低于预设并发进程数量的情况下,根据预设等待时长控制是否执行目标程序。
可选地,在数据处理设备上执行程序时,若预设等待时长为0,则控制取消目标程序。
进可选地,在数据处理设备上执行程序时,若预设等待时长不为0,则获取目标程序的实际等待时长;若实际等待时长小于预设等待时长,则监测最新的当前并发进程数量是否低于预设并发进程数量,并根据监测结果,控制是否执行目标程序。
可选地,在数据处理设备上执行程序时,若实际等待时长小于预设等待时长,且监测到最新的当前并发进程数量低于预设并发进程数量,则控制执行目标程序;若实际等待时长小于预设等待时长,且监测到最新的当前并发进程数量不低于预设并发进程数量,则控制取消目标程序。
可选地,在数据处理设备上执行程序时,可以获取与目标程序对应的文件锁,其中,文件锁用于控制执行目标程序;配置系统的并发进程数量,将系统的并发进程数量作为预设并发进程数量,其中,系统的并发进程数量为系统能处理的进程数量。
可选地,在数据处理设备上执行程序时,可以每隔预设时间段,检测目标程序是否在执行;若目标程序未执行,判断最新的当前并发进程数量是否大于预设阈值;若最新的当前并发进程数量大于预设阈值,确定目标程序对应的进程出现异常;在确定目标程序对应的进程出现异常的情况下,将目标程序的文件锁释放,以控制取消执行目标程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种进程的控制方法,其特征在于,包括:
配置目标程序的进程和预设等待时长,其中,所述目标程序为间隔预设时间周期重复执行的程序;
获取当前并发进程数量;
判断所述当前并发进程数量是否低于预设并发进程数量;
在判断出所述当前并发进程数量低于所述预设并发进程数量的情况下,控制执行所述目标程序,其中,在控制执行所述目标程序时,将所述当前并发进程数量增加预设数值。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在判断出所述当前并发进程数量不低于所述预设并发进程数量的情况下,根据所述预设等待时长控制是否执行所述目标程序。
3.根据权利要求2所述的方法,其特征在于,在判断出所述当前并发进程数量不低于预设并发进程数量的情况下,根据所述预设等待时长控制是否执行所述目标程序包括:
若所述预设等待时长为0,则控制取消所述目标程序。
4.根据权利要求2所述的方法,其特征在于,在判断出所述当前并发进程数量不低于预设并发进程数量的情况下,根据所述预设等待时长控制是否执行所述目标程序还包括:
若所述预设等待时长不为0,则获取所述目标程序的实际等待时长;
若所述实际等待时长小于所述预设等待时长,则监测最新的当前并发进程数量是否低于所述预设并发进程数量,并根据监测结果,控制是否执行所述目标程序。
5.根据权利要求4所述的方法,其特征在于,根据监测结果,控制是否执行所述目标程序包括:
若所述实际等待时长小于所述预设等待时长,且监测到最新的当前并发进程数量低于所述预设并发进程数量,则控制执行所述目标程序;
若所述实际等待时长小于所述预设等待时长,且监测到最新的当前并发进程数量不低于所述预设并发进程数量,则控制取消所述目标程序。
6.根据权利要求1-5任一项所述的方法,其特征在于,在配置目标程序的进程和预设等待时长之前,包括:
获取与所述目标程序对应的文件锁,其中,所述文件锁用于控制执行所述目标程序;
配置系统的并发进程数量,将所述系统的并发进程数量作为所述预设并发进程数量,其中,所述系统的并发进程数量为所述系统能处理的进程数量。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
每隔预设时间段,检测所述目标程序是否在执行;
若所述目标程序未执行,判断最新的当前并发进程数量是否大于预设阈值;
若所述最新的当前并发进程数量大于所述预设阈值,确定所述目标程序对应的进程出现异常;
在确定所述目标程序对应的进程出现异常的情况下,将所述目标程序的文件锁释放,以控制取消执行所述目标程序。
8.一种进程的控制装置,其特征在于,包括:
配置单元,用于配置目标程序的进程和预设等待时长,其中,所述目标程序为间隔预设时间周期重复执行的程序;
获取单元,用于获取当前并发进程数量;
判断单元,用于判断所述当前并发进程数量是否低于预设并发进程数量;
第一控制单元,用于在判断出所述当前并发进程数量低于所述预设并发进程数量的情况下,控制执行所述目标程序,其中,在控制执行所述目标程序时,将所述当前并发进程数量增加预设数值。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1至7中任意一项所述的进程的控制方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的进程的控制方法。
CN201710840651.5A 2017-09-15 2017-09-15 进程的控制方法及装置 Pending CN109508239A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710840651.5A CN109508239A (zh) 2017-09-15 2017-09-15 进程的控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710840651.5A CN109508239A (zh) 2017-09-15 2017-09-15 进程的控制方法及装置

Publications (1)

Publication Number Publication Date
CN109508239A true CN109508239A (zh) 2019-03-22

Family

ID=65745245

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710840651.5A Pending CN109508239A (zh) 2017-09-15 2017-09-15 进程的控制方法及装置

Country Status (1)

Country Link
CN (1) CN109508239A (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060294326A1 (en) * 2005-06-23 2006-12-28 Jacobson Quinn A Primitives to enhance thread-level speculation
CN103810048A (zh) * 2014-03-11 2014-05-21 国家电网公司 一种面向资源利用最优的线程数量自动调整方法及装置
CN104182283A (zh) * 2014-08-22 2014-12-03 北京京东尚科信息技术有限公司 一种任务同步方法
CN104809058A (zh) * 2011-06-17 2015-07-29 阿里巴巴集团控股有限公司 一种在测试执行中动态调度并发数量的方法及装置
CN105045652A (zh) * 2015-07-07 2015-11-11 深圳市云舒网络技术有限公司 一种多终端共同处理多并行线程程序的方法和处理系统
CN105653374A (zh) * 2014-11-12 2016-06-08 华为技术有限公司 分布式事务资源执行的方法、装置和系统
CN105740073A (zh) * 2016-01-21 2016-07-06 浪潮(北京)电子信息产业有限公司 一种动态控制操作系统进程数量的方法及装置
CN106874077A (zh) * 2015-12-11 2017-06-20 腾讯科技(深圳)有限公司 进程运行方法及装置
CN106951335A (zh) * 2017-02-28 2017-07-14 维沃移动通信有限公司 一种进程守护方法和移动终端

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060294326A1 (en) * 2005-06-23 2006-12-28 Jacobson Quinn A Primitives to enhance thread-level speculation
CN104809058A (zh) * 2011-06-17 2015-07-29 阿里巴巴集团控股有限公司 一种在测试执行中动态调度并发数量的方法及装置
CN103810048A (zh) * 2014-03-11 2014-05-21 国家电网公司 一种面向资源利用最优的线程数量自动调整方法及装置
CN104182283A (zh) * 2014-08-22 2014-12-03 北京京东尚科信息技术有限公司 一种任务同步方法
CN105653374A (zh) * 2014-11-12 2016-06-08 华为技术有限公司 分布式事务资源执行的方法、装置和系统
CN105045652A (zh) * 2015-07-07 2015-11-11 深圳市云舒网络技术有限公司 一种多终端共同处理多并行线程程序的方法和处理系统
CN106874077A (zh) * 2015-12-11 2017-06-20 腾讯科技(深圳)有限公司 进程运行方法及装置
CN105740073A (zh) * 2016-01-21 2016-07-06 浪潮(北京)电子信息产业有限公司 一种动态控制操作系统进程数量的方法及装置
CN106951335A (zh) * 2017-02-28 2017-07-14 维沃移动通信有限公司 一种进程守护方法和移动终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨绪岩: "并行数据仓库系统中元数据管理、并发控制与恢复策略的研究", 《中国优秀硕士毕业论文全文数据库》 *

Similar Documents

Publication Publication Date Title
US8341639B2 (en) Executing multiple threads in a processor
Bordoloi et al. Schedulability analysis of Ethernet AVB switches
US9639396B2 (en) Starvation control in a data processing system
CN106569891B (zh) 一种存储系统中任务调度执行的方法和装置
CN111045810B (zh) 一种任务调度处理方法及装置
CN107797848B (zh) 进程调度方法、装置和主机设备
CN109064327A (zh) 一种智能合约处理方法、装置及设备
US10305974B2 (en) Ranking system
WO2006009261A1 (ja) 実時間処理ソフトウェア制御装置及び方法
US20240264875A1 (en) Method, apparatus, system, device, medium and program product for resource scheduling
CN112596898A (zh) 一种任务执行器调度的方法及装置
US9513969B2 (en) Method for the management of task execution in a computer system
US9128754B2 (en) Resource starvation management in a computer system
CN103812911A (zh) 一种控制使用PaaS云计算平台服务资源的方法和系统
CN109697128A (zh) 一种线程维护方法、装置及电子设备
US11256549B2 (en) Method and apparatus for thread scheduling
CN109508239A (zh) 进程的控制方法及装置
CN111143066A (zh) 一种事件处理方法、装置、设备及存储介质
CN107958414B (zh) 一种清除cics系统长交易的方法及系统
CN111385214A (zh) 一种流量控制方法、装置及设备
US9618988B2 (en) Method and apparatus for managing a thermal budget of at least a part of a processing system
JP6551049B2 (ja) 帯域制御回路、演算処理装置、および装置の帯域制御方法
FR2980611A1 (fr) Circuit pour planifier le deroulement d'un traitement de donnees
Garncarek et al. Fault-tolerant online packet scheduling on parallel channels
CN109558238A (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
CB02 Change of applicant information

Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Applicant after: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

Address before: 100086 Beijing city Haidian District Shuangyushu Area No. 76 Zhichun Road cuigongfandian 8 layer A

Applicant before: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
RJ01 Rejection of invention patent application after publication

Application publication date: 20190322

RJ01 Rejection of invention patent application after publication