掌桥专利:专业的专利平台
掌桥专利
首页

进程管理方法、装置、计算机设备及存储介质

文献发布时间:2023-06-19 18:32:25


进程管理方法、装置、计算机设备及存储介质

技术领域

本申请涉及云技术、大数据处理、云存储技术领域,本申请涉及一种进程管理方法、装置、计算机设备及存储介质。

背景技术

Kubernetes是采用容器化部署方式管理业务进程的平台,因其简单、高效的管理而逐渐成为行业发展趋势。业务进程包括容器化的在线进程和离线进程,在Kubernetes平台可通过资源分配来对业务进程进行在线离线的混合部署。目前仍有些在线进程因未进行容器化部署或不适合容器化部署,而未加入在线离线的混合部署。本领域中,可通过对离线进程和非容器化的在线进程进行管理,以实现非容器化的在线进程与离线进程的混合部署。

相关技术中,进程管理方法可以包括:非容器化的在线进程运行在宿主机,可以划分出宿主机的固定资源数值的资源运行离线进程,例如,将宿主机的八核CPU(CentralProcessing Unit,中央处理器)划分出其中两核来运行离线进程,而其他资源运行非容器化的在线进程,以实现在宿主机上对在线进程和离线进程的混合部署。

上述通过划分固定资源进行在线离线的混合部署,这种僵硬的部署方式会导致在线进程无法很好的应对一些突发状况(例如在线进程数量突增),从而影响进程的正常运行。因此,上述进程管理方法的准确性较低。

发明内容

本申请提供了一种进程管理方法、装置、计算机设备及存储介质,可以解决相关技术中进程管理方法的准确性较低的问题。所述技术方案如下:

一方面,提供了一种进程管理方法,所述方法包括:

基于在线进程目录集合,获取宿主机中当前运行的至少一个在线进程的资源占用总量;

基于所述资源占用总量,更新离线进程在所述宿主机的资源待用量,所述资源待用量不大于所述宿主机中除所述资源占用总量以外的剩余资源量;

基于所述资源待用量,更新在所述宿主机中运行的离线进程。

另一方面,提供了一种进程管理装置,所述装置包括:

获取模块,用于基于在线进程目录集合,获取宿主机中当前运行的至少一个在线进程的资源占用总量;

更新模块,用于基于所述资源占用总量,更新离线进程在所述宿主机的资源待用量,所述资源待用量不大于所述宿主机中除所述资源占用总量以外的剩余资源量;

所述更新模块,还用于基于所述资源待用量,更新在所述宿主机中运行的离线进程。

另一方面,提供了一种计算机设备,所述计算机设备包括:

一个或多个处理器;

存储器;

一个或多个计算机程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行上述的进程管理方法。

另一方面,提供了一种计算机可读存储介质,所述计算机存储介质用于存储计算机指令,当所述计算机指令在计算机上运行时,使得计算机可以执行上述的进程管理方法。

另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的进程管理方法。

本申请提供的技术方案带来的有益效果是:

通过在线进程目录集合,获取在线进程的资源占用总量,基于资源占用总量更新资源待用量,以实现在线进程和离线进程各自资源之间的联动,并且,资源待用量不大于除资源占用总量以外的剩余资源量,充分保证了在线进程的高效运行,准确的得到避免干扰在线资源的离线资源量,提高了在线进程和离线进程混合部署的准确性和灵活性;基于资源待用量来更新离线进程,从而在保证在线进程稳定高效运行的前提下,使得剩余资源可以充分利用,提高了资源利用率;进而提高了进程管理的准确性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。

图1为本申请提供的一种进程管理方法的实施环境示意图;

图2为本申请实施例提供的一种进程管理方法的流程示意图;

图3为本申请实施例提供的一种进程管理中批量匹配在线进程的流程示意图;

图4为本申请实施例提供的一种在线进程目录集合生成及更新过程示意图;

图5为本申请实施例提供的一种基于混部组件管理的示意图;

图6为本申请实施例提供的一种进程管理装置的示意图;

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

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

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

云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。

云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。

云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。

作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。

按照逻辑功能划分,在IaaS(Infrastructure as a Service,基础设施即服务)层上可以部署PaaS(Platform as a Service,平台即服务)层,PaaS层之上再部署SaaS(Software as a Service,软件即服务)层,也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web容器等。SaaS为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,SaaS和PaaS相对于IaaS是上层。

云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。

目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,ID entity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。

存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。

数据库(Database),简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

