CN107547622B - 一种资源调整方法及装置 - Google Patents
一种资源调整方法及装置 Download PDFInfo
- Publication number
- CN107547622B CN107547622B CN201710507515.4A CN201710507515A CN107547622B CN 107547622 B CN107547622 B CN 107547622B CN 201710507515 A CN201710507515 A CN 201710507515A CN 107547622 B CN107547622 B CN 107547622B
- Authority
- CN
- China
- Prior art keywords
- resource management
- resource
- resources
- management process
- server
- 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.)
- Active
Links
Images
Abstract
本申请涉及计算机网络技术领域,尤其涉及一种资源调整方法及装置,用以提高资源调整效率。本申请实施例针对网管软件的任一组件,在服务器集群的多个服务器中分别运行有该组件的资源管理进程,每个资源管理进程分别管理不同的网络资源;该方法包括:从管理所述服务器集群的数据节点中,读取所述多个服务器分别运行的资源管理进程当前的资源管理信息;根据读取的资源管理信息,按照对所述多个服务器分别运行的资源管理进程所管理的网络资源调整量最少的方式调整所述多个服务器分别运行的资源管理进程所管理的网络资源。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种资源调整方法及装置。
背景技术
网管软件用于管理交换机、路由器、服务器、存储等网络资源。网管软件包括不同的组件,在传统的网络管理中,每种组件只部署在一台服务器上,这样该组件能够管理的资源数量是有限的,为了管理更多的资源,可以将同一种组件部署在多台服务器上,其中每台服务器运行的组件进程所管理的网络资源不同。
目前,在进行网络资源分配时,使用网络资源的标识(Identity,ID) 对服务器集群中的服务器个数取模,将得到的值作为管理该网络资源的服务器编号,如果模值为零,则将编号最大的服务器作为管理该网络资源的服务器。例如集群中有两台服务器,编号分别是1和2,需要管理某网管软件组件的10个网络资源,则基于上述取模运算的方式,确定出服务器1管理的资源编号是:1、3、5、7、9;服务器2管理的资源编号是:2、4、6、 8、10;如果集群中增加一个服务器3来部署上述网管软件组件,则需要对现有的所有资源1~10进行重分配,重分配后,服务器1管理的资源是:1、 4、7、10;服务器2管理的资源是:2、5、8;服务器3管理的资源是:3、 6、9,如图1所示。
可见,当增加网络资源或者增加部署网管软件的服务器时,为了实现负载均衡,需要对所有的网络资源进行重新分配,将网络资源平均分配到集群中的服务器上;当结束了某个服务器运行的网管组件进程时,按照现有的处理方式也需要进行资源的重分配,以便其它服务器来接管被删服务器管理的资源。这种方式对于服务器进行资源调整的工作量比较大,调整效率较低。
发明内容
本申请实施例提供一种资源调整方法及装置,用以提高资源调整效率。
本申请实施例中,针对网管软件的任一组件,在服务器集群的多个服务器中分别运行有该组件的资源管理进程,每个资源管理进程分别管理不同的网络资源,本申请实施例提供一种资源调整方法,包括:
从管理所述服务器集群的数据节点中,读取所述多个服务器分别运行的资源管理进程当前的资源管理信息;
根据读取的资源管理信息,按照对所述多个服务器分别运行的资源管理进程所管理的网络资源调整量最少的方式调整所述多个服务器分别运行的资源管理进程所管理的网络资源。
可选地,根据读取的资源管理信息,按照对所述多个服务器分别运行的资源管理进程所管理的网络资源调整量最少的方式调整所述多个服务器分别运行的资源管理进程所管理的网络资源,包括:
根据读取的资源管理信息,确定资源调整方案;
根据确定的资源调整方案,更新所述数据节点中的资源管理信息,以便发生资源调整的资源管理进程根据从数据节点监视到的自身资源管理信息的变化,调整管理的网络资源。
可选地,所述根据读取的资源管理信息,确定资源调整方案,包括:
若新增需要所述组件管理的待分配资源,则根据读取的所述资源管理信息,选择当前管理资源最少的资源管理进程来管理该待分配资源;
所述根据确定的资源调整方案,更新所述数据节点中的资源管理信息,包括:
在所述当前管理资源最少的资源管理进程的资源管理信息中,添加所述待分配资源的信息。
可选地,所述根据读取的资源管理信息,确定资源调整方案,包括:
若新增服务器来运行所述组件的资源管理进程,则
根据读取的资源管理信息,从当前管理资源最多的资源管理进程所管理的资源中,选择一个资源给新增服务器运行的资源管理进程接管;
重复执行上述步骤,直到新增服务器运行的资源管理进程所管理的资源不是最少的,或者直到若再增加一个管理的资源则该新增服务器运行的资源管理进程所管理的资源不是最少的;
所述根据确定的资源调整方案,更新所述数据节点中的资源管理信息,包括:
在所述数据节点中添加所述新增服务器运行的资源管理进程的资源管理信息,并在被接管资源的资源管理进程的资源管理信息中删除被接管的资源信息。
可选地,所述根据读取的资源管理信息,确定资源调整方案,包括:
若存在至少一个所述资源管理进程结束运行,则
根据读取的所述资源管理信息,选择当前管理资源最少的资源管理进程,并从结束运行的资源管理进程所管理的资源中选择一个资源给选择的所述资源管理进程接管;
重复执行上述步骤,直到结束运行的资源管理进程所管理的资源都被接管;
所述根据确定的资源调整方案,更新所述数据节点中的资源管理信息,包括:
在所述数据节点中删除结束运行的资源管理进程的资源管理信息,并在接管资源的资源管理进程的资源管理信息中添加接管的资源信息。
可选地,所述数据节点为分布式应用程序协调服务zookeeper服务器。
在本申请提供的资源调整装置的实施例中,针对网管软件的任一组件,在服务器集群的多个服务器中分别运行有该组件的资源管理进程,每个资源管理进程分别管理不同的网络资源,该装置应用于任一所述服务器,包括:
读取模块,用于从管理所述服务器集群的数据节点中,读取所述多个服务器分别运行的资源管理进程当前的资源管理信息;
调整模块,用于根据所述读取模块读取的资源管理信息,按照对所述多个服务器分别运行的资源管理进程所管理的网络资源调整量最少的方式调整所述多个服务器分别运行的资源管理进程所管理的网络资源。
可选地,所述调整模块具体用于:
根据读取的资源管理信息,确定资源调整方案;根据确定的资源调整方案,更新所述数据节点中的资源管理信息,以便发生资源调整的资源管理进程根据从数据节点监视到的自身资源管理信息的变化,调整管理的网络资源。
可选地,所述调整模块具体用于根据以下步骤确定资源调整方案:
若新增需要所述组件管理的待分配资源,则根据读取的所述资源管理信息,选择当前管理资源最少的资源管理进程来管理该待分配资源;
所述调整模块具体用于根据以下步骤更新所述数据节点中的资源管理信息:
在所述当前管理资源最少的资源管理进程的资源管理信息中,添加所述待分配资源的信息。
可选地,所述调整模块具体用于根据以下步骤确定资源调整方案:
若新增服务器来运行所述组件的资源管理进程,则根据读取的资源管理信息,从当前管理资源最多的资源管理进程所管理的资源中,选择一个资源给新增服务器运行的资源管理进程接管;重复该步骤,直到新增服务器运行的资源管理进程所管理的资源不是最少的,或者直到若再增加一个管理的资源则该新增服务器运行的资源管理进程所管理的资源不是最少的;
所述调整模块具体用于根据以下步骤更新所述数据节点中的资源管理信息:
在所述数据节点中添加所述新增服务器运行的资源管理进程的资源管理信息,并在被接管资源的资源管理进程的资源管理信息中删除被接管的资源信息。
可选地,所述调整模块具体用于根据以下步骤确定资源调整方案:
若存在至少一个所述资源管理进程结束运行,则根据读取的所述资源管理信息,选择当前管理资源最少的资源管理进程,并从结束运行的资源管理进程所管理的资源中选择一个资源给选择的所述资源管理进程接管;重复该步骤,直到结束运行的资源管理进程所管理的资源都被接管;
所述调整模块具体用于根据以下步骤更新所述数据节点中的资源管理信息:
在所述数据节点中删除结束运行的资源管理进程的资源管理信息,并在接管资源的资源管理进程的资源管理信息中添加接管的资源信息。
本申请实施例中,通过一个与服务器集群的多个服务器分别连接的数据节点来维护这多个服务器分别运行的资源管理进程的资源管理信息;在每次有新增资源、或者集群中新增运行上述资源管理进程的服务器或删除运行上述资源管理进程的服务器时,并不是将各资源管理进程所管理的所有资源均进行重新分配,而是基于从数据节点中读取的资源管理信息,对这多个资源管理进程所管理的网络资源进行最少量的调整,比如,当新增待分配资源时,可以根据读取的资源管理信息,选择当前管理资源最少的资源管理进程来管理该待分配资源,而不是将该待分配资源与已有网络资源一起重分配给各个资源管理进程,显然,这种方式相比现有技术每次有新增资源或服务器数量发生变化时,都直接对所有网络资源进行资源重分配的方式,提高了资源调整效率。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要的附图做简单的介绍。显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为背景技术中资源分配示意图;
图2为本申请实施例的一种系统示意图;
图3为本申请一种实施例提供的资源调整方法流程图;
图4为数据节点中维护的资源管理信息示意图;
图5为本申请实施例进行资源调整的示意图;
图6为本申请实施例提供的资源调整装置示意图。
具体实施方式
如图2所示,为本申请实施例针对网管软件的一种组件进行资源管理进程部署及资源管理信息维护的一种系统示意图。针对网管软件的一种组件,可以在服务器集群的多个服务器中分别运行该组件的资源管理进程,每个服务器通过运行的资源管理进程管理不同的网络资源,并分别与分布式应用程序协调服务(zookeeper)服务器建立通信连接关系。在zookeeper 服务器中创建管理上述服务器集群的数据节点(znode),用于记录上述网管软件的组件对应的不同资源管理进程的资源管理信息,比如包括不同资源管理进程所管理资源的资源标识(Identity,ID)。每个资源管理进程可以根据znode指示的该资源管理进程负责管理的资源ID,从数据库(Database, DB)中获取需要管理的资源信息,比如交换机IP地址、型号、接口信息等。当zookeeper服务器监控到任一服务器运行的资源管理进程与该zookeeper 服务器失联后,可以更新数据节点中记录的信息,以指示存在结束运行的资源管理进程。这里,zookeeper服务器是指zookeeper集群中的服务器,任一资源管理进程与zookeeper服务器失联,也即与zookeeper集群失联。
基于上述架构,上述服务器集群中的服务器可以在有需要时(有新增资源、或者集群中新增上述组件的资源管理进程或存在结束运行的资源管理进程),通过运行的资源管理进程在数据节点中读取多个资源管理进程当前的资源管理信息,进而根据读取的不同资源管理进程的资源管理信息,按照负载均衡的原则来调整资源管理进程所管理的网络资源。
需要说明的是,本申请并不限于使用zookeeper服务器中创建的znode 来维护上述服务器集群的资源管理信息,任何可以对上述服务器集群的资源管理状态进行维护的数据节点都可以。该数据节点可以认为是存储信息的信息节点,既可以设置在上述服务器集群外的设备中,也可以设置在上述服务器集群内,比如设置在主服务器(运行上述资源管理进程中的主进程的服务器)中。另外,本申请中,网管软件所管理的网络资源可以包括交换机、路由器、存储等硬件资源信息,还可以包括操作系统、数据库等软件资源信息,本申请中采用一个资源ID来唯一标识一个资源。
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请做进一步详细的说明。
本申请实施例中,针对网管软件的任一组件,在服务器集群的多个服务器中分别运行有该组件的资源管理进程,每个资源管理进程分别管理不同的网络资源;如图3所示,为本申请一种实施例提供的资源调整方法流程图,本申请实施例中,上述服务器集群中的服务器通过运行的资源管理进程进行资源调整,该服务器可以是运行主进程的主服务器,也可以是运行指定的从进程的从服务器,一般地,为了便于管理和操作,由运行主进程的主服务器来执行下述资源调整过程,下面以执行主体为主服务器为例进行介绍,该方法包括以下步骤:
S301:从管理服务器集群的数据节点中,读取服务器集群中的多个服务器分别运行的资源管理进程当前的资源管理信息。
在具体实施中,可以创建数据节点来管理上述服务器集群,该数据节点中可以存储各资源管理进程实时的资源管理信息,比如存储各个资源管理进程的进程ID及该进程ID名下的各个资源ID。任一服务器启动资源管理进程后,在数据节点中添加该资源管理进程的进程ID,主服务器在监视到数据节点中出现新的进程ID后,进行资源调整,并在该进程ID名下添加为该进程分配的资源ID。
具体地,可以在zookeeper服务器中创建数据节点来管理上述服务器集群。比如,可以在zookeeper服务器中创建名称为topodm的节点,并在topodm 节点下设立id和res两个节点,在id节点下设立运行该组件的各个资源管理进程的进程ID节点,在res节点下同样设立进程ID节点,进程ID节点的值为进程管理的资源ID,以逗号分隔各个资源ID。任一服务器启动资源管理进程后,在id节点下添加该资源管理进程的进程ID,当主服务器为该资源管理进程分配资源后,在res节点下添加该进程ID对应的资源ID。如图4所示,针对网管软件的拓扑组件,服务器集群中有三个服务器部署了运行该组件的资源管理进程,进程ID分别为1,2,3,其中,进程1管理的资源ID为1,2,3,进程2管理的资源ID为4,5,6,进程3管理的资源ID为7,8,9。
S302:根据读取的资源管理信息,按照对多个服务器分别运行的资源管理进程所管理的网络资源调整量最少的方式调整所述多个服务器分别运行的资源管理进程所管理的网络资源。
本申请实施例中,不需要进行资源重分配,而是基于每个资源管理进程当前分别管理的资源信息,按照负载均衡原则和调整量最少的原则进行资源调整。
这里,主服务器在通过主进程确定资源调整方案后,可以直接通过主进程将资源管理信息调整的情况通知给需要进行资源调整的运行从进程的从服务器;或者,各个服务器(包括主服务器和从服务器)运行的资源管理进程通过监视自身资源管理信息的变化来调整各自管理的网络资源。
具体地,作为一种实施方式(称为方式一),在确定资源调整方案后,直接将资源管理信息调整的情况通知给相关的资源管理进程,并更新数据节点中的资源管理信息,比如通知相关资源管理进程停止管理的资源ID,或者通知相关资源管理进程新增管理的资源ID等。
作为另一种实施方式(称为方式二),网管软件组件的每个资源管理进程可以通过监视数据节点上的资源管理信息,实时感知集群中各资源管理进程的资源管理状态的变化,基于此,在确定资源调整方案后,更新数据节点中的资源管理信息,任一资源管理进程在从数据节点监视到自身资源管理信息发生变化后,调整自身管理的网络资源。
以上述方式二为例,下面介绍几种按照“资源调整量最少”的方式调整网络资源的实施方式。
实施方式一:在具体实施中,若新增需要上述网管组件管理的一个待分配资源,则可以根据读取的资源管理信息,选择当前管理资源最少的资源管理进程来管理该待分配资源,并基于选择结果更新数据节点中的资源管理信息,也即在当前管理资源最少的资源管理进程的资源管理信息中,添加待分配资源的信息。
选择的资源管理进程在通过监视数据节点感知到自身资源管理信息的变化后,接管数据节点中指示的新增资源。比如,将新增资源ID添加到上述res节点下选择的资源管理进程的进程ID节点的值中,该资源管理进程根据res节点中指示的新增资源ID,从DB中获取新增资源信息,如新增交换机IP地址、简单网络管理协议(Simple Network ManagementProtocol, SNMP)参数、型号、接口信息等,并通过SNMP协议管理该资源。
上述新增待分配资源的情况可以是任一资源管理进程感知到的,比如,用户通过某一台服务器的资源管理进程,添加了需要管理的交换机、路由器和存储设备的信息,若运行该资源管理进程的服务器不是主服务器,则可以将新增待分配资源的信息通知给主服务器,由主服务器进行资源分配。
实施方式二:若新增服务器来运行上述组件的资源管理进程,则新增服务器在启动上述组件的资源管理进程后(即新增上述组件的资源管理进程),可以在上述id节点下添加自己的进程ID节点,主服务器在监视到id 节点下有新增进程ID节点后,根据读取的资源管理信息,从当前管理资源最多的资源管理进程所管理的资源中,选择一个资源给新增资源管理进程接管;重复执行该步骤,直到新增资源管理进程所管理的资源不是最少的,或者直到若再增加一个管理的资源则该新增资源管理进程所管理的资源不是最少的(也即比前一种截止条件少重复执行一次,比如,前一种截止条件中,截止到新增资源管理进程所管理的资源数量为5,其余3个资源管理进程所管理的资源数量分别为4,5,5;则后一种截止条件中,截止到新增资源管理进程所管理的资源数量为4,其余资源管理进程所管理的资源数量分别为5,5,5)。
上述循环过程结束后,主服务器也就确定好了调整方案,主服务器根据确定好的调整方案,在数据节点中增加新增服务器运行的资源管理进程的资源管理信息,并在被接管资源的资源管理进程的资源管理信息中删除被接管的资源信息,比如,在上述res节点下添加新增资源管理进程的进程 ID节点的值(接管的资源ID),并在被接管资源的资源管理进程的进程ID 节点的值中,删除被接管的资源对应的资源ID。新增资源管理进程根据res节点中指示的新增资源ID,从DB中获取新增资源信息并进行资源管理。
实施方式三:在资源管理进程结束运行后,zookeeper服务器监控到该资源管理进程与该zookeeper服务器失联,自动删除id节点中记录的该进程的进程ID节点;
相应的,主服务器通过主进程监视到存在至少一个资源管理进程结束运行后,根据读取的资源管理信息,选择当前管理资源最少的资源管理进程,并从结束运行的资源管理进程所管理的资源中选择一个资源给上述选择的资源管理进程接管;重复执行该步骤,直到结束运行的资源管理进程所管理的资源都被接管;
上述循环过程结束后,主服务器也就确定好了调整方案,主服务器根据确定好的调整方案更新数据节点中的资源管理信息,也即在数据节点中删除结束运行的资源管理进程的资源管理信息,并在接管资源的资源管理进程的资源管理信息中添加接管的资源信息,比如,删除res节点下已结束进程的进程ID节点,并更新res节点下接管资源的进程ID节点的值(资源 ID)。上述被选择的资源管理进程根据res节点中指示的新增资源ID进行资源接管。
下面通过另一个具体的实施例,对本申请方案作进一步说明。
以网管软件的拓扑组件为例,本申请实施例的实施过程如下:
A)初始资源分配:在zookeeper服务器的数据节点中记录拓扑组件的资源管理进程的资源管理信息。
具体地,服务器集群中的一个服务器在启动上述组件的第一个资源管理进程后,在zookeeper服务器中创建进程名称节点topodm,并在topodm 下设立id和res两个节点,在id节点下记录该资源管理进程的进程ID~1,将该第一个资源管理进程作为主进程,运行该主进程的服务器为主服务器。主服务器通过主进程在res下记录其管理的资源ID,分别为1,2,3,4,5。服务器集群中的其它服务器在启动上述组件的资源管理进程后,同样在id节点下记录其进程ID~2,由主服务器为其分配资源,并在res下记录其管理的资源ID,分别为6,7,8,9,10。
B)各进程实时监视数据节点:拓扑组件的每个资源管理进程监视数据节点中各资源管理进程的资源管理信息的变化。
C)新增服务器/资源管理进程:新增服务器在启动资源管理进程后,在数据节点中记录其进程ID。主服务器监视到id节点下有新增进程ID,根据res节点下各进程ID节点的值(资源ID),确定资源调整方案,具体地,重复执行“从当前管理资源最多的资源管理进程所管理的资源中,选择一个资源给新增资源管理进程接管”,直到新增资源管理进程所管理的资源不是最少的,或者直到若再增加一个管理的资源则该新增资源管理进程所管理的资源不是最少的,然后主服务器根据确定的调整方案,在res节点下增加新增进程ID节点的值(资源ID),并将该资源ID从被接管资源的进程 ID节点的值中删除。新增资源管理进程根据监视到的res节点下需要自身管理的资源ID,进行资源管理,被接管资源的资源管理进程则根据监视到的自身被删除的资源ID,停止对被接管资源的管理过程。
比如,服务器集群在服务器1和服务器2的基础上,又增加了服务器3 运行上述资源管理进程,则服务器1的资源管理进程每次从管理最多资源的服务器节点上调整一个资源到服务器3,直到服务器3管理的资源个数不是最少的;最后,服务器1的资源管理进程将资源5、资源10、资源4调整到服务器3,资源分配变化如图5所示。从图中也可以看出,采用本申请实施例的方案,服务器1只是减少了两个管理的资源4和5,服务器2只是减少了一个管理的资源10,相比图1所示的方案,大大减少了资源调整的复杂度,提高了资源管理效率。
E)删除服务器/资源管理进程:zookeeper服务器在监控到任一资源管理进程与该zookeeper服务器失联后,删除id节点下该进程的进程ID节点。主服务器监视到id节点下有资源管理进程的进程ID被删除(此时认为该资源管理进程结束运行),则根据res节点下各进程ID节点的值(资源ID),确定资源调整方案,具体地,重复执行“从结束运行的资源管理进程所管理的资源中选择一个资源给当前管理资源最少的资源管理进程接管”,直到结束运行的资源管理进程所管理的资源都被接管,然后删除res节点下已结束运行的进程ID节点,并更新res节点下接管资源的进程ID节点的值(资源ID)。接管资源的资源管理进程在从res节点监视到自身有新增加的资源 ID后,根据该资源ID,从DB中获取新增资源,并进行管理。
F)新增资源(不新增服务器):当任一服务器通过运行的资源管理进程感知到新增待分配资源后,如果该任一服务器不是主服务器,则通知主服务器有新增待分配资源,主服务器根据从res节点读取的各进程ID节点的值(资源ID),确定出资源调整方案,也即选择出当前管理资源最少的资源管理进程来管理该待分配资源,然后根据确定的调整方案,将新增待分配资源ID添加到上述res节点下选择的资源管理进程的进程ID节点的值中。选择的资源管理进程在监视到res节点下自己进程ID节点的值中有新增加的资源ID后,基于该资源ID,从DB获取网络资源,进行资源管理。
G)删除资源(不删除服务器):当任一服务器通过运行的资源管理进程感知到有资源被删除后,如果该任一服务器不是主服务器,则通知主服务器有资源被删除,主服务器删除res节点下相应的资源ID。资源管理进程在监视到自身有被删除的资源ID后,停止对被删除资源的管理过程。
采用上述实施例,当有新增资源、或者集群中新增运行上述资源管理进程的服务器或删除运行上述资源管理进程的服务器时,通过在数据节点中读取多个资源管理进程当前的资源管理信息,根据不同资源管理进程的资源管理信息,对这多个资源管理进程所管理的网络资源进行最少量的调整,以使各个资源管理进程对已有的网络资源进行均衡管理,这种方式相比现有技术每次有新增资源或服务器数量发生变化时,都直接对所有网络资源进行资源重分配的方式,提高了资源调整效率。
基于同一发明构思,本申请实施例提供了一种与上述资源调整方法对应的资源调整装置,由于该装置解决问题的原理与本申请实施例的资源调整方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
在本申请实施例中,针对网管软件的任一组件,在服务器集群的多个服务器中分别运行有该组件的资源管理进程,每个资源管理进程分别管理不同的网络资源,该装置应用于运行上述资源管理进程的服务器,具体可以是运行主进程的主服务器,或者是运行指定的从进程的从服务器,如图6 所示,该装置包括:
读取模块61,用于从管理所述服务器集群的数据节点中,读取所述多个服务器分别运行的资源管理进程当前的资源管理信息;
调整模块62,用于根据所述读取模块61读取的资源管理信息,按照对所述多个服务器分别运行的资源管理进程所管理的网络资源调整量最少的方式调整所述多个服务器分别运行的资源管理进程所管理的网络资源。
可选地,调整模块62具体用于:
根据读取模块61读取的资源管理信息,确定资源调整方案;根据确定的资源调整方案,更新所述数据节点中的资源管理信息,以便发生资源调整的资源管理进程根据从数据节点监视到的自身资源管理信息的变化,调整管理的网络资源。
可选地,调整模块62具体用于根据以下步骤确定资源调整方案:
若新增需要所述组件管理的待分配资源,则根据读取的所述资源管理信息,选择当前管理资源最少的资源管理进程来管理该待分配资源;
调整模块62具体用于根据以下步骤更新所述数据节点中的资源管理信息:
在所述当前管理资源最少的资源管理进程的资源管理信息中,添加所述待分配资源的信息。
可选地,所述调整模块62具体用于根据以下步骤确定资源调整方案:
若新增服务器来运行所述组件的资源管理进程,则根据读取的资源管理信息,从当前管理资源最多的资源管理进程所管理的资源中,选择一个资源给新增服务器运行的资源管理进程接管;重复该步骤,直到新增服务器运行的资源管理进程所管理的资源不是最少的,或者直到若再增加一个管理的资源则该新增服务器运行的资源管理进程所管理的资源不是最少的;
所述调整模块62具体用于根据以下步骤更新所述数据节点中的资源管理信息:
在所述数据节点中添加所述新增服务器运行的资源管理进程的资源管理信息,并在被接管资源的资源管理进程的资源管理信息中删除被接管的资源信息。
可选地,所述调整模块62具体用于根据以下步骤确定资源调整方案:
若存在至少一个所述资源管理进程结束运行,则根据读取的所述资源管理信息,选择当前管理资源最少的资源管理进程,并从结束运行的资源管理进程所管理的资源中选择一个资源给选择的所述资源管理进程接管;重复该步骤,直到结束运行的资源管理进程所管理的资源都被接管;
所述调整模块62具体用于根据以下步骤更新所述数据节点中的资源管理信息:
在所述数据节点中删除结束运行的资源管理进程的资源管理信息,并在接管资源的资源管理进程的资源管理信息中添加接管的资源信息。
本申请实施例的资源调整装置可以在有新增资源、或者集群中新增运行上述资源管理进程的服务器或删除运行上述资源管理进程的服务器时,通过在数据节点中读取多个资源管理进程当前的资源管理信息,根据不同资源管理进程的资源管理信息,对这多个资源管理进程所管理的网络资源进行最少量的调整,以使各个资源管理进程对已有的网络资源进行均衡管理,从而提高了资源调整效率。
另外,本申请实施例还提供了进行资源调整的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
本申请实施例所提供的资源调整装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本申请实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (11)
1.一种资源调整方法,其特征在于,针对网管软件的任一组件,在服务器集群的多个服务器中分别运行有该组件的资源管理进程,每个资源管理进程分别管理不同的网络资源,该方法包括:
从管理所述服务器集群的数据节点中,读取所述多个服务器分别运行的资源管理进程当前的资源管理信息;
根据读取的资源管理信息,按照对所述多个服务器分别运行的资源管理进程所管理的网络资源调整量最少的方式调整所述多个服务器分别运行的资源管理进程所管理的网络资源;其中,所述按照对所述多个服务器分别运行的资源管理进程所管理的网络资源调整量最少的方式调整所述多个服务器分别运行的资源管理进程所管理的网络资源表征根据不同资源管理进程的资源管理信息,对多个资源管理进程所管理的网络资源进行最少量的调整,以使各个资源管理进程对已有的网络资源进行均衡管理;
其中,所述多个服务器包括主服务器以及多个从服务器,所述主服务器确定资源调整方案后,将资源管理信息调整的情况通知给需要进行资源调整的从服务器。
2.如权利要求1所述的方法,其特征在于,根据读取的资源管理信息,按照对所述多个服务器分别运行的资源管理进程所管理的网络资源调整量最少的方式调整所述多个服务器分别运行的资源管理进程所管理的网络资源,包括:
根据读取的资源管理信息,确定资源调整方案;
根据确定的资源调整方案,更新所述数据节点中的资源管理信息,以便发生资源调整的资源管理进程根据从数据节点监视到的自身资源管理信息的变化,调整管理的网络资源。
3.如权利要求2所述的方法,其特征在于,所述根据读取的资源管理信息,确定资源调整方案,包括:
若新增需要所述组件管理的待分配资源,则根据读取的所述资源管理信息,选择当前管理资源最少的资源管理进程来管理该待分配资源;
所述根据确定的资源调整方案,更新所述数据节点中的资源管理信息,包括:
在所述当前管理资源最少的资源管理进程的资源管理信息中,添加所述待分配资源的信息。
4.如权利要求2所述的方法,其特征在于,所述根据读取的资源管理信息,确定资源调整方案,包括:
若新增服务器来运行所述组件的资源管理进程,则
根据读取的资源管理信息,从当前管理资源最多的资源管理进程所管理的资源中,选择一个资源给新增服务器运行的资源管理进程接管;
重复执行上述步骤,直到新增服务器运行的资源管理进程所管理的资源不是最少的,或者直到若再增加一个管理的资源则该新增服务器运行的资源管理进程所管理的资源不是最少的;
所述根据确定的资源调整方案,更新所述数据节点中的资源管理信息,包括:
在所述数据节点中添加所述新增服务器运行的资源管理进程的资源管理信息,并在被接管资源的资源管理进程的资源管理信息中删除被接管的资源信息。
5.如权利要求2所述的方法,其特征在于,所述根据读取的资源管理信息,确定资源调整方案,包括:
若存在至少一个所述资源管理进程结束运行,则
根据读取的所述资源管理信息,选择当前管理资源最少的资源管理进程,并从结束运行的资源管理进程所管理的资源中选择一个资源给选择的所述资源管理进程接管;
重复执行上述步骤,直到结束运行的资源管理进程所管理的资源都被接管;
所述根据确定的资源调整方案,更新所述数据节点中的资源管理信息,包括:
在所述数据节点中删除结束运行的资源管理进程的资源管理信息,并在接管资源的资源管理进程的资源管理信息中添加接管的资源信息。
6.一种资源调整装置,其特征在于,针对网管软件的任一组件,在服务器集群的多个服务器中分别运行有该组件的资源管理进程,每个资源管理进程分别管理不同的网络资源,该装置应用于任一所述服务器,包括:
读取模块,用于从管理所述服务器集群的数据节点中,读取所述多个服务器分别运行的资源管理进程当前的资源管理信息;
调整模块,用于根据所述读取模块读取的资源管理信息,按照对所述多个服务器分别运行的资源管理进程所管理的网络资源调整量最少的方式调整所述多个服务器分别运行的资源管理进程所管理的网络资源;其中,所述按照对所述多个服务器分别运行的资源管理进程所管理的网络资源调整量最少的方式调整所述多个服务器分别运行的资源管理进程所管理的网络资源表征根据不同资源管理进程的资源管理信息,对多个资源管理进程所管理的网络资源进行最少量的调整,以使各个资源管理进程对已有的网络资源进行均衡管理;
其中,所述多个服务器包括主服务器以及多个从服务器,所述调整模块还用于:所述主服务器确定资源调整方案后,将资源管理信息调整的情况通知给需要进行资源调整的从服务器。
7.如权利要求6所述的装置,其特征在于,所述调整模块具体用于:
根据所述读取模块读取的资源管理信息,确定资源调整方案;根据确定的资源调整方案,更新所述数据节点中的资源管理信息,以便发生资源调整的资源管理进程根据从数据节点监视到的自身资源管理信息的变化,调整管理的网络资源。
8.如权利要求7所述的装置,其特征在于,所述调整模块具体用于根据以下步骤确定资源调整方案:
若新增需要所述组件管理的待分配资源,则根据读取的所述资源管理信息,选择当前管理资源最少的资源管理进程来管理该待分配资源;
所述调整模块具体用于根据以下步骤更新所述数据节点中的资源管理信息:
在所述当前管理资源最少的资源管理进程的资源管理信息中,添加所述待分配资源的信息。
9.如权利要求7所述的装置,其特征在于,所述调整模块具体用于根据以下步骤确定资源调整方案:
若新增服务器来运行所述组件的资源管理进程,则根据读取的资源管理信息,从当前管理资源最多的资源管理进程所管理的资源中,选择一个资源给新增服务器运行的资源管理进程接管;重复该步骤,直到新增服务器运行的资源管理进程所管理的资源不是最少的,或者直到若再增加一个管理的资源则该新增服务器运行的资源管理进程所管理的资源不是最少的;
所述调整模块具体用于根据以下步骤更新所述数据节点中的资源管理信息:
在所述数据节点中添加所述新增服务器运行的资源管理进程的资源管理信息,并在被接管资源的资源管理进程的资源管理信息中删除被接管的资源信息。
10.如权利要求7所述的装置,其特征在于,所述调整模块具体用于根据以下步骤确定资源调整方案:
若存在至少一个所述资源管理进程结束运行,则根据读取的所述资源管理信息,选择当前管理资源最少的资源管理进程,并从结束运行的资源管理进程所管理的资源中选择一个资源给选择的所述资源管理进程接管;重复该步骤,直到结束运行的资源管理进程所管理的资源都被接管;
所述调整模块具体用于根据以下步骤更新所述数据节点中的资源管理信息:
在所述数据节点中删除结束运行的资源管理进程的资源管理信息,并在接管资源的资源管理进程的资源管理信息中添加接管的资源信息。
11.一种资源调整系统,其特征在于,包括如权利要求6~10任一所述的装置和创建有管理所述服务器集群的数据节点的分布式应用程序协调服务zookeeper服务器;其中,所述zookeeper服务器在监控到任一所述资源管理进程与该zookeeper服务器失联后,更新所述数据节点中记录的信息,以便指示所述装置存在结束运行的资源管理进程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710507515.4A CN107547622B (zh) | 2017-06-28 | 2017-06-28 | 一种资源调整方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710507515.4A CN107547622B (zh) | 2017-06-28 | 2017-06-28 | 一种资源调整方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107547622A CN107547622A (zh) | 2018-01-05 |
CN107547622B true CN107547622B (zh) | 2021-10-12 |
Family
ID=60970161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710507515.4A Active CN107547622B (zh) | 2017-06-28 | 2017-06-28 | 一种资源调整方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107547622B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857518B (zh) * | 2019-01-08 | 2022-10-14 | 平安科技(深圳)有限公司 | 一种网络资源的分配方法及设备 |
CN111176783A (zh) * | 2019-11-20 | 2020-05-19 | 航天信息股份有限公司 | 容器治理平台的高可用方法、装置及电子设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100388183C (zh) * | 2003-07-05 | 2008-05-14 | 华为技术有限公司 | 一种实现加权最小连接分配的服务器负载均衡方法 |
CN102739775B (zh) * | 2012-05-29 | 2017-11-07 | 宁波东冠科技有限公司 | 物联网数据采集服务器集群的监控和管理方法 |
US9047129B2 (en) * | 2012-07-23 | 2015-06-02 | Adobe Systems Incorporated | Systems and methods for load balancing of time-based tasks in a distributed computing system |
CN104935482B (zh) * | 2015-06-26 | 2018-08-24 | 曙光信息产业(北京)有限公司 | 分布式监控系统及方法 |
CN106326002B (zh) * | 2015-07-10 | 2020-10-20 | 阿里巴巴集团控股有限公司 | 资源调度方法、装置及设备 |
CN106657354A (zh) * | 2016-12-29 | 2017-05-10 | 努比亚技术有限公司 | 一种负载均衡装置和方法 |
-
2017
- 2017-06-28 CN CN201710507515.4A patent/CN107547622B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107547622A (zh) | 2018-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11704144B2 (en) | Creating virtual machine groups based on request | |
CN109597567B (zh) | 一种数据处理方法和装置 | |
US11093296B2 (en) | System, virtualization control apparatus, method for controlling a virtualization control apparatus, and program | |
CN107005426B (zh) | 一种虚拟网络功能的生命周期管理方法及装置 | |
CN113037794B (zh) | 计算资源配置调度方法、装置及系统 | |
CN109451088A (zh) | 一种数据访问方法及装置 | |
US20160142262A1 (en) | Monitoring a computing network | |
CN104486445A (zh) | 一种基于云平台的分布式可扩展资源监控系统及方法 | |
CN101730099B (zh) | 基于权限控制的终端管理方法及装置 | |
KR101959601B1 (ko) | 관리 시스템 및 관리 시스템을 제어하기 위한 방법 | |
CN112506659A (zh) | 一种边缘设备的管理方法以及相关装置 | |
JP6215481B2 (ja) | クラウド環境におけるitインフラ管理のための方法とその装置 | |
CN111092930B (zh) | 业务开通方法及装置 | |
CN109002354B (zh) | 一种基于OpenStack的计算资源容量弹性伸缩方法及系统 | |
EP3442201A1 (en) | Cloud platform construction method and cloud platform | |
CN113778623A (zh) | 资源处理方法和装置、电子设备及存储介质 | |
WO2019170011A1 (zh) | 任务分配方法及装置、分布式存储系统 | |
CN104793981B (zh) | 一种虚拟机集群的在线快照管理方法及装置 | |
CN107547622B (zh) | 一种资源调整方法及装置 | |
CN113835844A (zh) | 一种容器集群的管理方法、装置及云计算平台 | |
CN110083504B (zh) | 分布式任务的运行状态监控方法及装置 | |
JP2016116184A (ja) | 網監視装置および仮想ネットワーク管理方法 | |
CN106911769B (zh) | 云平台路由数据的处理方法和云平台的物理服务器 | |
CN106021026B (zh) | 一种备份方法及装置 | |
JP6644902B2 (ja) | ハイパースケール環境における近隣監視 |
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 |