CN110096352A - 进程管理方法、装置及计算机可读存储介质 - Google Patents

进程管理方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN110096352A
CN110096352A CN201910351999.7A CN201910351999A CN110096352A CN 110096352 A CN110096352 A CN 110096352A CN 201910351999 A CN201910351999 A CN 201910351999A CN 110096352 A CN110096352 A CN 110096352A
Authority
CN
China
Prior art keywords
interface
grade
service
time
processed
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
Application number
CN201910351999.7A
Other languages
English (en)
Other versions
CN110096352B (zh
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.)
Tencent Technology Shanghai Co Ltd
Original Assignee
Tencent Technology Shanghai 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 Tencent Technology Shanghai Co Ltd filed Critical Tencent Technology Shanghai Co Ltd
Priority to CN201910351999.7A priority Critical patent/CN110096352B/zh
Publication of CN110096352A publication Critical patent/CN110096352A/zh
Application granted granted Critical
Publication of CN110096352B publication Critical patent/CN110096352B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请实施例公开了一种进程管理方法、装置及计算机可读存储介质,其中方法包括:获取第一接口的待处理时间;在所述待处理时间大于所述第一接口的时间阈值时,获取所述第一接口的第一业务等级;获取第二接口的第二业务等级,所述第二接口为服务器中除所述第一接口之外的接口;在所述第二业务等级小于所述第一业务等级时,将所述第二接口对应的第一进程分配给所述第一接口。采用本申请,可提高进程的利用率。

Description