大数据(Big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多的关注,大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。

机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。

本申请提供的进程管理方法,是通过对进程管理以实现在线进程和离线进程的混合部署;示例性的,可以利用云技术,管理云计算的资源池中的设备上运行的进程,以实现对资源池中的设备进行在线进程和离线进程的混合部署。当然,也可以利用云存储技术或者大数据技术,对云存储系统中各个节点服务器或者大数据中各个数据中心的服务器进行在线进程和离线进程的混合部署;示例性的,本申请中离线进程可以是利用机器学习技术实现的业务下的进程,例如,训练机器学习模型,从而可以利用宿主机上未被在线进程占用的剩余资源训练模型,以最大化利用宿主机中资源。示例性的,对于云存储技术中分布式存储的相关业务,有些业务不适合采用Kubernetes平台的容器化部署,则对于直接运行在分布式存储系统的宿主机上的业务进程,可以采用本申请实施例中的进程管理方法,统计其资源占用总量,以实现在线进程和离线进程的混合部署。

图1为本申请提供的一种进程管理方法的实施环境示意图。如图1所示,该实施环境包括:计算机设备。该计算机设备上安装有目标应用程序。该计算机设备上运行有业务进程,该业务进程可以包括在线进程和离线进程。该目标应用程序用于对在线进程和离线进程进行混合部署。示例性的,如图1所示,该计算机设备可以为宿主机身份的服务器,该目标应用程序可以为混部组件。

本申请实施例中,在线进程可以采用非容器化方式直接运行在宿主机上。在一个可能场景中,该宿主机可以通过混部组件管理离线进程和非容器化的在线进程,以实现对在线进程和离线进程的混合部署。如图1所示,该宿主机可以基于在线进程目录集合,统计宿主机上各个在线进程的资源占用总量;并基于该资源占用总量,更新离线进程在该宿主机的资源待用量,从而基于该资源待用量,对运行的离线进程进行更新,提高宿主机资源利用率;例如,更新后的资源待用量增大或减小时,相应增加或减少宿主机中运行的离线进程的数量。在一个可能示例中,该离线进程可以为基于Kubernetes平台部署的容器化进程,则该宿主机上可以搭建Kubernetes平台,以基于Kubernetes平台运行离线进程。

需要说明的是,该目标应用程序包括进程管理逻辑,宿主机可以执行该目标应用程序的程序代码,以基于进程管理逻辑实现对离线进程和在线进程的混合部署。该目标应用程序可以为组件、独立的应用或者安装于独立应用的插件等。图1中仅以目标应用程序是混部组件为例示出,本申请实施例对该目标应用程序的形式不做具体限定。在一个可能示例中,该计算机设备可以为某个应用的服务器,服务器通过运行业务进程以支持前端的业务;例如,以云技术、云存储、云计算、大数据、机器学习等技术为支撑的相关业务。本申请实施例中,仅以计算机设备是宿主机,即一种特殊身份的服务器的形式示例。其中,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器或服务器集群。在另一个可能示例中,该计算设备也可以为运行业务进程并能够实现混合部署的任一机器,例如,银行或其他机构的大型管理设备,通过运行大量进程以支持银行的各项业务实现。当然,该计算机设备也可以为其他形式的机器设备,本申请实施例对计算机设备的具体形式不做限定。

下面对本申请实施例涉及的名词进行介绍:

在线进程:对于期望响应时间较短的在线业务,宿主机实时运行基于在线进程以快速响应前端请求。例如,在浏览器的搜索业务,在线聊天等。

离线进程:对于期望响应时间无要求或者无需即时响应的业务,可以运行离线进程来实现,例如,机器学习中模型训练。

宿主机:是相对于虚拟机、容器而言的,部署有虚拟机或容器的机器即为该虚拟机或容器的宿主。在本申请中,宿主机是运行有非容器化的在线进程的机器,本申请可以利用宿主机中未被在线进程占用的空闲资源,来运行离线进程。

资源占用总量:每个在线进程对应一个资源占用量,资源占用总量是指宿主机中当前运行的多个在线进程的资源占用量的总和。

资源待用量:宿主机中可用于运行离线进程的资源量。

非容器化:是指业务直接以进程方式部署,并在宿主机上直接启动,其运行环境以来宿主机配置,是容器流行之前的主要管理方式。本申请的在线进程即为非容器化的进程。需要说明的是,虽然利用Kubernetes平台将业务进程容器化部署是一种趋势,但目前仍有非容器化的在线进程,或者仍有些不适合容器化的在线进程,例如分布式存储类业务的进程;这些非容器化的在线进程可以直接运行在宿主机上,而本申请即为针对直接运行在宿主机上的非容器化的在线进程,将宿主机中未被非容器化的在线进程占用的资源加以利用,提升宿主机资源利用率。

Kubernetes:用于容器编排的资源调度管理平台,是容器云平台的底座,用户可以基于Kubernetes平台提交业务,业务以容器的形式运行。

容器:业务进程及其运行环境依赖一起打包到镜像中,业务部署时直接部署镜像,并在镜像中拉起业务进程。业务进程的运行环境跟宿主机相互隔离。Kubernetes平台的在线进程和离线进程可以采用容器化方式部署。本申请中,针对Kubernetes平台的离线进程,可以基于宿主机中未被在线进程占用的资源,适当填充来自Kubernetes平台的离线进程,以提高宿主机资源利用率。

在线离线混部:在线进程和离线进程混合部署,宿主机上优先运行在线进程,利用未被在线进程占用的资源,适当填充一些离线进程来提升资源利用率。

Cgroup(control groups,控制组群):是一种将机器中业务进程以组为单位划分以进行资源控制的机制。例如,可以在Linux环境下控制不同业务对应的进程的内存、CPU等资源。

下面以具体实施例中的步骤对本申请的进程管理方法进行介绍。

图2为本申请实施例提供的一种进程管理方法的流程示意图。该方法的执行主体可以为计算机设备。该计算机设备可以为宿主机身份的服务器,该宿主机中运行非容器化的在线进程和离线进程,该离线进程可以为基于Kubernetes平台部署的容器化进程。下面以宿主机为例进行介绍,如图2所示,该方法包括以下步骤。

步骤201、宿主机基于该宿主机中当前运行的业务进程的命令行字符串,筛选出该业务进程中的在线进程。

该命令行字符串用于指示该业务进程是否属于在线进程。本步骤中,该宿主机可以获取每个业务进程的命令行字符串,当该命令行字符串指示该业务进程属于在线进程时,该宿主机确定该业务进程为在线进程。在一个可能示例中,该宿主机可以基于命令行字符串所包括的字符进行判断。当该宿主机检测到该命令行字符串包括目标字符时,该宿主机将该业务进程确定为在线进程,该目标字符用于指示业务进程属于在线进程;也即是,命令行字符串包括目标字符的业务进程即为在线进程。示例性的,每个业务进程对应有命令行字符串,该业务进程基于命令行字符串得以在宿主机上启动并运行;该命令行字符串可以是该业务进程的命令行参数,例如,命令行参数可以包括业务进程的启动参数。在线进程的命令行参数包括目标字符,不同在线进程的目标字符可以相同或不相同,该目标字符可以基于需要进行更新;例如,该目标字符可以是upset。

在一种可能实现方式中,该宿主机上当前运行至少两个业务进程;例如,运行成百上千或更高数量级的业务进程时,该服务器也可以将多个业务进程分组、批量完成筛选,相应的,本步骤可以通过以下步骤2011-步骤2013实现。

步骤2011、宿主机基于该至少两个业务进程的进程标识,将该至少两个业务进程的至少两个命令行字符串进行拼接,得到拼接字符串。

该宿主机可以获取当前运行的每个业务进程的进程标识;对于每个业务进程,该宿主机根据该业务进程的进程标识,获取该业务进程的命令行字符串,并按照多个业务进程的进程标识的顺序,将多个业务进程的多个命令行字符串拼接为一个拼接字符串;该宿主机还可以确定该拼接字符串的位置索引,该位置索引用于指示该拼接字符串的各个拼接位置的命令行字符串所对应的业务进程。示例性的,对于每个业务进程,该宿主机可以基于该进程标识,获取该业务进程的命令行读取路径,从该命令行读取路径中读取该业务进程的命令行字符串。该进程标识可以为PID(Process Identification,进程号),例如,以Linux操作系统为例,该宿主机可以基于某个业务进程的PID,获取该业务进程的命令行读取路径可以为/proc/{pid}/cmdline,从/proc/{pid}/cmdline中读取命令行字符串,其中,{pid}代表对应的业务进程的进程号,不同业务进程的命令行读取路径中{pid}取值不同。

在一个可能实现方式中,该宿主机可以按照各个业务进程的进程标识的顺序,将各个业务进程的命令行字符串之间通过连接符进行连接,得到拼接字符串。并且,该宿主机还可以建立业务进程的进程标识的顺序与该业务进程的命令行字符串在拼接字符串的拼接位置之间的索引,得到拼接字符串的位置索引,也即是,该索引关系包括进程标识的顺序与拼接位置之间的索引。示例性的,该宿主机可以将当前运行的业务进程进行分组,每组包括多个业务进程,分批对每组包括的多个业务进程的命令行字符串进行拼接,得到该组对应的拼接字符串,并基于后续2012-2013的步骤,实现对多个业务进程的批量匹配。

在一个可能示例中,该宿主机可以采用数组来表示进程标识和位置索引,例如,各个业务进程的进程标识、命令行字符串以及拼接字符串的位置索引可以表示为以下三个数据结构:

1、多个业务进程的进程PID可以为进程PID数组的形式,该进程PID数组可以表示为ARRAY_PID,其中,ARRAY(数组);

2、多个业务进程的命令行字符串,可以按照进程PID数组的PID顺序相对应,采用加号连接起来,得到拼接字符串,拼接字符串可以表示为CMDS_STR;

3、多个命令行字符串在拼接字符串中对应的起始位置以及对应的进程号的顺序,可以表示为二维数组ARRAY_CMD的形式,得到位置索引数组ARRAY_CMD。

如图3所示,图3的左侧矩形框中示出了各个数据结构,其中,进程PID_1、进程PID_2、进程PID_3分别表示三个业务进程的进程号,相应的,三个业务进程的命令行字符串按照进程号的顺序,以加号连接,这三个命令行字符串在拼接字符串对应的位置索引分别表示为(star1,end1)、(star2,end2)和(star3,end3),其中,star表示命令行字符串在拼接字符串的起始位置,end表示命令行字符串在拼接字符串的结束位置,例如,进程PID_2在拼接字符串的起始位置和结束位置可以表示为(6,10)。

步骤2012、宿主机对目标字符和该拼接字符串换进行字符匹配,确定与该目标字符匹配的匹配字符在该拼接字符串的字符位置。

该宿主机可以采用正则匹配的方式,对目标字符和拼接字符串进行字符匹配。示例性的,该宿主机可以基于目标字符生成正则表达式,基于该正则表达式,获取拼接字符串中与该目标字符匹配的匹配字符,并获取该匹配字符在该拼接字符串的匹配位置。示例性的,该正则表达式用于表示目标字符与拼接字符串的字符匹配规则。例如,当拼接字符串中某个字符包括目标字符或某个字符与目标字符相同时,该宿主机可以确定该字符为与目标字符匹配的匹配字符。

在一个可能示例中,该混部组件中可以包括匹配程序,该匹配程序包括基于目标字符进行字符匹配的匹配逻辑,用户可以在宿主机中输入目标字符,宿主机基于输入的目标字符,执行该匹配程序,以对目标字符和该拼接字符串进行字符匹配,输出匹配字符的字符位置。示例性的,该字符位置可以表示为二维数组的形式,例如,该宿主机可以输出二维数组,该二维数组包括一个或多个匹配字符的字符位置。例如,输出二维数组a[8][2],表示二维数组a为8行2列的数组,每行表示拼接字符串中一个匹配字符的字符位置,例如,a[8][2]的第1行:a[0][0]=7,a[0][1]=8;表示拼接字符串中第一个匹配字符的字符位置,第一个匹配字符在拼接字符串的起始位置为7、结束位置为8。

如图3所示,图3的右侧矩形框中示出了一种匹配结果,其中,宿主机在进程PID_2的命令行字符串中匹配出了拼接字符串的第一个匹配字符。如图3所示,该第一个匹配字符的字符位置可以表示为(matchstart1,matchend1),其中,match(匹配)start(起始)1表示第一个匹配字符在拼接字符串的起始位置,matchend(结束)1表示第一个匹配字符在拼接字符串的结束位置。由图3可知,该匹配字符位于第二个命令行字符串,也即是,该匹配字符的字符位置(matchstart1,matchend1)位于的第二个命令行字符串的拼接位置(star2,end2)中。例如,第二个命令行字符串的拼接位置为(6,10),其中的匹配字符的字符位置为(7,8)。

步骤2013、宿主机基于该匹配字符的字符位置和该拼接字符串的位置索引,确定该匹配字符对应的业务进程,将该匹配字符对应的业务进程确定为在线进程。

该宿主机基于字符位置,在位置索引中定位出该匹配字符所在的命令行字符串的拼接位置,基于该拼接位置,从位置索引中查找该拼接位置对应的进程标识。

在一个可能示例中,该宿主机可以基于该字符位置的二维数组、进程PID数组ARRAY_PID和位置索引数组ARRAY_CMD,确定匹配字符对应的业务进程。示例性的,该宿主机可以将该字符位置的二维数组与位置索引数组ARRAY_CMD进行取交集运算,获取交集在位置索引数组ARRAY_CMD中的索引,也即是交集在位置索引数组ARRAY_CMD中对应的进程标识的顺序,基于该进程标识的顺序,在进程PID数组ARRAY_PID中定位该顺序所对应的业务进程。如图3所示,第一个匹配字符的字符位置(matchstart1,matchend1)与位置索引数组ARRAY_CMD取交集,得到交集位于的第二个命令行字符串的拼接位置(star2,end2)中,相应的,基于位置索引数组ARRAY_CMD,可以得出匹配字符对应于的业务进程的顺序为第二个,则基于进程PID数组ARRAY_PID,定位出第二个业务进程的进程PID,从而确定该PID的业务进程为在线进程。

需要说明的是,该宿主机可以周期性执行该步骤201,以实现实时筛选在线进程。也可以基于目标事件的触发执行该步骤201,例如,该目标事件可以包括但不限于:宿主机启动、混部组件启动、当前时间为目标时间点、用户触发混部组件以更新混合部署的事件等。例如,该宿主机可以在启动混部组件时,执行一次上述步骤201;基于该筛选结果执行后续步骤202。

通过基于业务进程的命令行字符串,筛选出业务进程中的在线进程,能够准确的基于具体的字符进行判断,提高了筛选的准确性;并且,还可以基于多个命令行字符串进行拼接,基于目标字符和拼接字符串进行字符匹配,基于匹配结果来批量定位多个业务进程中的在线进程,采用目标字符与多个命令行字符串批量匹配的方式,加快了匹配效率;而且,基于位置索引与批量匹配出的字符位置可以精确定位出在线进程的进程标识,保证业务进程中在线进程能被一一筛选出,即使在宿主机中业务进程数目庞大时,也能后高效、准确的筛选出在线进程,在保证准确性的前提下,提高了筛选效率。

步骤202、宿主机创建初始目录集合。

该宿主机配置有Cgroup资源控制机制,该宿主机可以在该Cgroup中创建初始目录集合,该初始目录集合用于记录各个在线进程所属的目录,以便后续基于各个在线进程所属的目录,统计宿主机上在线进程的资源占用总量。

步骤203、宿主机基于该宿主机中当前运行的至少一个在线进程,在该初始目录集合中添加每个在线进程所属的目录,以生成该在线进程目录集合。

该目录用于指示待进行资源统计的在线进程。该宿主机基于筛选出的在线进程,获取该在线进程所属的目录,并在初始目录集合中添加每个在线进程所属的目录,从而生成包括多个目录的在线进程目录集合。该在线进程目录集合用于指示宿主机上当前运行的多个在线进程。

在一个可能示例中,用户在创建业务实例时,可以设置对该业务实例的业务进程进行资源统计,此时该宿主机中创建有该业务实例的业务目录,该业务目录包括该业务实例的在线进程的进程标识。当然,用户也可以不设置对业务实例的业务进程进行资源统计,则该业务实例的在线进程未属于任何业务目录,相应的,步骤203可以包括:对于每个在线进程,响应于该在线进程属于任一业务目录,宿主机在该初始目录集合中添加该任一业务目录;响应于该在线进程不属于任一业务目录,宿主机创建该在线进程对应的统计目录,并在该新创建的统计目录中添加该在线进程的进程标识,在该初始目录集合中添加该新创建的统计目录。示例性的,业务目录可以包括属于同一业务实例下的在线进程的进程标识,该宿主机在该初始目录集合中添加业务目录后,便可基于该业务目录实时监控到该业务目录下各个在线进程的资源占用量。如果在线进程不属于任何业务目录,则可以创建统计目录,并将该在线进程的进程标识加入该新创建的统计目录以对该在线进程进行资源统计。在该初始目录集合中添加新创建的统计目录后,也可实时监控该在线进程的资源占用量。

在一个可能实现方式中,该宿主机还可以监控各个目录中在线进程的变化情况,以实时更新在线进程目录集合。也即是,宿主机生成该在线进程目录集合之后,还可以包括:宿主机更新该在线进程目录集合。示例性的,该宿主机可以基于目录下各个在线进程实时更新在线进程目录集合,例如,在线进程的重启、注销或者新创建子进程等情况进行更新,相应的,该更新方式可以包括以下三种方式。

方式一、当该在线进程的进程标识属于任一业务目录时,响应于该在线进程的重启事件或更新事件,宿主机在该任一业务目录中添加重启或更新后的在线进程的进程标识。

该重启事件是指该在线进程重新启动,该更新事件是指该在线进程的版本升级。当在线进程的进程标识属于任一业务目录时,该在线进程基于重启事件或者更新事件,重启或更新后的新的在线进程会自动加入到旧进程所属的业务目录中。

对于在线进程的进程标识不属于任一业务目录的情况,该宿主机可以监控各个目录中在线进程的进程数,基于进程数的变化重新筛选在线进程,以实时更新在线进程目录集合。在一个可能示例中,该宿主机可以实时统计宿主机上在线进程的进程总数的变化情况,基于该进程总数来筛选在线进程。该过程可以包括:该宿主机基于该在线进程目录集合中各个目录,周期性统计该宿主机中当前运行的在线进程的进程总数;响应于该进程总数改变时,再次执行从业务进程中筛选在线进程的筛选过程,并基于再次筛选出的在线进程,更新该在线进程目录集合;其中,该筛选过程包括:基于该宿主机中当前运行的业务进程的命令行字符串,筛选出该业务进程中的在线进程;该筛选过程与上述步骤201同理的方式,此处不再赘述。

示例性的,该宿主机可以将各个目录所包括的在线进程的进程数进行累加,将该累加得到的累加值作为该宿主机中在线进程的进程总数。当该进程总数改变,例如,进程总数增大或减小时,再次执行筛选过程。例如,当进程总数减小时,说明有旧的在线进程退出,则可能有新的在线进程创建,例如旧进程退出后重启,或者版本更新时先退出、更新后再次启动等。示例性的,该宿主机基于筛选出的在线进程,与当前在线进程目录集合中各个业务目录包括的进程进行比对,从筛选出的在线进程中查找未属于任一业务目录的新的在线进程,创建该新的在线进程对应的统计目录,并在该新创建的统计目录中添加该新的在线进程的进程标识,在该在线进程目录集合中添加该新创建的统计目录,以保证在线进程目录集合的时效性。

在另一个可能示例中,该宿主机还可以针对统计目录,监控各个统计目录的进程数的变化情况,例如,该宿主机可以周期性统计各个统计目录中在线进程的进程数,当任一统计目录中在线进程的进程数发生变化时,再次执行从业务进程中筛选在线进程的筛选过程,并基于再次筛选出的在线进程,更新该在线进程目录集合。

如图4所示,对于在线进程已属于某个Cgroup目录的情况,可直接将其加入在线进程Cgroup目录集合,对于在线进程不属于任一业务目录的情况,可以新创建在线进程对应的Cgroup目录,并将进程标识添加至该Cgroup目录,再在Cgroup目录集合添加该Cgroup目录,并且,当进程数目前后不一致时,可以再次筛选在线进程,以触发迁移Cgroup逻辑,也即是将新的进程的Cgroup目录加入Cgroup目录集合中,以保证基于Cgroup目录集合可以得到最新的在线进程的资源占用情况。

需要说明的是,对于在线进程已属于业务目录的情况,可以实时基于该业务目录中在线进程的变化,重启或更新后的在线进程自动加入该业务目录,从而后续可以基于在线进程目录集合统计在线进程的最新情况,保证统计的准确性。

对于宿主机新创建的在线进程对应的统计目录,该统计目录中在线进程基于重启事件或更新事件后,重启或更新后的新的在线进程可能不会自动加入到对应的新创建的统计目录中。宿主机可以基于在线进程目录集合监控宿主机上在线进程的进程总数,或者也可以监控统计目录中在线进程的进程数,从而可以基于进程总数或进程数的变化情况,再次筛选在线进程,无需实时执行上述步骤201的筛选过程,也可以保证在线进程目录集合的时效性和准确率,减少了筛选次数,降低了系统开销,在尽可能节省系统资源的前提下,提高了后续统计在线进程的资源占用总量的准确性。

方式二、响应于该任一目录中的在线进程创建子进程,宿主机在该任一目录中添加该子进程的进程标识。

对于任一目录,当该目录下在线进程创建子进程时,该宿主机可以直接将该子进程的进程标识添加到该业务中。

方式三、响应于该任一目录中在线进程的注销事件,宿主机在该任一业务目录中删除已注销的在线进程的进程标识。

对于业务目录或统计目录中任一目录,当该目录下在线进程注销时,该宿主机可以直接从该目录中删除已注销进程的进程标识。

需要说明的是,该宿主机可以基于步骤201筛选出的在线进程,执行步骤202-203的过程;该宿主机基于步骤203生成在线进程目录集合后,可以监控各个目录的在线进程的进程数的变化情况,例如监控各个统计目录的进程数或监控在线进程目录集合的进程总数,当进程数或进程总数发生变化时再执行步骤201,以再次筛选最新的在线进程,从而基于最新的在线进程更新该在线进程目录集合,从而可以有效监控在线进程的变化情况,并减少了筛选次数,减少了运算量,降低了系统开销。

在另一个可能示例中,该宿主机也可以周期性执行步骤201,例如,该宿主机可以在生成在线进程目录集合后,周期性执行上述步骤201,以基于周期性筛选出的在线进程,实时更新在线进程目录集合,从而可以准确把控在线进程整体变化情况,进一步提高在线进程目录集合的准确性。

通过当在线进程创建新的子进程或者线程时,新创建的子进程或线程也会自动加入到该在线进程所在的目录中,或者,自动删除注销进程的进程标识,从而基于在线进程目录集合能够获得最新的在线进程的情况,保证了在线进程目录集合的时效性和准确性,保证了进程管理的准确性。

步骤204、宿主机基于在线进程目录集合,获取宿主机中当前运行的至少一个在线进程的资源占用总量。

该宿主机可以基于各个目录统计该资源占用总量。该资源占用总量可以是在线进程占用的CPU、内存或者磁盘等资源的资源量。例如,占用了CPU中内核的内核数量或者内存的内存空间量等。

在一个可能实现方式中,本步骤可以包括:该宿主机根据该在线进程目录集合所包括的至少一个目录,从资源统计文件中获取每个目录的资源占用量,该目录用于指示对应业务下待进行资源统计的在线进程,该资源统计文件包括对目录指示的在线进程进行资源统计得到的资源占用量;该宿主机基于该至少一个目录的资源占用量,统计该宿主机中至少一个在线进程的资源占用总量。示例性的,对于每个目录,该资源统计文件中统计了该目录下的一个或多个在线进程的资源占用量,该宿主机可以基于各个目录,从资源统计文件中获取各个目录的资源占用量。该宿主机可以将多个目录的资源占用量的累加值,确定为该资源占用总量。

在另一可能示例中,该资源统计文件中实时记录有在线进程目录集合对应的资源占用总量,也即是,该宿主机可以基于各个目录的资源占用量,将累加各个目录的资源占用量的累加值,也即是资源占用总量存储在在资源统计文件中,则该宿主机可以直接从资源统计文件中获取资源占用总量。例如,该宿主机可以周期性统计各个目录的资源占用量的累加值。

需要说明的是,该宿主机基于上述步骤203确定在线进程目录集合之后,该宿主机可以周期性执行步骤204,也即是,该宿主机按照目标周期,周期性执行基于在线进程目录集合,获取宿主机中当前运行的至少一个在线进程的资源占用总量的步骤;以实时监控在线进程的资源占用总量。本步骤中,该宿主机可以利用该在线进程目录集合,基于各个目录的资源占用量得到资源占用总量,从而将宿主机上各个在线进程的资源占用量准确计入,该资源占用总量来源于具体的各个目录的实际统计值,保证资源占用总量的准确性和可靠性。

步骤205、宿主机基于该资源占用总量,更新离线进程在该宿主机的资源待用量。

该资源待用量不大于该宿主机中除该资源占用总量以外的剩余资源量。该宿主机基于资源占用总量,从宿主机中除该资源占用总量以外的剩余资源量中,选取部分资源量作为该离线进程的资源待用量。

在一个可能实现方式中,该宿主机可以基于周期性执行步骤204所得到的资源占用总量,周期性执行步骤205,以实时更新该资源待用量,则本步骤可以包括:该宿主机按照目标周期,获取资源占用总量后,该宿主机基于该资源占用总量更新资源待用量。示例性的,该宿主机可以按照第一目标比例,将剩余资源量中第一目标比例的资源作为该资源待用量。例如,资源占用总量为宿主机中资源的30%,剩余资源量为70%,该第一目标比例可以为60%,则该资源待用量可以为宿主机中资源的42%。当然,也可以按照其他计算方式,选取少于剩余资源量的资源待用量,本申请实施例仅以第一目标比例来分配为例示出,但对该资源待用量的计算方式并不做具体限定。

在一个可能示例中,该宿主机还可以结合资源占用总量的变化情况,实时调整该资源待用量,该过程可以包括:该宿主机获取该在线进程的资源占用总量的增长率;该宿主机根据该在线进程的资源占用总量和该增长率,确定该离线进程对应的资源待用量。其中,该宿主机可以基于目标数目个目标周期的资源占用总量,确定该资源占用总量在该目标数目个目标周期的增长率;当该增长率超过目标阈值时,该宿主机可以将第一目标比例降低至第二目标比例,该宿主机将该第二目标比例与资源剩余量的乘积,作为资源待用量。当然,该宿主机可以采用其他计算方式计算该增长率和资源占用总量对应的资源待用量,本申请实施例对此不作具体限定。例如,该宿主机也可以设置增长率和目标比例之间的对应关系,例如,该增长率和目标比例之间可以成反比例关系,该增长率越大,目标比例越小,也即是,可分配给离线进程的资源待用量越少。

通过基于资源占用容量,更新资源待用量,以基于在线进程占用资源调整离线进程的可用资源,实现在线进程和离线进程之间的联动,提高了进程管理的灵活性。进一步的,还可以基于周期性统计的资源占用总量,实时调整资源待用量的大小,从而可以动态、实时的调配在线进程和离线进程之间的资源流动性,既保障了宿主机有充分的资源使得在线资源高效运行,又保证资源利用率的动态及时提升,进一步提高了进程管理的高效和准确性,提高了混合部署的灵活性。

步骤206、宿主机基于该资源待用量,更新在该宿主机中运行的离线进程。

在一个可能示例中,该宿主机可以基于该资源待用量的变化情况,实时调整在运行的离线进程的数量。示例性的,该宿主机可以实时监控离线进程的资源占用量,基于该离线进程的资源占用量和资源待用量,调整正在运行的离线进程的数量。例如,当离线进程的资源占用量大于该资源待用量时,将正在运行的离线进程的数目降低至目标数目,该目标数目的离线进程的资源占用量不超过该资源待用量。

在一个可能示例中,该混部组件中可配置有资源管理模块,通过该资源管理模块实现步骤206的过程。示例性的,该资源管理模块还可以配置有资源管理策略,基于该资源管理策略,对在线进程和离线进程之间资源实时调配、管理,实现在线和离线进程之间的联动,以保证各个进程的高效运行。在一个可能示例中,该资源管理策略可以包括在线离线进程之间的资源隔离策略,也即是,有些在线进程可能绑定在宿主机的固定资源,相应的,离线进程可以运行在固定资源以外的其他资源,从而使得离线在线进程物理隔离;基于该资源隔离策略,对在线进程的资源管理过程可以包括:响应于该在线进程对应业务的响应速率高于目标速率,宿主机将该宿主机的目标资源与该在线进程进行绑定。相应的,该宿主机可以基于该目标资源的绑定情况实时调整离线进程的运行资源,则基于该资源隔离策略,对离线进程的资源管理过程可以包括:该宿主机基于该资源待用量,将该离线资源运行在该宿主机中除该目标资源以外的其他资源。例如,对于响应速率要求较高的计算敏感型的业务,可以将其在线进程绑定在CPU的目标核上运行,由于Cache(高速缓冲存储器)是CPU和主存储器之间的高速存储读取的存储器,能够保存CPU刚用过或循环使用的部分数据,CPU通过从Cache上存储和读取能够实现快速读取和存储,大大提升处理效率。由于计算敏感型的业务的在线进程与目标核绑定,该目标核对应的Cache可以固定存储该计算敏感型业务的在线进程的相关数据,Cache不会被其他业务的其他进程所占用,因此避免了Cache被占用导致的从主存储器上重复重复读取数据的情况,能够保证计算敏感型业务被迅速响应。而宿主机通过将离线进程运行在其他资源,使得离线进程与其他资源绑定,避免干扰该计算敏感型业务的在线进程,进一步保证了进程管理的准确性和可靠性。

如图5所示,该宿主机可以安装有混部组件,该混部组件可以为Agent(代理)组件,该混部组件可以实时获取宿主机的节点资源,并基于在线进程目录集合,实时获取在线进程的资源使用情况,并基于在线进程的资源使用情况,实时更新资源待用量,以更新Kubernetes的离线进程的资源,调整离线进程;其中,该混部组件可以配置有资源管理模块,基于资源管理策略,对在线进程和离线进程之间联动,以保证各个进程的高效运行。

需要说明的是,该宿主机可以执行上述步骤201-203后,按照目标周期,周期性执行步骤204-206的过程,以实现对在线离线资源的实时调整,使得离线资源能够及时复用宿主机中空闲资源,并且即使在线流量突增,急需大量资源时,宿主机也可以结合增长率和资源占用量,灵活调整离线进程的资源待用量,以使离线进程及时避让,不会产生对在线进程的干扰,进而提高混合部署的灵活性和准确性,保证进程管理的可靠性;并且,通过本申请的进程管理方法,可以自动化的实现非容器化的在线进程与离线进程的混合部署,尤其节省了对大数据中心的服务器的成本管理,通过调配资源给离线进程,实现收益提升。

需要说明的是,该宿主机可以基于资源占用总量,给离线进程分配不超过剩余资源量的资源待用量,使得在线进程不被干扰,实现在线进程和连线进程之间的资源联动,保证在线进程的快速、高效运行。并且,通过周期性的统计和更新,实时监控在线资源和离线资源之间的变化,在保证在线资源充足的情况下,能够及时的将剩余资源加以利用;且进一步通过周期性更新资源待用量,能够迅速的提高资源利用率,保证提高资源利用率的及时性,从资源联动的响应时间上提高了资源利用率,提高了进程管理的高效性,提高了资源利用率。

并且,对于响应速率要求较高的在线进程,本申请也可以通过绑定在线进程和固定资源,保证了该在线进程的高效性,保证了响应速率较高的业务的响应及时性,使得本申请的进程管理方法可以多种业务的需要,能够适用于更多种混合部署场景,提高了进程管理方法的适用性。

本申请实施例提供的进程管理方法,通过在线进程目录集合,获取在线进程的资源占用总量,基于资源占用总量更新资源待用量,以实现在线进程和离线进程各自资源之间的联动,并且,资源待用量不大于除资源占用总量以外的剩余资源量,充分保证了在线进程的高效运行,准确的得到避免干扰在线资源的离线资源量,提高了在线进程和离线进程混合部署的准确性和灵活性;基于资源待用量来更新离线进程,从而在保证在线进程稳定高效运行的前提下,使得剩余资源可以充分利用,提高了资源利用率;进而提高了进程管理的准确性。

并且,可以通过命令行字符串,准确筛选出在线进程;还可以基于多个命令行字符串的拼接字符串进行字符匹配,基于位置索引批量定位出多个业务进程中的在线进程,提高筛选效率和准确性,能够迅速从海量业务进程中高效、准确的筛选出在线进程,进一步提高了进程管理的效率和准确性。

并且,基于在线进程目录集合,准确获取各个目录下在线进程的资源占用量,基于各个目录对应的资源占用量,准确统计出该资源占用总量,提高了后续资源分配的准确性和高效性。并且,通过周期性的统计和更新,实时监控在线资源和离线资源之间的变化,保证提高资源利用率的及时性,本申请实施例通过绑定在线进程和固定资源,能够适用于响应速率要求较高的在线进程,提高了进程管理方法的适用性和准确性。

图6为本申请实施例提供的一种进程管理装置的结构示意图。如图6所示,该装置包括:

获取模块601,用于基于在线进程目录集合,获取宿主机中当前运行的至少一个在线进程的资源占用总量;

更新模块602,用于基于该资源占用总量,更新离线进程在该宿主机的资源待用量,该资源待用量不大于该宿主机中除该资源占用总量以外的剩余资源量;

该更新模块602,还用于基于该资源待用量,更新在该宿主机中运行的离线进程。

在一个可能实现方式中,该装置还包括:

创建模块,用于创建初始目录集合;

添加模块,用于基于该宿主机中当前运行的至少一个在线进程,在该初始目录集合中添加每个在线进程所属的目录,以生成该在线进程目录集合,该目录用于指示待进行资源统计的在线进程。

在一个可能实现方式中,该装置还包括:

筛选模块,用于基于该宿主机中当前运行的业务进程的命令行字符串,筛选出该业务进程中的在线进程,该命令行字符串用于指示该业务进程是否属于在线进程。

在一个可能实现方式中,该筛选模块,用于基于该至少两个业务进程的进程标识,将该至少两个业务进程的至少两个命令行字符串进行拼接,得到拼接字符串;对目标字符和该拼接字符串进行字符匹配,确定与该目标字符匹配的匹配字符在该拼接字符串的字符位置,该目标字符用于指示业务进程属于在线业务;基于该匹配字符的字符位置和该拼接字符串的位置索引,确定该匹配字符对应的业务进程,将该匹配字符对应的业务进程确定为在线进程,该位置索引用于指示该拼接字符串的各个拼接位置的命令行字符串所对应的业务进程。

在一个可能实现方式中,该添加模块,用于对于每个在线进程,响应于该在线进程属于任一业务目录,在该初始目录集合中添加该任一业务目录,该业务目录用于指示对应业务下待进行资源统计的在线进程;

响应于该在线进程不属于任一业务目录,创建该在线进程对应的统计目录,并在该新创建的统计目录中添加该在线进程的进程标识,在该初始目录集合中添加该新创建的统计目录。

在一个可能实现方式中,该装置还包括:

统计模块,用于基于该在线进程目录集合中各个目录,周期性统计该宿主机中当前运行的在线进程的进程总数;

该更新模块602,还用于响应于该进程总数改变时,再次执行从业务进程中筛选在线进程的筛选过程,并基于再次筛选出的在线进程,更新该在线进程目录集合;

其中,该筛选过程包括:基于该宿主机中当前运行的业务进程的命令行字符串,筛选出该业务进程中的在线进程。

在一个可能实现方式中,该更新模块602,还用于更新该在线进程目录集合;

其中,该更新模块602,还用于以下任一项:

响应于任一目录中的在线进程创建子进程,在该任一目录中添加该子进程的进程标识;

响应于该任一目录中在线进程的注销事件,在该任一目录中删除已注销的在线进程的进程标识;

当该在线进程的进程标识属于任一业务目录时,响应于该在线进程的重启事件或更新事件,在该任一业务目录中添加重启或更新后的在线进程的进程标识。

在一个可能实现方式中,该获取模块601,用于根据该在线进程目录集合所包括的至少一个目录,从资源统计文件中获取每个目录的资源占用量,该目录用于指示待进行资源统计的在线进程,该资源统计文件包括对目录指示的在线进程进行资源统计得到的资源占用量;基于该至少一个目录的资源占用量,统计该宿主机中至少一个在线进程的资源占用总量。

在一个可能实现方式中,该获取模块601,用于按照目标周期,周期性执行基于在线进程目录集合,获取宿主机中当前运行的至少一个在线进程的资源占用总量的步骤;

相应的,该更新模块602,还用于获取该在线进程的资源占用总量的增长率;根据该在线进程的资源占用总量和该增长率,确定该离线进程对应的资源待用量。

在一个可能实现方式中,该装置还包括:

绑定模块,用于响应于该在线进程对应业务的响应速率高于目标速率,将该宿主机的目标资源与该在线进程进行绑定;

相应的,该更新模块602,还用于基于该资源待用量,将该离线资源运行在该宿主机中除该目标资源以外的其他资源。

本申请实施例提供的进程管理装置,通过在线进程目录集合,获取在线进程的资源占用总量,基于资源占用总量更新资源待用量,以实现在线进程和离线进程各自资源之间的联动,并且,资源待用量不大于除资源占用总量以外的剩余资源量,充分保证了在线进程的高效运行,准确的得到避免干扰在线资源的离线资源量,提高了在线进程和离线进程混合部署的准确性和灵活性;基于资源待用量来更新离线进程,从而在保证在线进程稳定高效运行的前提下,使得剩余资源可以充分利用,提高了资源利用率;进而提高了进程管理的准确性。

并且,可以通过命令行字符串,准确筛选出在线进程;还可以基于多个命令行字符串的拼接字符串进行字符匹配,基于位置索引批量定位出多个业务进程中的在线进程,提高筛选效率和准确性,能够迅速从海量业务进程中高效、准确的筛选出在线进程,进一步提高了进程管理的效率和准确性。

并且,基于在线进程目录集合,准确获取各个目录下在线进程的资源占用量,基于各个目录对应的资源占用量,准确统计出该资源占用总量,提高了后续资源分配的准确性和高效性。并且,通过周期性的统计和更新,实时监控在线资源和离线资源之间的变化,保证提高资源利用率的及时性,本申请实施例通过绑定在线进程和固定资源,能够适用于响应速率要求较高的在线进程,提高了进程管理方法的适用性和准确性。

本实施例的进程管理装置可执行本申请上述实施例所示的进程管理方法,其实现原理相类似,此处不再赘述。

图7是本申请实施例中提供了一种计算机设备的结构示意图。如图7所示,该计算机设备包括:存储器和处理器;至少一个程序,存储于存储器中,用于被处理器执行时,可实现上述的进程管理方法。

在一个可选实施例中提供了一种计算机设备,如图7所示,图7所示的计算机设备700包括:处理器701和存储器703。其中,处理器701和存储器703相连,如通过总线702相连。可选地,计算机设备700还可以包括收发器704,收发器704可以用于该计算机设备与其他计算机设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器704不限于一个,该计算机设备700的结构并不构成对本申请实施例的限定。

处理器701可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器701也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。

总线702可包括一通路,在上述组件之间传送信息。总线702可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线702可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器703可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscReadOnly Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

存储器703用于存储执行本申请方案的应用程序代码(计算机程序),并由处理器701来控制执行。处理器701用于执行存储器703中存储的应用程序代码,以实现前述方法实施例所示的内容。

其中,计算机设备包括但不限于:服务器、宿主机或者任一可运行并管理进程的管理设备。

本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中进程管理方法的相应内容。

本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的进程管理方法。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

相关技术
  • 身份信息管理方法、装置、计算机设备和存储介质
  • 权限信息的管理方法、装置、计算机设备及存储介质
  • 用电管理方法、装置、计算机设备和存储介质
  • 外包风险管理方法、装置、计算机设备和存储介质
  • 一种压缩文件管理方法、装置、计算机设备及存储介质
  • 智能终端的进程管理方法、装置、计算机设备及存储介质
  • 进程日志管理方法、装置、计算机设备及存储介质
技术分类

06120115603556