进程优化方法、装置、存储介质和计算机设备与流程

文档序号:19906165发布日期:2020-02-11 14:31阅读:143来源:国知局
进程优化方法、装置、存储介质和计算机设备与流程

本申请涉及计算机技术领域,特别是涉及一种进程优化方法、装置、存储介质和计算机设备。



背景技术:

目前,windows电脑系统中,各种进程在后台运行,其中一些进程可能是完全没有必要运行的,例如广告等等,这些进程占据了大量的cpu,内存等系统资源,直接造成了系统卡顿,影响正常使用。

现有的电脑管家、安全卫士等安全程序也提供了进程优化加速的方案,例如电脑管家的优化标准为进程的内存占用率。现有的进程优化方案基于固定的优化标准,显得较为死板不够灵活,对于一些父子进程的优化存在残留,优化清理不彻底。



技术实现要素:

基于此,本申请实施例的目的在于,提供一种进程优化方法、装置、存储介质和计算机设备,其具有进程的优化灵活、高效、更深入和彻底的优点。

第一方面,本申请实施例提供一种进程优化方法,包括如下步骤:

获取本地运行的所有进程的进程信息;所述进程信息包括进程名称和资源消耗信息;

将进程名称相似度达到第一阈值的父子进程的资源消耗信息合并,获得待优化进程列表;

埋点上报所述待优化进程列表至管控设备;

接收所述管控设备下发的进程优化指令,根据所述进程优化指令优化所述待优化进程列表中的进程。

在一个实施例中,所述将进程名称相似度达到第一阈值的父子进程的资源消耗信息合并,是将进程名称相似度达到第一阈值的父进程和子进程的资源消耗信息进行相加后作为父进程的资源消耗信息,并将子进程从所述待优化进程列表中删除。

在一个实施例中,所述获得待优化进程列表的步骤和埋点上报所述待优化进程列表至管控设备的步骤之间,还包括如下步骤:

从所述待优化进程列表中删减掉windows的系统进程和资源消耗信息没有达到第二阈值的进程,获得预处理的待优化进程列表。

在一个实施例中,所述接收所述管控设备下发的进程优化指令,根据所述进程优化指令优化所述待优化进程列表的步骤,包括:

接收所述管控设备下发的第一优化指令;所述第一优化指令在所述管控设备判断所述待优化进程列表包括有资源消耗信息大于第三阈值的进程时产生;

按照所述第一优化指令优化处理资源消耗信息大于第三阈值的进程。

在一个实施例中,所述接收所述管控设备下发的进程优化指令,根据所述进程优化指令优化所述待优化进程列表的步骤,包括:

接收所述管控设备下发的第二优化指令;所述第二优化指令在所述管控设备接收到用户输入的选中指令时产生;

按照所述第二优化指令优化处理所述选中指令指定的进程。

在一个实施例中,所述接收所述管控设备下发的进程优化指令,根据所述进程优化指令优化所述待优化进程列表的步骤,包括:

接收所述管控设备下发的第三优化指令;所述第三优化指令在所述管控设备查找到同时包括在所述待优化进程列表和进程数据库中的进程时产生;所述进程数据库由所述管控设备获取被优化处理的进程集合,以被优化处理的进程集合为训练样本进行机器学习而获得;

按照所述第三优化指令优化处理同时包括在所述待优化进程列表和进程数据库中的进程。

在一个实施例中,所述接收所述管控设备下发的进程优化指令,根据所述进程优化指令优化所述待优化进程列表中的进程的步骤,包括:

当所述管控设备为云服务器时,所述进程优化指令通过物联网协议下发至本地计算机设备;本地计算机设备通过调用windows的api函数terminateprocess关闭所述进程优化指令指定的进程;

当所述管控设备为本地计算机设备时,所述进程优化指令在本地计算机设备内产生,本地计算机设备通过调用windows的api函数terminateprocess关闭所述进程优化指令指定的进程。

第二方面,本申请实施例还提供一种进程优化装置,其特征在于,包括:

进程森林建立模块,用于获取本地运行的所有进程的进程信息;所述进程信息包括进程名称和资源消耗信息;