进程管理方法、装置及计算机可读存储介质
技术领域
本申请涉及计算机技术领域,主要涉及了一种进程管理方法、装置及计算机可读存储介质。
背景技术
随着信息技术的不断发展,后台服务尤其在逻辑层,处理不同业务逻辑的接口变得越来越多。在资源有限的情况下,如何管理进程,以提高服务器的利用率是本领域技术人员亟待解决的技术问题。
发明内容
本申请实施例提供了一种进程管理方法、装置及计算机可读存储介质,可用于提高进程的利用率。
第一方面,本申请实施例提供一种进程管理方法,包括:
获取第一接口的待处理时间;
在所述待处理时间大于所述第一接口的时间阈值时,获取所述第一接口的第一业务等级;
获取第二接口的第二业务等级,所述第二接口为服务器中除所述第一接口之外的接口;
在所述第二业务等级小于所述第一业务等级时,将所述第二接口对应的第一进程分配给所述第一接口。
第二方面,本申请实施例提供一种进程管理装置,包括:
获取单元,用于获取第一接口的待处理时间;在所述待处理时间大于所述第一接口的时间阈值时,获取所述第一接口的第一业务等级;获取第二接口的第二业务等级,所述第二接口为服务器中除所述第一接口之外的接口;
管理单元,用于在所述第二业务等级小于所述第一业务等级时,将所述第二接口对应的第一进程分配给所述第一接口。
第三方面,本申请实施例提供另一种进程管理装置,所述进程管理装置包括处理器、通信接口和存储器,其中,所述存储器存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行第一方面所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被进程管理装置执行时使所述进程管理装置执行第一方面所述的方法。
采用本申请实施例,在第一接口的待处理时间大于第一接口的时间阈值时,获取第一接口的第一业务等级以及服务器中除第一接口之外的第二接口的第二业务等级。在第二业务等级小于第一业务等级时,将第二接口对应的第一进程分配给第一接口。如此,通过待处理时间和业务等级调整了接口对应的进程数,从而提高了进程的利用率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为应用本申请实施例的网络架构示意图;
图2A为本申请实施例提供的一种发送接口调用请求的场景示意图;
图2B为本申请实施例提供的一种响应接口调用请求的场景示意图;
图3为本申请实施例提供的一种进程管理方法的流程示意图;
图4为本申请实施例提供的另一种进程管理方法的流程示意图;
图5为本申请实施例提供的又一种进程管理方法的流程示意图;
图6为本申请实施例提供的一种进程管理装置的逻辑结构示意图;
图7为本申请实施例提供的一种进程管理装置的实体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
请参见图1,图1为应用本申请实施例的网络架构示意图。该网络架构示意图包括服务器101、用户终端102和用户103。需要说明的是,图1所示的网络架构示意图中的各个设备的数量和形态用于举例,并不构成对本申请实施例的限定。
其中,用户终端102可以是图1所示的个人计算机(personal computer,PC)、笔记本电脑或智能手机,还可以是一体机、掌上电脑、平板电脑(pad)、智能电视播放终端、车载终端或便捷式设备等电子设备。PC端用户终端,例如一体机等,其操作***可以包括但不限于Linux***、Unix***、Windows系列***(例如Windows xp、Windows 7等)、Mac OS X***(苹果电脑的操作***)等操作***。移动端用户终端,例如智能手机等,其操作***可以包括但不限于安卓***、IOS(苹果手机的操作***)、Window***等操作***。
服务器101与通用的计算机架构类似,包括处理器、硬盘、内存、***总线等,用于为用户终端102提供服务。该服务器101可以运行于单独的设备,也可以运行于多个组成的集群,在此不做限定。
用户103可以是实际操作用户终端102的用户,也可以是开发人员。用户103可以对用户终端102输入操作指令,以控制用户终端102执行相应地操作。
本申请实施例中的用户终端102可以安装并运行应用程序,服务器101用于为用户终端102所安装的应用程序提供应用服务。其中,应用程序可以是多媒体应用、页面浏览应用、即时通信应用、游戏应用等,在此不做限定。
在本申请实施例中,接口是用户终端102向服务器101提交调用请求的封装函数。不同的接口用于处理不同的业务类型,其业务类型可包括支付、查询、设置、上传、下载、刷新、播放等,在此不做限定。进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是***进行资源分配和调度的一个独立单位。
在本申请实施例中,服务器101可将其包括的进程分配给各个接口,则在服务器101接收到针对目标接口的调用请求时,由分配给目标接口的进程处理该调用请求。可以理解,由指定的进程处理指定接口的调用请求,可提高调用请求的处理效率。
举例来说,在多媒体应用的场景中,第一接口用于处理搜索业务,第二接口用于处理播放业务,第三接口用于处理下载业务。如图2A所示,服务器101包括第一接口对应的第一接口处理模块、第二接口对应的第二处理模块和第三接口对应的第三接口处理模块。在用户终端102(以手机为例进行说明)运行该多媒体应用时,用户103在该多媒体应用上输入针对目标音频的搜索指令。用户终端102接收到该搜索指令,向服务器101发送针对第一接口的调用请求。即第一接口处理模块响应该调用请求,通过第一接口处理模块中的处理进程处理该搜索请求可得到对应的搜索结果。如图2B所示,第一接口处理模块向用户终端102发送得到的搜索结果,用户终端102显示该搜索结果。
在某些实施例中,服务器101可保留空闲进程,即未分配给任一接口的进程。该空闲进程可用于接口响应时间过长或响应失败时,由服务器101分配给该接口。
本申请实施例提供一种进程管理方法、装置及计算机可读存储介质,可提高进程的利用率。
本申请实施例的进程管理装置可以是服务器上的应用程序,用于对服务器中的进程进行管理。
下面对本申请实施例提供的进程管理方法的具体流程进一步进行说明。
请参阅图3,图3为本发明实施例公开的一种进程管理方法的流程示意图。如图3所示,该方法可包括步骤301-304,上述步骤301-304可以由服务器或服务器中的进程管理装置执行。其中:
301:获取第一接口的待处理时间。
在本申请实施例中,对于第一接口不做限定,可以是以下处理支付、查询、设置、上传、下载、刷新、播放等业务类型中的一种接口。待处理时间是指第一接口完成当前调用请求对应的处理时间长度。
在一种可能的实施例中,步骤301具体包括以下步骤S11-S13。
S11、获取预设时段内第一接口对应的处理进程已处理的第一请求量,以及获取预设时段内处理进程的运行状态。
其中,预设时段可以是访问高峰时段,也可以是访问低峰时段,还可以是任一工作时段等,在此不做限定。第一请求量是指第一接口对应的处理进程,在预设时段内已处理的调用请求的数量。
运行状态是指预设时段内,第一接口对应的处理进程执行调用请求时服务器的运行情况。运行状态可包括服务器***的执行时长、内存占用、内存峰值、中央处理器(Central Processing Unit,CPU)使用率、图形处理器(Graphics Processing Unit,GPU)使用率等,在此不做限定。
本申请对于获取运行状态的方法不做限定,例如,执行时长可由进程执行调用请求的完成时间和开始时间之间的差值获取。再例如,内存占用可由进程执行调用请求完成时的服务器的使用内存大小和执行调用请求开始时的使用内存大小之间的差值获取,或者根据执行过程中的剩余内存大小或使用内存大小之间的平均值获取。又例如,内存峰值可由根据执行过程中的剩余内存大小或使用内存大小之间的最大值获取等。
S12、根据第一请求量和运行状态获取第一接口的处理效率。
其中,处理效率是指第一接口在单位时间内能处理的调用请求的数量。本申请对于根据第一请求量和运行状态获取处理效率的方法不做限定,可对运行状态进行打分得到预设时段内处理进程的评价值,将第一请求量除以预设时段得到的商值作为预设时段内单位时间已处理调用请求的数量,再根据评价值对该商值进行评估以得到处理效率。也就是说,将预设时段内第一接口对应的处理进程的处理数量和服务器的负载水平进行综合计算得到运行效率。如此,可提高获取处理效率的准确性。
S13、根据第一接口对应的第二请求量和处理效率获取第一接口的待处理时间。
其中,第二请求量是指当前第一接口接收到的调用请求的数量。本申请可将第二请求量除以处理效率得到的商值作为待处理时间。
可以理解,在上述步骤S11-S13中,通过第一请求量和运行状态获取第一接口的处理效率,再根据第二请求量和第一接口的处理效率获取第一接口的待处理时间。如此,可提高获取待处理时间的准确性。
在本申请实施例中,步骤301的执行可包括以下三种实施方式。
第一种实施方式,在接收到客户端发送的针对第一接口的调用请求时,执行步骤301。
可以理解,在服务器接收到客户端发送的针对第一接口的调用请求时,获取第一接口的待处理时间,以确定当前第一接口对应的处理进程的完成时间,可判断是否需要增加处理进程。若是,在增加该接口的处理进程之后,可提高该接口的响应速率。
第二种实施方式,在预设时长到达时,执行步骤301。
其中,预设时长不做限定。可以理解,在预设时长到达时,获取第一接口的待处理时间。也就是说,定时对第一接口的处理进程的完成时间进行监控,以判断是否需要增加或减少处理进程。若是,即重新分配接口对应的进程,可提高进程的利用率。
第三种实施方式,在第一接口的第一业务等级大于等级阈值时,执行步骤301。
在本申请实施例中,在服务器运行时,按照业务等级的高低分配进程,即优先处理业务等级高的接口的调用请求。第一业务等级用于描述第一接口处理调用请求的优先级。
在一种可能的实施例中,获取第一接口的业务类型;根据业务类型获取第一接口的第一业务等级。
其中,业务类型如前所述,可包括支付、查询、设置、上传、下载、刷新、播放等。可以理解,不同的接口对应不同的业务类型,例如:第一接口的业务类型为搜索业务,第二接口的业务类型为播放业务,第三接口的业务类型为下载业务。
本申请业务等级的描述形式不做限定,可采用数字进行描述,数字越大,表示业务等级越高。业务等级可根据业务类型与时间的关系进行获取。例如,是否需要实时完成对应的实时性、响应时长等多个时间维度。因此,可分别获取各个时间维度对应的评价值,再根据各个时间维度对应的评价值和预设权值进行加权计算得到业务分数,再将该业务分数对应的业务等级作为该第一接口的第一业务等级,可提高获取业务等级的准确性。
举例来说,假设多个时间维度包括时间维度为实时性和响应时长,下载业务分别与实时性和响应时长对应的评价值为0.6、0.7,支付业务分别与实时性和响应时长对应的评价值为0.9、0.9。若实时性和响应时长对应的预设权值分别为0.5、0.5,则下载业务对应的业务分数为0.65,支付业务对应的业务分数为0.5。再参考表1,可知下载业务对应的业务等级为2,支付业务对应的业务等级为3。
表1
业务分数 业务等级
[0,0.4) 1
[0.4,0.7) 2
[0.7,1] 3
在该实施例中,根据第一接口的业务类型获取第一接口的第一业务等级,可提高获取业务等级的准确性。
本申请对于等级阈值不做限定。可以理解,在第三种实施方式中,在第一业务等级大于等级阈值时,获取第一接口的待处理时间。如此,可优先确定业务等级较高的接口是否需要增加处理进程,若是,在增加该接口的处理进程之后,可提高该接口的响应速率。
需要说明的是,上述三种实施方式并不构成对本申请实施例的限定,实际应用中,还可以采用其他实施方式执行步骤301。
302、在待处理时间大于第一接口的时间阈值时,获取第一接口的第一业务等级。
其中,对于获取第一业务等级的方法可参照步骤301中第三种实施方式的描述,在此不再赘述。
本申请对于第一接口的时间阈值不做限定,可根据预先设置的数据表格进行获取。如表2所示,第一接口的时间阈值为1分钟,第二接口的时间阈值为2分钟,第三接口的时间阈值为5分钟。通过表1可知,第一接口的时间阈值为1分钟。
表2
接口 时间阈值
第一接口 1分钟
第二接口 2分钟
第三接口 5分钟
在一种可能的实施例中,根据第一业务等级确定第一接口的时间阈值。
在该实施例中,可根据业务等级高低设置时间阈值,即业务等级越高,时间阈值越小。例如,假设下载业务对应的业务等级为2,支付业务对应的业务等级为3。因此,将下载业务对应的时间阈值设置为2分钟,将支付业务对应的时间阈值设置为10秒。
在该实施例中,根据第一接口的第一业务等级确定第一接口的时间阈值,可提高确定时间阈值的准确性,便于提高进程管理的有效性。
303、获取第二接口的第二业务等级。
在本申请实施例中,第二接口为服务器中除第一接口之外的接口,即与第一接口处理不同业务类型的接口。对于获取第二业务等级的方法可参照步骤301中第三种实施方式的描述,在此不再赘述。需要说明的是,第二接口的数量可为多个。
304、在第二业务等级小于第一业务等级时,将第二接口对应的第一进程分配给第一接口。
在本申请实施例中,第一进程可以为第二接口的空闲进程,也可以为第二接口对应的处理进程中分配较少任务量的进程,在此不做限定。需要说明的是,该第一进程可以是多个第二接口中对应的处理进程。
在一种可能的实施例中,确定第一接口的方法可包括以下步骤S21-S22。
S21、根据待处理时间和时间阈值确定第一接口的增加进程数量。
其中,增加进程数量为第一进程的数量,即重新分配给第一接口的处理进程的数量。本申请对于确定增加进程数量的方法不做限定,可将待处理时间除以时间阈值得到商值。若该商值为整数,则将该商值作为目标比值。若该商值为小数,可将该商值采用四舍五入,或直接进一位得到目标比值,将该目标比值减去1,再与第一接口对应的处理进程的进程数量相乘得到增加进程数量。
举例来说,第一接口的待处理时间为2分钟、时间阈值为1分钟、进程数量为5个,则商值为2,目标比值为2,增加进程数量为5个。
可以理解,根据待处理时间和时间阈值之间的比值,以及第一接口对应的处理进程的进程数据确定增加进程数量,可提高确定增加进程数量的准确性。
S22、根据第二接口的优先级和增加进程数量确定第一进程。
其中,优先级用于描述第二接口对应的分配顺序,优先级越低的第二接口越易确定为第一进程。在一种可能的实施例中,获取第二接口的优先级的方法可包括以下步骤S220-S222。
S220、获取第二接口对应的空闲进程数量;
其中,空闲进程数量为第二接口中的空闲进程的数量。
S221、获取第二接口与第一接口之间的距离。
其中,第二接口与第一接口之间的距离用于描述将第二接口对应的进程分配给第一接口的复杂程度。第二接口与第一接口之间的距离可包括第二接口与第一接口之间的相似值,以及第二接口对应的接口处理模块和第一接口对应的接口处理模块之间的物理距离等。其中,相似值可根据两个接口对应的业务等级的相似值进行获取。
本申请可先获取第二接口与第一接口之间的相似值,以及第二接口对应的接口处理模块和第一接口对应的接口处理模块之间的物理距离。再根据相似值和物理距离对应的预设权值,与该相似值和物理距离进行加权计算得到第二接口与第一接口之间的距离,可提高获取距离的准确性。
S222、根据空闲进程数量和距离获取第二接口的优先级。
可以理解,在步骤S220-S222中,空闲进程数量可表示第二接口的空闲程度,第二接口与第一接口之间的距离可表示将第二接口对应的进程分配给第一接口的复杂程度。因此,根据第二接口对应的空闲进程数量和第二接口与第一接口之间的距离获取第二接口的优先级,可提高获取优先级的准确性。
本申请对于根据第二接口的优先级和第一接口的增加进程数量确定第一进程的方法不做限定,可先将优先级较低的第二接口的进程分配给第一接口,若优先级较低的第二接口对应的处理进程的数量大于增加进程数量,则结束分配。否则,再分配当前优先级较低的第二接口的进程给第一接口。
确定第一进程的方法也可按照优先级将增加进程数量进行比例分配。举例来说,假设服务器中包括三个第二接口,其中,三个第二接口的优先级分别为1、2、3,三个第二接口中每一第二接口对应的进程数量为5、4、5。若增加进程数量为6,则可将三个第二接口中优先级为1的第二接口中的三个处理进程作为第一进程,将三个第二接口中优先级为2的第二接口中的二个处理进程作为第一进程,将三个第二接口中优先级为3的第二接口中的一个处理进程作为第一进程。
可以理解,在步骤S21-S22中,根据第一接口的待处理时间和时间阈值确定该第一接口的增加进程数量,再根据第二接口的优先级和增加进程数量确定第一进程。如此,可提高确定第一进程的准确性。在确定第一进程之后,将第一进程分配给第一接口。如此,可提高进程分配的准确性,便于提高服务器的运行效率。
在如图3所示的进程管理方法中,在第一接口的待处理时间大于第一接口的时间阈值时,获取第一接口的第一业务等级以及服务器中除第一接口之外的第二接口的第二业务等级。在第二业务等级小于第一业务等级时,将第二接口对应的第一进程分配给第一接口。如此,通过待处理时间和业务等级调整了接口对应的进程数,从而提高了进程的利用率。
请参阅图4,图4为本发明实施例公开的另一种进程管理方法的流程示意图。如图4所示,该方法可包括步骤401-403,上述步骤401-403可以由服务器或服务器中的进程管理装置执行。其中:
401、获取第一接口的待处理时间。
其中,步骤401可参照步骤301的描述,在此不再赘述。
402、在待处理时间小于或等于第一接口的时间阈值时,获取第一接口的第一业务等级。
其中,获取第一接口的第一业务等级可参照步骤301中第三种实施方式的描述,在此不再赘述。可以理解,在待处理时长小于或等于第一接口的时间阈值时,表示该第一接口对应的处理进程可在第一接口的时间阈值内完成调用请求,则不需要新增处理进程给第一接口。
403、在第一业务等级小于或等于等级阈值时,释放第一接口对应的第二进程。
其中,等级阈值可参照步骤301中第三种实施方式的描述,在此不再赘述。在本申请实施例中,第二进程可以是第一接口中的空闲进程,也可以是第一接口对应的处理进程中分配较少任务量的进程,在此不做限定。需要说明的是,该第二进程可以是多个处理进程。
在一种可能的实施例中,根据待处理时间和时间阈值确定减少进程数量;根据第一接口中各处理进程的优先级和减少进程数量确定第二进程。
其中,减少进程数量为第二进程的数量。本申请对于确定减少进程数量的方法不做限定,可将待处理时间除以时间阈值得到商值。将第一接口对应的处理进程的进程数量除以该商值得到目标值,若该目标值为小数,将该商值舍去小数得到减少进程数量。
举例来说,第一接口的待处理时间为0.5分钟、时间阈值为1分钟、进程数量为5个,则商值为0.5,目标值为2.5,减少进程数量为2个。
可以理解,根据待处理时间和时间阈值之间的比值,以及第一接口对应的处理进程的进程数据确定减少进程数量,可提高确定减少进程数量的准确性。
本申请对于获取第一接口中各个处理进程的优先级的方法不做限定,可获取各个处理进程的进程列表以及处理效率,根据进程列表中的未完成的调用请求的数量和处理效率确定对应的优先级。例如:第一接口包括第一处理进程、第二处理进程和第三处理进程。其中,第一处理进程的进程列表包括3个未完成调用请求,处理效率为每分钟处理1个。第二处理进程的进程列表包括2个未完成调用请求,处理效率为每分钟处理1个。第三处理进程的进程列表包括0个未完成调用请求,处理效率为每分钟处理2个。因此,计算得到第一处理进程、第二处理进程和第三处理进程的优先级分别为1、3、5。
在该实施例中,根据第一接口的待处理时间和时间阈值确定该第一接口的减少进程数量,再根据第一接口中各处理进程的优先级和减少进程数量确定第一接口对应的第二进程。如此,可提高进程分配的准确性,便于提高服务器的运行效率。
在如图4所示的进程管理方法中,在第一接口的待处理时间小于或等于第一接口的时间阈值时,获取第一接口的第一业务等级。在第一业务等级小于或等于等级阈值时,释放第一接口对应的第二进程。如此,通过待处理时间和业务等级减少了接口对应的进程数,则服务器可将释放的进程分配给其他接口,或者作为备用进程供客户端调用,有利于提高进程的利用率。
请参阅图5,图5为本发明实施例公开的又一种进程管理方法的流程示意图。如图5所示,该方法可包括步骤501-504,上述步骤501-504可以由服务器或服务器中的进程管理装置执行。其中:
501、获取第一接口的处理容量。
其中,第一接口的描述可参照步骤301的描述,在此不再赘述。处理容量是指第一接口当前所需的处理进程的数量。需要说明的是,该步骤501也可参照步骤301的三种实施方式被执行。
在一种可能的实施例中,步骤501具体包括以下步骤S31-S33。
S31、获取预设时段内第一接口对应的处理进程已处理的第一请求量,以及获取预设时段内处理进程的运行状态。
S32、根据第一请求量和运行状态获取第一接口的处理效率。
其中,步骤S31-S32可参照步骤S11-S12的描述,在此不再赘述。
S33、根据第一接口对应的第二请求量和进程列表,以及处理效率获取第一接口的处理容量。
其中,第二请求量是指当前第一接口接收到的调用请求的数量。进程列表用于描述第一接口对应的已完成的调用请求和未完成的调用请求对应的分配情况,通过该进程列表可知第一接口对应的处理进程的完成度。
在步骤S33中,可根据第一接口对应的进程列表获取第一接口对应的未完成的调用请求的数量,再计算该数量和第二请求量之间的和值,将该和值除以处理效率得到的商值作为处理容量。
可以理解,在上述步骤S31-S33中,通过第一请求量和运行状态获取第一接口的处理效率,再根据第二请求量、进程列表和第一接口的处理效率获取第一接口的处理容量。如此,可提高获取处理容量的准确性。
502、在处理容量大于第一接口的容量阈值时,获取第一接口的第一业务等级。
其中,获取第一接口的第一业务等级可参照步骤301中第三种实施方式的描述,在此不再赘述。第一接口的容量阈值可以是该第一接口当前所包含的处理进程的数量,也可以是与第一业务等级对应的预设容值,其中,第一业务等级越高,容量阈值越大,在此不做限定。
503、获取第二接口的第二业务等级。
在本申请实施例中,第二接口为服务器中除第一接口之外的接口。步骤503可参照步骤303的描述,在此不再赘述。
504、在第二业务等级小于第一业务等级时,将第二接口对应的第一进程分配给第一接口。
其中,步骤504可参照步骤304的描述,在此不再赘述。
在如图5所示的进程管理方法中,在第一接口的处理容量大于第一接口的容量阈值时,获取第一接口的第一业务等级以及服务器中除第一接口之外的第二接口的第二业务等级。在第二业务等级小于第一业务等级时,将第二接口对应的第一进程分配给第一接口。如此,通过处理容量和业务等级调整了接口对应的进程数,从而提高了进程的利用率。
在一种可能的实施例中,在获取第一接口的第一业务等级之前,还可执行以下步骤:获取第一接口的处理评价值;在处理评价值小于第一进程的处理阈值时,执行获取第一接口的第一业务等级的步骤。
其中,处理评价值用于描述第一进程的处理状态。在本申请实施例中,获取第一接口的处理评价值可包括以下两种实施方式。
第一种实施方式,根据处理效率获取处理评价值。
其中,处理效率是指第一接口在单位时间内能处理的调用请求的数量,能体现该第一接口对应的处理进程的处理情况。可以理解,在第一种实施方式中,获取处理效率对应的处理评价值,可提高获取处理评价值的准确性。
第二种实施方式,获取待处理时间和时间阈值之间的第一差值,以及获取处理容量和容量阈值之间的第二差值;根据第一差值、第二差值和处理效率获取处理评价值。
可以理解,第一差值、第二差值和处理效率均能体现该第一接口对应的处理进程的处理情况。在第二种实施方式中,通过第一差值、第二差值和处理效率获取处理评价值,可进一步提高获取处理评价值的准确性。
需要说明的是,上述两种实施方式并不构成对本申请实施例的限定,实际应用中,还可以采用其他实施方式执行获取第一接口的第一业务等级的步骤。
可以理解,通过实施该实施例,在该处理评价值小于第一进程的处理阈值时,将业务等级小于第一接口的业务等级的接口对应的进程分配给该第一接口。如此,综合考虑第一进程的处理评价值,通过处理评价值和业务等级调整了接口对应的进程数,进一步提高了进程的利用率。
上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
请参照图6,图6是本申请实施例提供的一种进程管理装置的结构示意图,如图6所示,上述装置600,包括:
获取单元601用于获取第一接口的待处理时间;在所述待处理时间大于所述第一接口的时间阈值时,获取所述第一接口的第一业务等级;获取第二接口的第二业务等级,所述第二接口为服务器中除所述第一接口之外的接口;
管理单元602用于在所述第二业务等级小于所述第一业务等级时,将所述第二接口对应的第一进程分配给所述第一接口。
在一个可能的示例中,所述获取单元601具体用于根据所述待处理时间和所述时间阈值确定所述第一接口的增加进程数量;根据所述第二接口的优先级和所述增加进程数量确定第一进程;将所述第一进程分配给所述第一接口。
在一个可能的示例中,所述获取单元601还用于获取所述第二接口对应的空闲进程数量;获取所述第二接口与所述第一接口之间的距离;根据所述空闲进程数量和所述距离获取所述第二接口的优先级。
在一个可能的示例中,所述获取单元601具体用于获取预设时段内第一接口对应的处理进程已处理的第一请求量,以及获取所述预设时段内所述处理进程的运行状态;根据所述第一请求量和所述运行状态获取所述第一接口的处理效率;根据所述第一接口对应的第二请求量和所述处理效率获取所述第一接口的待处理时间。
在一个可能的示例中,所述获取单元601具体用于获取所述第一接口的业务类型;根据所述业务类型获取所述第一接口的第一业务等级。
在一个可能的示例中,所述装置600还包括:
调用单元603用于在接收到客户端发送的针对第一接口的调用请求时,或在预设时长到达时,或在第一业务等级大于等级阈值时,调用所述获取单元601执行所述获取第一接口的待处理时间的步骤。
在一个可能的示例中,所述管理单元602还用于在所述待处理时间小于或等于所述时间阈值,且所述第一业务等级小于或等于所述等级阈值时,释放所述第一接口对应的第二进程。
在一个可能的示例中,所述获取单元601还用于获取所述第一接口的处理容量;在所述处理容量大于所述第一接口的容量阈值时,执行所述获取第一接口的待处理时间的步骤。
在一个可能的示例中,所述获取单元601具体用于根据所述第一接口对应的第二请求量和进程列表,以及所述处理效率获取第一接口的处理容量。
在一个可能的示例中,所述获取单元601还用于获取所述第一接口的处理评价值;在所述处理评价值小于所述第一进程的处理阈值时,执行所述获取第一接口的待处理时间的步骤。
在一个可能的示例中,所述获取单元601具体用于根据所述处理效率获取所述处理评价值。
在一个可能的示例中,所述获取单元601具体用于获取所述待处理时间和所述时间阈值之间的第一差值,以及获取所述处理容量和所述容量阈值之间的第二差值;根据所述第一差值、所述第二差值和所述处理效率获取所述处理评价值。
该进程管理装置可以实现前述方法实施例中进程管理装置的功能,该进程管理装置中各个单元执行详细过程可以参见前述方法实施例中信息处理装置的执行步骤,此处不在赘述。
请参照图7,图7是本申请实施例提供的一种进程管理装置的实体结构示意图,该进程管理装置700包括处理器701、通信接口702和存储器703。处理器701、通信接口702和存储器703可以通过总线704相互连接,也可以通过其它方式相连接。图6所示的获取单元601、管理单元602和调用单元603所实现的相关功能可以通过一个或多个处理器701来实现。
其中,处理器701包括是一个或多个处理器,例如包括一个或多个中央处理器,在处理器701是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。应用在本申请实施例中,处理器701用于控制进程管理装置实现图3、图4和图5所示的实施例。
通信接口702用于实现与用户终端等设备之间的通信。
存储器703包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmableread only memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器703用于存储相关指令及数据。
在本申请实施例中,所述存储器703存储计算机程序,所述计算机程序包括程序指令,所述处理器701被配置用于调用所述程序指令,上述程序包括用于执行以下步骤的指令:
获取第一接口的待处理时间;
在所述待处理时间大于所述第一接口的时间阈值时,获取所述第一接口的第一业务等级;
获取第二接口的第二业务等级,所述第二接口为服务器中除所述第一接口之外的接口;
在所述第二业务等级小于所述第一业务等级时,将所述第二接口对应的第一进程分配给所述第一接口。
采用本申请实施例,通过待处理时间和业务等级调整了接口对应的进程数,从而提高了进程的利用率。
在一个可能的示例中,在所述将所述第二接口对应的第一进程分配给所述第一接口方面,所述程序中的指令具体用于执行以下操作:
根据所述待处理时间和所述时间阈值确定所述第一接口的增加进程数量;
根据所述第二接口的优先级和所述增加进程数量确定第一进程;
将所述第一进程分配给所述第一接口。
在一个可能的示例中,所述程序中的指令还用于执行以下操作:
获取所述第二接口对应的空闲进程数量;
获取所述第二接口与所述第一接口之间的距离;
根据所述空闲进程数量和所述距离获取所述第二接口的优先级。
在一个可能的示例中,在所述获取第一接口的待处理时间方面,所述程序中的指令具体用于执行以下操作:
获取预设时段内第一接口对应的处理进程已处理的第一请求量,以及获取所述预设时段内所述处理进程的运行状态;
根据所述第一请求量和所述运行状态获取所述第一接口的处理效率;
根据所述第一接口对应的第二请求量和所述处理效率获取所述第一接口的待处理时间。
在一个可能的示例中,在所述获取第一接口的第一业务等级方面,所述程序中的指令具体用于执行以下操作:
获取所述第一接口的业务类型;
根据所述业务类型获取所述第一接口的第一业务等级。
在一个可能的示例中,在所述获取第一接口的待处理时间之前,所述程序中的指令还用于执行以下操作:
在接收到客户端发送的针对第一接口的调用请求时,或在预设时长到达时,或在第一业务等级大于等级阈值时,执行所述获取第一接口的待处理时间的步骤。
在一个可能的示例中,所述程序中的指令还用于执行以下操作:
在所述待处理时间小于或等于所述时间阈值,且所述第一业务等级小于或等于所述等级阈值时,释放所述第一接口对应的第二进程。
在一个可能的示例中,在所述获取第一接口的待处理时间之前,所述程序中的指令还用于执行以下操作:
获取所述第一接口的处理容量;
在所述处理容量大于所述第一接口的容量阈值时,执行所述获取第一接口的待处理时间的步骤。
在一个可能的示例中,在所述获取所述第一接口的处理容量方面,所述程序中的指令具体用于执行以下操作:
根据所述第一接口对应的第二请求量和进程列表,以及所述处理效率获取第一接口的处理容量。
在一个可能的示例中,在所述获取第一接口的待处理时间之前,所述程序中的指令还用于执行以下操作:
获取所述第一接口的处理评价值;
在所述处理评价值小于所述第一进程的处理阈值时,执行所述获取第一接口的待处理时间的步骤。
在一个可能的示例中,在所述获取所述第一接口的处理评价值方面,所述程序中的指令具体用于执行以下操作:
根据所述处理效率获取所述处理评价值。
在一个可能的示例中,在所述获取所述第一接口的处理评价值方面,所述程序中的指令具体用于执行以下操作:
获取所述待处理时间和所述时间阈值之间的第一差值,以及获取所述处理容量和所述容量阈值之间的第二差值;
根据所述第一差值、所述第二差值和所述处理效率获取所述处理评价值。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被进程管理装置执行时使进程管理装置执行上述方法实施例。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、ROM、RAM、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种进程管理方法,其特征在于,包括:
获取第一接口的待处理时间;
在所述待处理时间大于所述第一接口的时间阈值时,获取所述第一接口的第一业务等级;
获取第二接口的第二业务等级,所述第二接口为服务器中除所述第一接口之外的接口;
在所述第二业务等级小于所述第一业务等级时,将所述第二接口对应的第一进程分配给所述第一接口。
2.根据权利要求1所述的方法,其特征在于,所述将所述第二接口对应的第一进程分配给所述第一接口,包括:
根据所述待处理时间和所述时间阈值确定所述第一接口的增加进程数量;
根据所述第二接口的优先级和所述增加进程数量确定第一进程;
将所述第一进程分配给所述第一接口。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取所述第二接口对应的空闲进程数量;
获取所述第二接口与所述第一接口之间的距离;
根据所述空闲进程数量和所述距离获取所述第二接口的优先级。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述获取第一接口的待处理时间,包括:
获取预设时段内第一接口对应的处理进程已处理的第一请求量,以及获取所述预设时段内所述处理进程的运行状态;
根据所述第一请求量和所述运行状态获取所述第一接口的处理效率;
根据所述第一接口对应的第二请求量和所述处理效率获取所述第一接口的待处理时间。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述获取第一接口的第一业务等级,包括:
获取所述第一接口的业务类型;
根据所述业务类型获取所述第一接口的第一业务等级。
6.根据权利要求1-3任一项所述的方法,其特征在于,在所述获取第一接口的待处理时间之前,所述方法还包括:
在接收到客户端发送的针对第一接口的调用请求时,或在预设时长到达时,或在第一业务等级大于等级阈值时,执行所述获取第一接口的待处理时间的步骤。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述待处理时间小于或等于所述时间阈值,且所述第一业务等级小于或等于所述等级阈值时,释放所述第一接口对应的第二进程。
8.一种进程管理装置,其特征在于,包括:
获取单元,用于获取第一接口的待处理时间;在所述待处理时间大于所述第一接口的时间阈值时,获取所述第一接口的第一业务等级;获取第二接口的第二业务等级,所述第二接口为服务器中除所述第一接口之外的接口;
管理单元,用于在所述第二业务等级小于所述第一业务等级时,将所述第二接口对应的第一进程分配给所述第一接口。
9.一种进程管理装置,其特征在于,包括处理器、通信接口和存储器,其中,所述存储器存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被进程管理装置执行时使所述进程管理装置执行如权利要求1-7任一项所述的方法。
CN201910351999.7A 2019-04-28 2019-04-28 进程管理方法、装置及计算机可读存储介质 Active CN110096352B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910351999.7A CN110096352B (zh) 2019-04-28 2019-04-28 进程管理方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910351999.7A CN110096352B (zh) 2019-04-28 2019-04-28 进程管理方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110096352A true CN110096352A (zh) 2019-08-06
CN110096352B CN110096352B (zh) 2023-03-31

