发明内容
发明实施例提供一种网络进程管理方法及装置,以实现优化通信系统,充分利用系统资源,提高系统的业务处理能力。
为此,本发明实施例提供如下的技术方案:
一种网络进程管理方法,包括:
获取网络实体当前物理资源的利用率及需要的业务负荷;
比较所述业务负荷与所述网络实体中当前运行的全部或部分子进程的总负荷大小;
根据比较结果及所述当前物理资源的利用率调整所述网络实体中子进程的数量。
一种网络进程管理装置,包括:
物理资源利用率计算单元,用于计算网络实体当前物理资源的利用率,所述物理资源的利用率包括物理资源的平均负荷及可用的物理内存总量;
子进程负荷统计单元,用于统计所述网络实体中当前运行的所有子进程负荷;
业务负荷估计单元,用于估计所述网络实体当前的业务负荷;
比较单元,用于对所述业务负荷与所述网络实体中所有子进程负荷进行比较,获得比较结果;
子进程调整单元,用于根据所述比较结果及所述当前物理资源的利用率调整所述网络实体中子进程的数量。
由以上本发明实施例提供的技术方案可以看出,本发明在系统运行过程中,实时获取网络实体当前物理资源的利用率及需要的业务负荷,根据该业务负荷与实体中当前运行的所有子进程负荷能力的大小、以及当前物理资源的利用率动态调整实体中子进程的数量,从而使子进程最大限度满足业务负荷的需求,并确保系统资源利用率达到最佳水平。
具体实施方式
本发明实施例是在系统运行过程中,实时获取网络实体当前物理资源的利用率及需要的业务负荷,然后比较该业务负荷与实体中当前运行的全部或部分子进程的总负荷能力的大小,并根据比较结果及当前物理资源的利用率动态调整实体中子进程的数量,也就是说,动态创建或终止实体中运行的子进程,从而使子进程的负荷与业务负荷需求相适应,并确保系统资源利用率达到最佳水平。
根据各网络实体的物理硬件资源和操作系统的限制,通信进程的数量可以有不同的上下限,也就是说,根据网络设备的不同,其能够允许的最大子进程数不同。因此,在本发明应用中,可以预先确定网络实体子进程数量的上下限,在根据网络负荷增、减子进程数量时,使其保持在该上下限范围内。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明作进一步的详细说明。
参照图1,图1示出了本发明方法的一个优选实施例的实现流程,包括以下步骤:
步骤101:获取网络实体当前物理资源的利用率及业务负荷。
所述物理资源包括:CPU数量、CPU的处理速度、物理内存、虚拟内存等信息,即可计算物理资源的平均负荷及可用的物理内存总量,从而确定当前物理资源的利用率。
比如,对计算得到的物理资源的平均负荷及可用的物理内存总量分别设定不同的权值,计算当前物理资源的利用率。
当前的业务负荷可以通过业务的试呼次数来估计。
步骤102:计算网络实体中当前所有子进程的总负荷。
可以通过操作系统提供的工具进行统计,不同的系统可能有不同的工具,如Window操作系统、unix操作系统都提供有相应的工具。由于系统内子进程有很多,因此,也可以只关注与业务处理相关的重要子进程,即占用CPU最多的一个或多个子进程。
步骤103:判断当前物理资源的利用率是否小于预定的最佳利用率。如果是,则进到步骤104;否则,进到步骤106。
比如,将CPU负荷为90%,并且有10%可用物理内存情况下的物理资源的利用率作为最佳利用率。
步骤104:判断网络实体的当前业务负荷是否大于其当前所有子进程的总负荷,并且当前子进程的数量是否小于最大子进程数量。如果是,则进到步骤105;否则,进到步骤109。
步骤105:创建一个或多个新子进程。
前面提到,根据各网络实体的物理硬件资源和操作系统的限制,通信进程的数量可以有不同的上下限。因此,可以根据当前该实体中的所有子进程数和其能够允许的最大子进程数,确定可以创建的子进程数。当然,每次创建时,也可以只创建一个子进程。如果还不能满足业务需求,等待下次检测后再创建。
步骤106:判断当前物理资源的利用率是否大于预定的最佳利用率。如果是,则进到步骤107;否则,进到步骤109。
步骤107:判断网络实体的当前业务负荷是否小于其当前所有子进程的总负荷,并且当前子进程的数量是否大于最小子进程数量。如果是,则进到步骤108;否则,进到步骤101。
步骤108:选择一个或多个子进程,并在执行完选择的子进程中的所有任务后终止该子进程。
与前面步骤105中提到的一样,每次也可以只终止一个子进程。如果还不能满足要求,等待下次检测后再终止。
步骤109:延迟预定时间。然后,返回步骤101,进行下一次系统监控。
在上述流程中,创建新子进程或者终止现有子进程时,可以有选择地进行。比如,为系统中的所有可用子进程设置加载优先级,在创建一个或多个新的子进程时,优先加载优先级高的子进程,在终止一个或多个子进程时,优先终止优先级低的子进程。
在该实施例中,描述了通过循环方式对系统进行监控,从而动态调整子进程数量的流程。除此之外,还可以采用定时监控的方式,比如,根据一天内业务流量的变化规律,可以设置几个监控时间点,在这些监控点按照上述流程对各网络实体系统进行监控。在这种方式下,则不需要图1中的步骤109,而是调整及检测完成后直接结束本次监控流程。等到下一个监控点到达后,再重新运行。
参照图2,图2示出了本发明装置第一实施例的原理框图:
该装置包括:物理资源利用率计算单元21、子进程负荷统计单元22、业务负荷估计单元23、比较单元24、子进程调整单元25。其中,
物理资源利用率计算单元21用于计算网络实体当前物理资源的利用率,所述物理资源的利用率包括物理资源的平均负荷及可用的物理内存总量。对于一个系统,可以根据该系统的硬件配置情况获得其可以利用的物理资源总量,比如:CPU数量、CPU的处理速度、物理内存、虚拟内存等信息,根据这些信息即可计算物理资源的平均负荷及可用的物理内存总量,从而确定当前物理资源的利用率。比如,对计算得到的物理资源的平均负荷及可用的物理内存总量分别设定不同的权值,计算当前物理资源的利用率。
子进程负荷统计单元22用于统计网络实体中当前运行的所有子进程负荷;业务负荷估计单元23用于估计网络实体当前的业务负荷,当前的业务负荷可以通过业务的试呼次数来估计。
比较单元24分别与子进程负荷统计单元22和业务负荷估计单元23相连,用于比较业务负荷与所有子进程负荷的大小。子进程调整单元25分别与物理资源利用率计算单元21和比较单元24相连,用于根据比较单元的比较结果及当前物理资源的利用率调整实体中子进程的数量。
为了保证更好地利用系统物理资源,尽可能满足当前的业务需要,子进程调整单元25包括:调整控制子单元251、子进程创建子单元252和子进程终止子单元253。其中,调整控制子单元251在物理资源的利用率小于预定的最佳利用率系数,并且业务负荷大于实体中所有子进程的负荷时,通知子进程创建子单元252创建一个或多个新的子进程;在物理资源的利用率大于预定的最佳利用率系数,并且业务负荷小于实体中所有子进程的负荷时,通知子进程终止子单元253终止一个或多个子进程。
由于不同网络实体的物理硬件资源和操作系统的限制,通信子进程的数量可以有不同的上下限,因此,可以由调整控制子单元根据当前该实体中的所有子进程数和其能够允许的最大子进程数,确定可以创建的子进程数。当然,每次创建时,也可以只创建一个子进程。如果还不能满足业务需求,等待下次检测后再创建。同样,在可以终止某个或某些当前子进程时,也可以由调整控制子单元根据当前该实体中的所有子进程数和其能够允许的最小子进程数,确定可以终止的子进程数。当然,每次终止时,也可以只终止一个子进程。如果还不能满足业务需求,等待下次检测后再终止其他子进程。
参照图3,图3示出了本发明装置第二实施例的原理框图:
与图2所示实施例不同的是,在该实施例中,增加了:
优先级设定单元26,与子进程调整单元相连,为系统中的所有可用子进程设置加载优先级,以使子进程创建子单元和子进程终止子单元根据该加载优先级创建或终止需要的子进程。比如,在创建子进程时,优先选择优先级高的子进程加载,在终止子进程时,优先选择优先级低的子进程终止。需要注意的是,在终止某个子进程时,需要在执行完该子进程中的所有任务后才能终止该进程。
在本发明装置实施例应用时,可以通过一个定时器来控制本发明装置实施例对系统进行监控,比如,通过循环方式或定时方式。
可以将本发明装置实施例应用于SCP(业务控制点)和SMP(业务管理点)中的监控管理模块中。
以SCP为例,SCP进程启动时,即使没有任何呼叫,该进程也会占用系统资源,包括CPU、内存等。
在呼叫增加的时候,相应地,网络流程增加,CPU占用率也提高,基本上成线性关系(譬如每个呼叫都需要使用若干条信令,相应地,进程处理也占用一部分CPU)。当网络流量增加到一定程度后,由于该进程无法处理更多的呼叫,其他呼叫因为无法被处理而被丢弃。这时监控管理模块可以监控以下两个指标,以确定是否需要增加子进程来处理呼叫业务:
1.根据到达端口(进程)的包流量,得到呼叫发起量,从而确定当前业务负荷;
2.监测当前子进程对CPU资源的占用率。
当这些指标达到上限前,监控管理模块可以向主控进程发起预警,主控进程可根据进程类型、设备配置、进程配置等相关信息,启动新的子进程。
当网络流量下降到一定门限时,主控进程自动减少子进程个数,以便更有效地利用系统资源。
可见,利用本发明实施例,不仅可以充分利用系统资源,提高系统的业务处理能力,而且还可以有效地统一单个实体中的多个网络系统。比如,在智能网系统中配置SCP(业务控制点)和SMP(业务管理点)作为不同的子系统独立运行,可以将其中一些业务负荷较小的SCP与其他子系统(例如,SMP、BPS(Bill Process System,话单处理系统)服务器、OAM(Operation,Administration and Maintenance System,操作管理维护系统)服务器等)集成在一起。这样,就可以将SCP和SMP集成为一个性能更高的单个系统,而不是分别针对SCP和SMP采用两个低效系统。在这种设计中,该集成系统虽然会根据网络业务负荷分别执行SCP和SMP的进程,但当网络业务量较大时,可以提供更多的进程执行SCP的进程;当网络业务量较小时,可以向SMP提供更多的进程。这种在单个系统中集成多个通信实体和进程的方式可以使系统设计更加紧凑和高效,并能减少通过网络实现进程间通信的传输时延及开销,提高系统性能。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。