父子进程合并模块,将进程名称相似度达到第一阈值的父子进程的资源消耗信息合并,获得待优化进程列表;

埋点上报模块,用于埋点上报所述待优化进程列表至管控设备;

进程优化模块,用于接收所述管控设备下发的进程优化指令,根据所述进程优化指令优化所述待优化进程列表中的进程。

第三方面,本申请实施例还提供一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如上任一项的进程优化方法的步骤。

第四方面,本申请实施例还提供一种计算机设备,包括:

处理器以及存储器;

其中,所述存储器存储有计算机程序;所述计算机程序适于由所述处理器加载并执行如上任一所述的进程优化方法的步骤。

在本申请实施例的技术方案中,通过将进程名称相似度达到一定阈值的父子进程的资源消耗信息进行合并实现具有业务关联的父子进程的合并,减少后续进行进程优化的进程数量,并将有业务关联的父子进程作为一个整体来考虑便于制定优化策略,特别是考虑父子进程的资源占用时,单个父进程或者子进程的资源消耗信息可能都没有满足进程优化的条件,但事实上有业务关联的父子进程相互配合着完成一个业务,应当将父子进程的资源消耗信息进行合并考虑,因此本申请实施例的技术方案将进程名称相似度达到一定阈值的父子进程进行合并,从而使得进程优化更为深入和彻底;并且根据所述管控设备下发的进程优化指令优化所述待优化进程列表,可以在管控设备端动态地配置优化策略,更加灵活和高效。

为了更好地理解和实施,下面结合附图详细说明本申请。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的进程优化方法的流程步骤图;

图2为本申请实施例的进程森林的示意图;

图3为本申请实施例提供的进程优化方法的步骤s400的第一种流程步骤图;

图4为本申请实施例提供的进程优化方法的步骤s400的第二种流程步骤图;

图5为本申请实施例提供的进程优化方法的步骤s400的第三种流程步骤图;

图6为本申请实施例提供的进程优化装置的结构示意图;

图7为本申请实施例的计算机设备的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。

应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

实施例1

本申请实施例公开了一种进程优化方法,请参阅图1,为本申请实施例提供的进程优化方法的流程图。该方法包括如下步骤:

步骤s100:获取本地运行的所有进程的进程信息;所述进程信息包括进程名称和资源消耗信息。

其中,可以通过windows的api获取本地运行的所有进程的进程信息。具体地,通过加载ntdll.dll,通过getprocaddress来获得psystem_process_information结构体,所述psystem_process_information结构体里面包括所有的进程信息,例如进程名称,父进程名称,子进程名称,pid,资源消耗信息等信息。所获得的进程信息以进程列表的形式存在。请参阅图2,为了显示进程之间的相互依赖关系和方便进一步对进程进行处理,根据进程列表以树的数据结构形式建立进程森林。在进程森林中,父进程作为父节点,子进程作为子节点。

步骤s200:将进程名称相似度达到第一阈值的父子进程的资源消耗信息合并,获得待优化进程列表。

应当理解,windows系统的进程有其特殊性,进程之间的父子关系不一定具有强关联。有时候一个进程仅仅是拉起了另一个进程,它们之间并没有业务之间的关联,而有时候,一个进程为了模块的解耦,会新建出很多子进程来处理不同的业务,这时候父子进程之间是有业务关联的。

所述资源消耗信息包括cpu占用率、内存占用率、网络速率和磁盘读写率的一个或多个。

在一个实施例中,所述将进程名称相似度达到第一阈值的父子进程的资源消耗信息合并,是将进程名称相似度达到第一阈值的父进程和子进程的资源消耗信息进行逐项相加后作为父进程的资源消耗信息,并将子进程从所述待优化进程列表中删除。具体地,一个父子进程的资源消耗信息进行合并指cpu占用率进行合并,内存占用率进行合并,网络速率进行合并和磁盘读写率进行合并等。

由于windows系统的父子进程没有强的业务关联性,所以子进程的资源消耗信息不能简单地合并到父进程中。能体现windows系统的父子进程之间的业务关联性的是父子进程名字的相似度。所述相似度定义为父子进程名字所共有的字符占两者字符最大长度的百分比。