Family

ID=67446274

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910351999.7A Active CN110096352B (zh) 2019-04-28 2019-04-28 进程管理方法、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN110096352B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115080363A (zh) * 2022-08-23 2022-09-20 中国中金财富证券有限公司 一种基于业务日志的***容量评估方法及装置
CN115495312A (zh) * 2022-09-27 2022-12-20 北京百度网讯科技有限公司 业务请求处理方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101946472A (zh) * 2008-01-10 2011-01-12 苹果公司 用于网络资源分配的装置和方法
AU2011244901A1 (en) * 2004-06-24 2011-11-24 X2M Connect Limited Client processor device
CN107534981A (zh) * 2015-04-23 2018-01-02 瑞典爱立信有限公司 资源重分配
CN109561134A (zh) * 2018-10-26 2019-04-02 平安科技(深圳)有限公司 电子装置、分布式集群服务分配方法及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2011244901A1 (en) * 2004-06-24 2011-11-24 X2M Connect Limited Client processor device
CN101946472A (zh) * 2008-01-10 2011-01-12 苹果公司 用于网络资源分配的装置和方法
CN107534981A (zh) * 2015-04-23 2018-01-02 瑞典爱立信有限公司 资源重分配
CN109561134A (zh) * 2018-10-26 2019-04-02 平安科技(深圳)有限公司 电子装置、分布式集群服务分配方法及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115080363A (zh) * 2022-08-23 2022-09-20 中国中金财富证券有限公司 一种基于业务日志的***容量评估方法及装置
CN115080363B (zh) * 2022-08-23 2022-11-15 中国中金财富证券有限公司 一种基于业务日志的***容量评估方法及装置
CN115495312A (zh) * 2022-09-27 2022-12-20 北京百度网讯科技有限公司 业务请求处理方法和装置
CN115495312B (zh) * 2022-09-27 2023-07-18 北京百度网讯科技有限公司 业务请求处理方法和装置

Also Published As

Publication number Publication date
CN110096352B (zh) 2023-03-31

Similar Documents

Publication Publication Date Title
US10348582B1 (en) Providing an instance availability estimate
CN108564269B (zh) 配送任务分配方法、装置、电子设备及计算机存储介质
CN110138883B (zh) 混合云资源分配方法和装置
CN109873868A (zh) 一种计算能力共享方法、***及相关设备
US20120323821A1 (en) Methods for billing for data storage in a tiered data storage system
CN107343023A (zh) 一种Mesos管理集群中的资源分配方法、装置及电子设备
CN110096352A (zh) 进程管理方法、装置及计算机可读存储介质
CN111104219A (zh) 虚拟核心与物理核心的绑定方法、装置、设备及存储介质
CN108241535B (zh) 资源管理的方法、装置及服务器设备
CN104239519A (zh) 一种信息推荐方法及相关设备、***
CN106412075A (zh) 一种基于云计算的资源配置方法及装置
CN111988388B (zh) 流量分配的方法、装置、电子设备及存储介质
CN109104480A (zh) 一种网络请求的处理方法及装置
CN111190910B (zh) 额度资源的处理方法、装置、电子设备及可读存储介质
CN112395091A (zh) 云服务请求响应方法及装置、电子设备和存储介质
CN105511959A (zh) 虚拟资源分配方法和装置
CN108153494A (zh) 一种io请求处理方法及装置
CN112286623B (zh) 一种信息处理方法及装置、存储介质
CN109426561A (zh) 一种任务处理方法、装置及设备
CN110347502A (zh) 云主机服务器的负载均衡调度方法、装置及电子设备
CN113918344A (zh) 一种资源需求分配方法、装置、设备及计算机可读介质
WO2017133421A1 (zh) 一种多租户资源共享的方法及装置
CN110147278A (zh) 数据处理方法及装置
CN116074541B (zh) 一种资源处理方法、***、装置及电子设备
CN107491265B (zh) 分配网际协议ip磁盘的方法及装置

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
GR01 Patent grant