在一个具体的实施例中,所述第一阈值设定为70%。所述步骤s200从进程森林的叶子节点(没有子进程的那些进程)开始向父进程向上合并,如果子进程和父进程的名字有70%及以上的相似度,那么就把子进程合并到父进程,依次逐步向上合并。合并的时候,父子进程的资源消耗信息进行叠加,在所述待优化进程列表中以父进程的名称显示父子叠加的资源消耗信息。如果子进程和父进程的进程名称相似度低于70%,那么就把子进程单独罗列出来,作为所述待优化进程列表的一个进程成员,与父进程一起独立地显示各自的资源消耗信息。

步骤s300:埋点上报所述待优化进程列表至管控设备。

在一个可选的实施例中,所述获得待优化进程列表的步骤s200和埋点上报所述待优化进程列表至管控设备的步骤s300之间,还包括如下步骤:

从所述待优化进程列表中删减掉windows的系统进程和资源消耗信息没有达到第二阈值的进程,获得预处理的待优化进程列表。

在埋点上报之前,可以从所述待优化进程列表中过滤掉windows的系统进程和资源消耗信息不足第二阈值的进程,从而获得新的待优化进程列表,减少后续进行进程优化的进程数量。所述资源消耗信息不足第二阈值,可以根据应用环境的不同而具体设定,例如cpu占用率不足1%,此外还可以设定内存占用率、网络速率和磁盘读写率等的第二阈值,对所述待优化进程列表进行预先筛选。对于不同的资源消耗信息,第二阈值可以不同。

在一个实施例中,所述埋点上报所述待优化进程列表至管控设备的步骤,包括:

上报所述待优化进程列表的进程名、进程签名信息、进程路径和资源消耗信息。

步骤s400:接收所述管控设备下发的进程优化指令,根据所述进程优化指令优化所述待优化进程列表。

其中,所述进程优化指令包括指定优化处理的进程和决定进程优化策略。所述进程优化策略可以是根据进程cpu的占用率超过一定阈值后关闭或者重启进程,还可以是综合磁盘占用率、网络速率和磁盘读写率等一系列指标来关闭或重启不达标的进程。

在一个实施例中,请查阅图3,从资源消耗信息维度来考虑,所述接收所述管控设备下发的进程优化指令,根据所述进程优化指令优化所述待优化进程列表的步骤s400,包括:

s401a:接收所述管控设备下发的第一优化指令;所述第一优化指令在所述管控设备判断所述待优化进程列表包括有资源消耗信息大于第三阈值的进程时产生;

s402a:按照所述第一优化指令优化处理资源消耗信息大于第三阈值的进程。

所述第三阈值大于所述第二阈值,可以理解的是,从资源消耗信息维度来考虑,本实施例保留的是资源消耗信息在第二阈值与第三阈值之间的进程。所述第三阈值可以根据用户当前使用计算机设备的卡顿情况来自由设定。

在一个实施例中,请查阅图4,所述接收所述管控设备下发的进程优化指令,根据所述进程优化指令优化所述待优化进程列表的步骤s400,包括:

s401b:接收所述管控设备下发的第二优化指令;所述第二优化指令在所述管控设备接收到用户输入的选中指令时产生;

s402b:按照所述第二优化指令优化处理所述选中指令指定的进程。

无论所述管控设备是本地计算机设备还是集群管控设备,本申请实施例都能根据用户从所述待优化的进程列表中勾选的进程生成和下发的第二优化指令,从而使得本地计算机设备按照所述第二优化指令优化处理所述用户指定的进程。优化处理的方法如上所述,包括关闭或者重启进程等。

在一个实施例中,请参阅图5,所述接收所述管控设备下发的进程优化指令,根据所述进程优化指令优化所述待优化进程列表的步骤,包括:

s401c:接收所述管控设备下发的第三优化指令;所述第三优化指令在所述管控设备查找到同时包括在所述待优化进程列表和进程数据库中的进程时产生;所述进程数据库由所述管控设备获取被优化处理的进程集合,以被优化处理的进程集合为训练样本进行机器学习而获得;

s402c:按照所述第三优化指令优化处理同时包括在所述待优化进程列表和进程数据库中的进程。

在利用本申请实施例的进程优化方法进行多次的进程优化后,收集被优化处理的进程集合进行大数据分析或者机器学习,构建神经网络模型等,构建出进程数据库。通过查找和比对所述进程数据库,当所述待优化的进程列表中包含了所述进程数据库中的进程,所述管控设备即可下发第三优化指令,在后台无感关闭本地计算机的相应进程,实现侵入式地优化windows的进程,提升本地计算机设备的使用体验。

在一个实施例中,所述进程数据库根据本地计算机设备所处的应用环境划分为对应不同应用环境的数据库子库。基于本地计算机设备所处的应用环境,查找和比对相应的数据库子库生成进程优化指令,实现在不同的应用环境下定制进程优化策略。

在上述实施例的基础上,所述接收所述管控设备下发的进程优化指令,根据所述进程优化指令优化所述待优化进程列表中的进程的步骤,包括:

当所述管控设备为云服务器时,所述进程优化指令通过物联网协议下发至本地计算机设备;本地计算机设备通过调用windows的api函数terminateprocess关闭所述进程优化指令指定的进程。所述windows的api函数terminateprocess通过埋点上报的进程名称或者进程路径打开进程,并关掉进程。

当所述管控设备为云服务器时,可首先在本地计算机设备上安装客户端,客户端接入iot物联平台,云服务器与本地计算机设备的客户端之间采用物联网协议进行通信。可选地,云服务器与本地计算机设备的客户端之间通过mqtt物联网协议传输进程优化指令。mqtt物联网协议使用发布/订阅模式,提供一对多的消息发布,使消息发送者和接收者在时间和空间上解耦。具体地,用户通过web端或者小程序端登录云服务器,发布所述进程优化指令,同时管控安装了客户端的多台本地计算机设备。所述埋点上报所述待优化进程列表至管控设备后,在所述云服务器的web端或者小程序端浏览界面形成可视化列表,用户可以根据应用环境的不同指定进程优化策略。

当所述管控设备为本地计算机设备时,所述进程优化指令在本地计算机设备内产生,本地计算机设备通过调用windows的api函数terminateprocess关闭所述进程优化指令指定的进程。

当所述管控设备为本地计算机设备时,运行进程的计算机设备与管控设备为同一设备,埋点上报所述待优化进程列表至管控设备可以理解为在本地提供待优化进程列表给计算机用户,以供计算机用户勾选需要优化的进程。

实施例2

本实施例是教育领域下的一个具体应用方案。在本实施例中,本地运行进程的计算机设备为教师平板,所述管控设备为教师平板或者通过web端或者小程序端管控多个教师平板的主控大板。本实施例的进程优化方法的实体装置应用为教育产品的管脚助手,用于为教师提供一个干净、高速的教学系统环境。本实施例的进程优化方法的核心是通过父子进程的合并、用户选择和数据库比对等手段筛选出资源占用率高的不合理进程列表,进行主动清理和被动清理。在本实施例中,以cpu占用率为进程优化指标。

具体地,获取教师平板的所有的进程信息,构建进程森林。

将进程名称相似度达到第一阈值的父子进程的cpu占用率合并,获得待优化进程列表。并且从待优化进程列表中过滤掉系统进程和cpu占用率不足1%的进程,减少下一步进程优化的数量。

将过滤之后的待优化进程列表埋点上报给教师平板或者主控大板。在教师平板,教师用户可以在教师平板的用户界面勾选需要关闭的进程;在主控大板,电教管理员可以根据教学环境的不同,指定需要优化的进程。

例如,在授课的教学环境下,教师需要使用到的程序为ppt展示程序,则电教管理员可以选择关闭与ppt展示程序无关的其他进程,减少cpu的占用率。

进一步地,教师用户或者电教管理员指定的优化的进程也埋点上报,作为大数据分析的数据来源或者进行机器学习的训练样本,通过大数据分析或半监督学习获得进程数据库。当这个进程数据库相对成熟后,通过集群管控设备可以在后台动态下发关闭进程指令,无感关闭教师平板中cpu占用率高,且教师用户真正想要关闭的无用程序,实现侵入式地优化进程,提升教师用户的使用体验,实现被动清理。

优选地,根据教学环境的不同分别构建不同的进程数据库子库。例如授课环境下,保留ppt进程,优化处理其他进程。所述教学环境还可以包括带读环境、自学环境、互动环境等,相应地构建进程数据库子库,在这些不同的教学环境下,集群管控设备通过查找和比对不合理进程数据库子库,选择性优化与教学环境无关的进程,实现教学环境的优化。

在本申请实施例的技术方案中,通过将进程名称相似度达到一定阈值的父子进程进行合并实现具有业务关联的父子进程的合并,减少后续进行下进程优化的进程数量,并将有业务关联的父子进程作为一个整体来考虑便于制定优化策略,特别是考虑父子进程的资源占用时,单个父进程或者子进程的资源消耗信息可能都没有满足进程优化的条件,但事实上有业务关联的父子进程相互配合着完成一个业务,应当将父子进程的资源消耗信息进行合并考虑,因此本申请实施例的技术方案由于将进程名称相似度达到一定阈值的父子进程进行合并,从而使得进程优化更为深入和彻底;并且根据所述管控设备下发的进程优化指令优化所述待优化进程列表,可以在管控设备端动态地配置优化策略,更加灵活和高效。

实施例3

请查阅图6,本申请实施例还提供一种进程优化装置,包括:

进程信息获取模块10,用于获取本地运行的所有进程的进程信息;所述进程信息包括进程名称和资源消耗信息;

父子进程合并模块20,用于将进程名称相似度达到第一阈值的父子进程的资源消耗信息合并,获得待优化进程列表;

埋点上报模块30,用于埋点上报所述待优化进程列表至管控设备;

进程优化模块40,用于接收所述管控设备下发的进程优化指令,根据所述进程优化指令优化所述待优化进程列表中的进程。

在上述实施例的基础上,所述父子进程合并模块20,是将进程名称相似度达到第一阈值的父进程和子进程的资源消耗信息进行相加后作为父进程的资源消耗信息,并将子进程从所述待优化进程列表中删除。

在上述实施例的基础上,所述进程优化模块40,具体用于:

从所述待优化进程列表中删减掉windows的系统进程和资源消耗信息没有达到第二阈值的进程,获得预处理的待优化进程列表。

在上述实施例的基础上,所述进程优化模块40,具体用于:

接收所述管控设备下发的第一优化指令;所述第一优化指令在所述管控设备判断所述待优化进程列表包括有资源消耗信息大于第三阈值的进程时产生;

按照所述第一优化指令优化处理资源消耗信息大于第三阈值的进程。

在上述实施例的基础上,所述进程优化模块40,具体用于:

接收所述管控设备下发的第二优化指令;所述第二优化指令在所述管控设备接收到用户输入的选中指令时产生;

按照所述第二优化指令优化处理所述选中指令指定的进程。

在上述实施例的基础上,所述进程优化模块40,具体用于:

接收所述管控设备下发的第三优化指令;所述第三优化指令在所述管控设备查找到同时包括在所述待优化进程列表和进程数据库中的进程时产生;所述进程数据库由所述管控设备获取被优化处理的进程集合,以被优化处理的进程集合为训练样本进行机器学习而获得;

按照所述第三优化指令优化处理同时包括在所述待优化进程列表和进程数据库中的进程。

在上述实施例的基础上,所述管控设备为本地计算机设备或集群管控设备。

基于相同的发明构思,本实施例的进程优化装置具有与上述的进程优化方法相同的有益效果。

本申请实施例还提供一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如上任一项的进程优化方法的步骤。

请查阅图7,本申请实施例还提供一种计算机设备,包括:

处理器50以及存储器60;

其中,所述存储器60存储有计算机程序;所述计算机程序适于由所述处理器50加载并执行如上任一所述的进程优化方法的步骤。

在本实施例中,处理器50和存储器60通过总线连接,存储器60可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。计算机可读储存介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

处理器50可以是一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件。在本实施例中,所述处理器50还可以为多个,或者处理器50可以包括一个或者多个处理核心。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。

单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1