CN112367189A - 一种分布式节点管理方法、设备及存储介质 - Google Patents
一种分布式节点管理方法、设备及存储介质 Download PDFInfo
- Publication number
- CN112367189A CN112367189A CN202011129749.8A CN202011129749A CN112367189A CN 112367189 A CN112367189 A CN 112367189A CN 202011129749 A CN202011129749 A CN 202011129749A CN 112367189 A CN112367189 A CN 112367189A
- Authority
- CN
- China
- Prior art keywords
- node
- management
- target
- application
- management node
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/042—Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
本申请实施例公开了一种分布式节点管理方法,方法应用于第一管理节点,该方法包括:确定分布式管理系统中除第一管理节点外的第二管理节点;其中,所述第一管理节点和所述第二管理节点均用于实现的管理事项至少包括分布式多活管理和为应用节点进行路由计算;从所述第一管理节点和所述第二管理节点中,确定一个管理节点为主节点;若所述第一管理节点为所述主节点,接收至少一个应用节点发送的运行信息,得到目标运行信息;其中,所述分布式管理系统包括所述至少一个应用节点,所述应用节点用于实现接口处理逻辑;将所述目标运行信息发送至所述第二管理节点,并为客户端节点提供接口服务。本申请实施例还公开了一种分布式管理设备和存储介质。
Description
技术领域
本申请涉及分布式管理系统技术领域,尤其涉及一种分布式节点管理方法、设备及存储介质。
背景技术
随着计算机技术的飞速发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性和实时性要求,也对技术提出了更高的要求。互联网网络接口的特性是流量大,这就要求提供服务的互联网应用系统需要支持超大流量的访问。传统的集中式互联网系统使用的是IOE方案,即国际商业机器公司或万国商业机器公司(International Business Machines Corporation,IBM)的大型机、甲骨文公司(Oracle)的数据库、易安信(EMC)的存储实现系统的方案。在IOE方案中,存在对集中式互联网系统进行系统扩展时需要花费巨大的费用的问题。由于该成本问题,互联网公司大都舍弃IOE方案,而使用分布式架构来构建互联网应用系统,即使用廉价的服务器、开源的数据库和普通的存数设备。
目前,常用的分布式技术方案是使用分布式系统的可靠协调系统 (Zookeeper)做分布式协调。Zookeeper实现分布式协调时,实现过程包括:分布式系统中的每一个节点为集群中的其他节点进行投片,然后在确定超过一半的节点均已进行投票后,选出投票得数最高的节点作为主(Master)节点,然后以主节点用作路由分发器,采用例如随机算法、轮询算法或哈希(Hash) 算法将流量分发到包括主节点自身在内的所有节点。
目前,选择主节点时必须有一半以上的节点存活才能实现,这样在半数以上节点脑裂时,无法选出Master节点,造成不能正常提供服务,导致目前的分布式技术方案容错性较差,技术可靠性较低。
申请内容
为解决上述技术问题,本申请实施例期望提供一种分布式节点管理方法、设备及存储介质,解决了目前的分布式技术方案容错性较差的问题,提出了一种新的分布式接口管理方法,提高了分布式技术方案的容错性,实现了有效提供服务,保证了技术的可靠性。
本申请的技术方案是这样实现的:
第一方面,一种分布式节点管理方法,所述方法应用于第一管理节点,所述方法包括:
确定分布式管理系统中除第一管理节点外的第二管理节点;其中,所述第一管理节点和所述第二管理节点均用于实现的管理事项至少包括分布式多活管理和为应用节点进行路由计算;
从所述第一管理节点和所述第二管理节点中,确定一个管理节点为主节点;
若所述第一管理节点为所述主节点,接收至少一个应用节点发送的运行信息,得到目标运行信息;其中,所述分布式管理系统包括所述至少一个应用节点,所述应用节点用于实现接口处理逻辑;
将所述目标运行信息发送至所述第二管理节点,并为客户端节点提供接口服务。
第二方面,一种分布式管理设备,所述设备用于运行第一管理节点,所述设备包括存储器、处理器和通信总线;其中:
所述存储器,用于存储可执行指令;
所述通信总线,用于实现所述处理器和所述存储器之间的通信连接;
所述处理器,用于执行所述存储器中存储的分布式节点管理程序,实现如上述任一项所述的分布式节点管理方法的步骤。
第三方面,一种存储介质,所述存储介质上存储有分布式节点管理程序,所述分布式节点管理程序被处理器执行时实现如上述任一项所述的分布式节点管理方法的步骤。
本申请实施例中,第一管理节点确定分布式管理系统中除第一管理节点外的第二管理节点后,基于第一管理节点和第二管理节点,确定一个管理节点为主节点,若第一管理节点为主节点,接收至少一个应用节点发送的运行信息,得到目标运行信息后,将目标运行信息发送至第二管理节点后,并为客户端节点提供接口服务,若接收到客户端节点发送的接口调用请求,基于接口调用请求和目标运行信息,从至少一个应用节点中确定一个应用节点为目标节点。这样,从至少两个管理节点中确定一个管理节点为主节点来采集至少一个应用节点的目标运行信息,并主节点将采集到的目标运行信息同步至其他管理节点中,以便包括主节点在内的管理节点在接收到接口调用请求时,基于接口条用请求和目标运行信息,从至少一个应用节点中确定一个应用节点为用于完成接口调用请求对应的接口处理逻辑的目标节点,解决了目前的分布式技术方案容错性较差的问题,提出了一种新的分布式接口管理方法,提高了分布式技术方案的容错性,实现了有效提供服务,保证了技术的可靠性。
附图说明
图1为本申请实施例提供的一种分布式节点管理方法的流程示意图;
图2为本申请实施例提供的另一种分布式节点管理方法的流程示意图;
图3为本申请实施例提供的又一种分布式节点管理方法的流程示意图;
图4为本申请实施例提供的再一种分布式节点管理方法的流程示意图;
图5为本申请实施例提供的一种分布式管理系统的流程示意图;
图6为本申请实施例提供的一种数据队列的示意图;
图7为本申请实施例提供的一种硬件性能参数的示意图;
图8为本申请实施例提供的一种关联数组的示意图;
图9为本申请实施例提供的一种至少一个应用节点的运行信息的传输示意图;
图10为本申请实施例提供的一种编号为001的应用节点组中的四个应用节点的部分运行信息的示意图;
图11为本申请实施例提供的一种分布式管理设备的结构示意图;
图12为本申请实施例提供的一种分布式管理系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请的实施例提供一种分布式节点管理方法,参照图1所示,方法应用于第一管理节点,该方法包括以下步骤:
步骤101、确定分布式管理系统中除第一管理节点外的第二管理节点。
其中,第一管理节点和第二管理节点均用于实现的管理事项至少包括分布式多活管理和为应用节点进行路由计算。
在本申请实施例中,分布式管理系统通常为分布式的实时网络接口管理系统。第一管理节点可以是分布式管理系统中的任意一个可使用的节点,即存活的管理节点,第二管理节点为分布式管理系统中除第一管理节点外的其他可使用的节点,即存活的管理节点,第二管理节点代表除第一管理节点外的每一管理节点。第一管理节点和第二管理节点能够支持无限横向扩展。
第一管理节点确定第一管理节点所属的分布式管理系统中除自身外的其他管理节点,得到第二管理节点。
步骤102、从第一管理节点和第二管理节点中,确定一个管理节点为主节点。
在本申请实施例中,从第一管理节点和第二管理节点中选取出一个管理节点作为主节点,以通过主节点收集至少一个应用节点的目标运行信息,减少至少一个应用节点需要与全部管理节点之间进行通信提交目标运行信息的信息交互过程,有效降低了应用节点与管理节点之间的资源消耗。
步骤103、若第一管理节点为主节点,接收至少一个应用节点发送的运行信息,得到目标运行信息。
其中,分布式管理系统包括至少一个应用节点,应用节点用于实现接口处理逻辑。
在本申请实施例中,一个应用节点通常对应一个应用实例,在一些应用场景中,一个应用节点中也可以对应多个应用实例。应用节点一般运行在一个应用服务器中,但也存在多个应用节点运行在同一个应用服务器中的可能。
步骤104、将目标运行信息发送至第二管理节点,并为客户端节点提供接口服务。
在本申请实施例中,第一管理节点作为主节点时,将接收到的至少一个应用节点的运行信息即目标运行信息发送至第二管理节点,实现同步第一管理节点和第二管理节点之间的信息同步,以便第一管理节点因为某些原因不可用时,第二管理节点中的管理节点还可以为至少一个应用节点提供服务,有效增加了容错性。
本申请实施例中,第一管理节点确定分布式管理系统中除第一管理节点外的第二管理节点后,基于第一管理节点和第二管理节点,确定一个管理节点为主节点,若第一管理节点为主节点,接收至少一个应用节点发送的运行信息,得到目标运行信息后,将目标运行信息发送至第二管理节点后,并为客户端节点提供接口服务,若接收到客户端节点发送的接口调用请求,基于接口调用请求和目标运行信息,从至少一个应用节点中确定一个应用节点为目标节点。这样,从至少两个管理节点中确定一个管理节点为主节点来采集至少一个应用节点的目标运行信息,并主节点将采集到的目标运行信息同步至其他管理节点中,以便包括主节点在内的管理节点在接收到接口调用请求时,基于接口条用请求和目标运行信息,从至少一个应用节点中确定一个应用节点为用于完成接口调用请求对应的接口处理逻辑的目标节点,解决了目前的分布式技术方案容错性较差的问题,提出了一种新的分布式接口管理方法,提高了分布式技术方案的容错性,实现了有效提供服务,保证了技术的可靠性。
基于前述实施例,本申请的实施例提供一种分布式节点管理方法,参照图2所示,该方法包括以下步骤:
步骤201、第一管理节点确定分布式管理系统中除第一管理节点外的第二管理节点。
其中,第一管理节点和第二管理节点均用于实现的管理事项至少包括分布式多活管理和为应用节点进行路由计算。
在本申请实施例中,分布式管理系统中的每一存活,即可提供接口服务的管理节点均作为第一管理节点执行步骤201,以确定分布式管理系统中除自身外的其他存活的管理节点。
步骤202、第一管理节点从第一管理节点和第二管理节点中,确定一个管理节点为主节点。
在本申请实施例中,第一管理节点从自身和第二管理节点中,采用一定方法确定一个管理节点得到主节点,并可以确定为主节点外的其他管理节点均为从节点。
在本申请其他实施例中,第一管理节点执行步骤202之后,可以选择执行步骤203~204和步骤206,或者可以选择执行步骤205~206。若第一管理节点为主节点,选择执行步骤203~204和步骤206,若第一管理节点为从节点,选择执行步骤205~206:
步骤203、若第一管理节点为主节点,第一管理节点接收至少一个应用节点发送的运行信息,得到目标运行信息。
其中,分布式管理系统包括至少一个应用节点,应用节点用于实现接口处理逻辑。
在本申请实施例中,在第一管理节点确定自身为主节点时,可以确定第二管理节点为从节点,因此,第一管理节点通知至少一个应用节点在第一管理节点处进行注册,并控制至少一个应用节点中的每一应用节点将各自的运行信息发送至第一管理节点,这样,第一管理节点即可得到目标运行信息。也就是说,目标运行信息为一个运行信息的集合。至少一个应用节点为分布式管理系统中存活可用的应用节点。
步骤204、第一管理节点将目标运行信息发送至第二管理节点,并为客户端节点提供接口服务。
在本申请实施例中,第一管理节点作为主节点,将接收到的目标运行信息发送至第二管理节点,实现在管理节点之间进行目标运行信息同步的过程。
步骤205、第二管理节点接收第一管理节点发送的目标运行信息,存储目标运行信息,并为客户端节点提供接口服务。
在本申请实施例中,第二管理节点接收到第一管理节点发送的目标运行信息,存储目标运行信息,并为客户端节点提供接口服务。
需说明的是,每一第二管理节点也可确定第一管理节点为主节点,并在确定主节点为第一管理节点时,每一第二管理节点自动与第一管理节点建立从属关系,将自身设置的从节点。
步骤206、若第一管理节点为从节点,第一管理节点接收主节点发送的目标运行信息,存储目标运行信息,并为客户端节点提供接口服务。
其中,目标运行信息是至少一个应用节点发送至主节点的。
在本申请实施例中,在第一管理节点为从节点时,对应的主节点为一个第二管理节点。
步骤207、若接收到客户端节点发送的接口调用请求,第一管理节点基于接口调用请求和目标运行信息,从至少一个应用节点中确定一个应用节点为目标节点。
其中,目标节点用于完成与接口调用请求对应的接口处理逻辑。
在本申请实施例中,接口调用请求是客户端节点通过分布式管理系统的对外互联网服务接口发送的,用于请求分布式管理系统提供对应的服务。作为主节点的第一管理节点接收到接口调用请求时,对接口调用请求和至少一个应用节点的运行信息进行分析,从至少一个应用节点中确定一个应用节点作为目标节点,以通过目标节点响应接口处理逻辑,从而实现为客户端节点提供对应的服务。第一管理节点为主节点或者从节点时,均可接收到客户端节点发送的接口调用请求。第一管理节点为主节点或者从节点时,第一管理节点未接收到接口调用请求时,接口调用请求也可以是多个第二管理节点中的任意一个管理节点接收到的。
需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。
本申请实施例中,第一管理节点确定分布式管理系统中除第一管理节点外的第二管理节点后,基于第一管理节点和第二管理节点,确定一个管理节点为主节点,若第一管理节点为主节点,接收至少一个应用节点发送的运行信息,得到目标运行信息后,将目标运行信息发送至第二管理节点后,并为客户端节点提供接口服务,若接收到客户端节点发送的接口调用请求,基于接口调用请求和目标运行信息,从至少一个应用节点中确定一个应用节点为目标节点。这样,从至少两个管理节点中确定一个管理节点为主节点来采集至少一个应用节点的目标运行信息,并主节点将采集到的目标运行信息同步至其他管理节点中,以便包括主节点在内的管理节点在接收到接口调用请求时,基于接口条用请求和目标运行信息,从至少一个应用节点中确定一个应用节点为用于完成接口调用请求对应的接口处理逻辑的目标节点,解决了目前的分布式技术方案容错性较差的问题,提出了一种新的分布式接口管理方法,提高了分布式技术方案的容错性,实现了有效提供服务,保证了技术的可靠性。并根据接口调用请求,从至少一个应用节点中确定一个应用节点作为目标节点来完成实际的接口处理逻辑,能够平均分配流量,有效均衡负载。
基于前述实施例,本申请的实施例提供一种分布式节点管理方法,参照图 3所示,该方法包括以下步骤:
步骤301、第一管理节点确定分布式管理系统中除第一管理节点外的第二管理节点。
其中,第一管理节点和第二管理节点均用于实现的管理事项至少包括分布式多活管理和为应用节点进行路由计算。
步骤302、第一管理节点获取第一管理节点的第一参数、第二参数和运营成本参数。
其中,第一参数是用于表示第一管理节点资源抢占速度的参数,第二参数是用于表示第一管理节点对应的硬件性能参数。
在本申请实施例中,获取第一管理节点的多维度参数,多维度参数包括表示第一管理节点资源抢占速度的第一参数、表示第一管理节点对应的硬件性能参数的第二参数和运营成本参数。运营成本参数可以是运行第一管理节点的服务器的购买价格,和/或第一管理节点的运营维护成本。
在本申请实施例中,第一管理节点执行步骤302中的获取第一管理节点的第一参数时,具体可以通过步骤a11~a17:
步骤a11、第一管理节点发送第一资源抢占数据至第二管理节点。
其中,第一资源抢占数据与第一管理节点对应。
在本申请实施例中,第一管理节点和第二管理节点是同时发送各自对应的资源抢占数据的,这样,可以比较出来每一管理节点的数据传输速度,对应的,第一管理节点和第二管理节点接收到除自身外的每一管理节点发送的资源抢占数据后,记录接收到每一管理节点的资源抢占数据的顺序。
步骤a12、第一管理节点接收第二管理节点发送的第一目标权重系数。
其中,第一目标权重系数是根据第二管理节点接收到第一资源抢占数据的第一接收顺序确定得到的。
在本申请实施例中,每一第二管理节点接收到第一管理节点发送的第一资源抢占数据时,确定接收到第一资源抢占资源的第一接收顺序,并根据第一资源抢占资源的第一接收顺序确定第一目标权重系数。有多少个第二管理节点,对应的,第一管理节点会接收到多少个第一目标权重系数,即第一管理节点接收到第一目标权重系数的数量与第二管理节点的数量相同。
步骤a13、第一管理节点确定第一资源抢占数据在第一管理节点中对应的第二目标权重系数。
在本申请实施例中,在第一管理节点和第二管理节点对应的每一管理节点中,接收到各自对应的资源抢占数据的接收顺序默认为第一,即第一管理节点确定接收到自身发送的第一资源抢占数据的接收顺序为第一,接收到每一第二管理节点的资源抢占数据的顺序从第二开始排序。对应的,第二目标权重系数为最高权重值,在第一管理节点处对应的每一第二管理节点的目标权重系数是根据第一管理节点接收到的顺序依次减小的。例如可以设置一个数组来存储第一管理节点接收到每一第二管理节点的资源抢占数据的接收顺序,其中,第一管理节点的第一资源抢占数据的接收顺序默认为数组中的第一位,对应的权重刚好与数组的下标相反。
步骤a14、第一管理节点确定第一目标权重系数与第二目标权重系数的累加值,得到第一参数。
步骤a15、第一管理节点记录接收到第二管理节点发送第二资源抢占数据的第二接收顺序。
步骤a16、第一管理节点基于第二接收顺序,确定第二管理节点对应的第三目标权重系数。
步骤a17、第一管理节点发送第三目标权重系数至第二管理节点。
其中,第三目标权重系数用于使第二管理节点确定第二管理节点的第一参数。
在本申请实施例中,第一管理节点执行步骤302中的获取第一管理节点的第二参数时,具体可以通过步骤b11~b12来实现:
步骤b11、第一管理节点获取第一管理节点对应的中央处理器CPU的第一空闲参数、内存的第二空闲参数和第一带宽参数。
步骤b12、第一管理节点通过公式Y1=α1*X1+α2*X2+α3*X3,计算得到第一管理节点的第二参数。
其中,Y1为第一管理节点的第二参数,X1为第一空闲参数,X2为第二空闲参数,X3为第一带宽参数,α1、α2和α3为预设权重系数。
步骤303、第一管理节点基于第一管理节点的目标参数,确定第一管理节点的第一特征参数。
其中,第一管理节点的目标参数至少包括以下参数之一:第一参数、第二参数和运营成本参数。
在本申请实施例中,第一管理节点可以对第一管理节点的目标参数进行分析,确定得到第一管理节点的第一特征参数。
其中,R1为第一特征参数,Y2为第一参数,Y3为运营成本参数。
步骤304、第一管理节点接收第二管理节点的第二特征参数。
其中,第二特征参数是基于第二管理节点的目标参数得到的。
在本申请实施例中,第二管理节点得到第二特征参数的过程与第一管理节点得到第一特征参数的过程相同,具体可以参见第一管理节点得到第一特征采纳数的过程,此处不再详细赘述。
步骤305、第一管理节点对第一特征参数和第二特征参数进行比较分析,从第一管理节点和第二管理节点中确定主节点。
在本申请其他实施例中,步骤305可以由步骤d11~d14来实现:
步骤d11、第一管理节点从第一特征参数和第二特征参数中,确定值最大的第一参考参数。
步骤d12、第一管理节点从第一管理节点和第二管理节点中,确定第一参考参数对应的目标管理节点。
在本申请其他实施例中,第一管理节点执行步骤d12后,可以选择执行步骤d13或步骤d14其中,若目标管理节点包括一个管理节点,选择执行步骤d13,若目标管理节点包括至少两个管理节点,选择执行步骤d14:
步骤d13、若目标管理节点包括一个管理节点,第一管理节点将目标管理节点作为主节点。
步骤d14、若目标管理节点包括至少两个管理节点,第一管理节点从目标管理节点中确定一个管理节点为主节点。
在本申请实施例中,目标管理节点包括至少两个管理节点时,可以目标管理节点中继续执行步骤301~304和步骤d11~d13的过程,直至选出一个管理节点为主节点,或者在重复执行步骤301~304和步骤d11~d13一定次数后,仍存在至少两个管理节点,则可以执行步骤d141~d148。或者目标管理节点包括至少两个管理节点时,直接执行步骤d141~d148来确定一个管理节点为主节点。在其他一些应用场景中,还可以通过求模算法、随机选择算法、或者从管理节点中选取序号最小或最大的管理节点为主节点来实现。
在本申请其他实施例中,步骤d14可以由步骤d141~d148来实现:
步骤d141、若目标管理节点包括至少两个管理节点,第一管理节点对目标管理节点中的每一管理节点按照序号从小到大的顺序进行排序,得到目标管理节点的参考排序顺序。
步骤d142、第一管理节点基于参考排序顺序,从0开始以1为步进值重新为目标管理节点中的每一管理节点编号,得到目标管理节点中的每一管理节点的参考序号。
步骤d143、第一管理节点获取目标管理节点包括的每一管理节点的互联网协议IP地址。
步骤d144、第一管理节点确定目标管理节点包括的每一管理节点的IP地址中,采用分隔符分隔得到的L1个第一目标数据。
其中,L1为大于或等于1的整数。
其中,b1i为L1个第一目标数据中的第i个第一目标数据,mod为取余算法,m1为确定目标管理节点包括的管理节点的数量。
步骤d146、第一管理节点获取当前时间戳。
其中,T为当前时间戳。
步骤d148、第一管理节点从目标管理节点中,确定参考序号为目标序号的管理节点为主节点。
在本申请其他实施例中,第一管理节点执行步骤305之后,可以选择执行步骤306~307和步骤309,或者可以选择执行步骤308~309。若第一管理节点为主节点,选择执行步骤306~307和步骤309,若第一管理节点为从节点,选择执行步骤308~309:
步骤306、若第一管理节点为主节点,第一管理节点接收至少一个应用节点发送的运行信息,得到目标运行信息。
其中,分布式管理系统包括至少一个应用节点,应用节点用于实现接口处理逻辑。
步骤307、第一管理节点将目标运行信息发送至第二管理节点,并为客户端节点提供接口服务。
步骤308、若第一管理节点为从节点,第一管理节点接收主节点发送的目标运行信息,存储目标运行信息,并为客户端节点提供接口服务。
其中,目标运行信息是至少一个应用节点发送至主节点的。
步骤309、若接收到客户端节点发送的接口调用请求,第一管理节点基于接口调用请求和目标运行信息,从至少一个应用节点中确定一个应用节点为目标节点。
其中,目标节点用于完成与接口调用请求对应的接口处理逻辑。
在本申请其他实施例中,步骤309可以由步骤e11~e14来实现:
步骤e11、第一管理节点对至少一个应用节点进行分组,得到n组应用节点,并为n组应用节点中的每一组应用节点进行编号。
其中,n为大于或等于1的整数。
步骤e12、若接收到客户端节点发送的接口调用请求,第一管理节点从接口调用请求获取用户标识信息。
步骤e13、第一管理节点基于用户标识信息,确定对应的目标组应用节点。
其中,用户标识信息中包括目标组应用节点的目标编号。
步骤e14、第一管理节点基于目标运行信息,从目标组应用节点中确定一个应用节点为目标节点。
在本申请其他实施例中,步骤e14可以由步骤e141~e145来实现:
步骤e141、第一管理节点确定目标组应用节点中每一应用节点的IP地址。
步骤e142、第一管理节点确定每一应用节点的IP地址中,采用分隔符分隔得到的L2个第二目标数据。
其中,L2为大于或等于1的整数。
在本申请实施例中,IP地址中的分隔符通常为“.”。
其中,b2i为L2个目标数据中的第i个目标数据,mod为取余算法,m2为目标组应用节点中包括的应用节点的数量。
步骤e144、第一管理节点基于目标运行信息包括的目标组应用节点中每一应用节点对应的CPU的第三空闲参数、目标组应用节点中每一应用节点对应的内存的第四空闲参数、目标组应用节点中每一应用节点对应的第二带宽参数、目标组应用节点中每一应用节点对应的心跳时长、目标组应用节点中每一应用节点对应的历史接口处理时长,确定目标组应用节点中每一应用节点对应的第三特征参数,从而得到目标组应用节点中m2个应用节点的第三特征参数。
在本申请其他实施例中,步骤e144可以由步骤e1441或步骤e1442~e1443 来实现:
其中,C为目标组应用节点中每一应用节点对应的CPU的第三空闲参数, M为目标组应用节点中每一应用节点对应的内存的第四空闲参数,K为目标组应用节点中每一应用节点对应的第二带宽参数,H为目标组应用节点中每一应用节点对应的心跳时长,T为目标组应用节点中每一应用节点对应的历史接口处理时长。
步骤e1442、第一管理节点基于接口调用请求,确定预设的CPU权重系数、内存权重系数、带宽权重系数、心跳权重系数和接口处理权重系数。
其中,β1为预设的CPU权重系数,β2为预设的内存权重系数,β3为预设的带宽权重系数,β4为预设的心跳权重系数,β5为预设的接口处理权重系数。
步骤e145、第一管理节点从目标应用节点中,确定值最大的第三特征参数对应的应用节点为目标节点。
在本申请其他实施例中,步骤e145可以由步骤e1451~e1454来实现:
步骤e1451、第一管理节点从m个第三特征参数中,确定值最大的第二参考参数。
步骤e1452、第一管理节点从目标应用节点中确定第二参考参数对应的应用节点,得到参考节点。
步骤e1453、若参考节点包括一个应用节点,第一管理节点将参考节点作为目标节点。
步骤e1454、若参考节点包括至少两个应用节点,将参考节点中节点编号最小或最大的应用节点作为目标节点。
在本申请其他实施例中,参照图4所示,在第一管理节点为主节点时,第一管理节点执行步骤309之后,还用于执行步骤:
步骤310、第一管理节点在第一管理节点与第二管理节点之间进行心跳检测。
步骤311、若检测到第二管理节点中的至少一半的管理节点与第一管理节点之间的通讯失联,第一管理节点确定第二管理节点中仍与第一管理节点通讯连接的第三管理节点。
步骤312、第一管理节点基于第一管理节点和第三管理节点,确定一个管理节点为主节点。
在本申请实施例中,第一管理节点基于第一管理节点和第三管理节点,确定一个管理节点为主节点的实现过程,具体可以参照第一管理节点基于第一管理节点和第二管理节点,确定一个管理节点为主节点的实现过程,此处不再详细赘述。
需说明的是,在第一管理节点执行步骤301~305的同时,每一第二管理节点也执行与步骤301~305相同的步骤,来确定主节点,即第一管理节点和每一第二管理节点均进行确定主节点的计算过程,由于采用的算法和参数是一样的,因此,第一管理节点和每一第二管理节点确定的主节点是同一个。但在一些应用场景中,第一管理节点也可以是分布式管理系统中的任意一个管理节点,或者是采用一定算法确定的一个特定的管理节点,然后执行步骤301~305确定主节点后,通知第一管理节点和每一第二管理节点对应的主节点是第一管理节点和每一第二管理节点中的哪一个管理节点,然后作为主节点的管理节点将其他管理节点进行管理控制,实现将其他管理节点设置为主节点的从节点。
在一些应用场景中,第一管理节点也可以直接采用步骤e141~e145对应的方法来从多个管理节点中确定一个管理节点为主节点,此处不再详细赘述。
基于前述实施例,本申请实施例提供一种分布式管理系统,分布式管理系统的结构可以如图5所示,包括管理节点组51、应用节点集合52以及管理节点51的对外服务接口53,其中,管理节点组51包括:管理节点1、管理节点 2、管理节点3和管理节点4,应用节点集合52包括已分组好的应用节点组001、应用节点组002、应用节点组003和应用节点组004,应用节点组001中包括应用节点1、应用节点2、应用节点3和应用节点4,应用节点组002中包括应用节点5、应用节点6、应用节点7和应用节点8,应用节点组003中包括应用节点9、应用节点10、应用节点11和应用节点12,应用节点组004中包括应用节点13、应用节点14、应用节点15和应用节点16。001、002、003和004为应用节点组的编号,每一应用节点组中的所有应用节点互相备份,以便某一组中的某一应用节点不能提供服务时,可以通过其他组中的某一应用节点提供对应的服务。
基于图5所示的分布式管理系统,实现本申请的方法包括以下步骤:
步骤一、从管理节点组51中确定一个管理节点作为主节点(Master节点)。具体实现的过程如下所示:
(1)确定每一管理节点的资源抢占速度的参数
管理节点1、管理节点2、管理节点3和管理节点4中的每一管理节点向其它管理节点发起投票通讯,以抢占每一管理节点的数组队列中的存储顺序。其中,数组队列是管理节点1、管理节点2、管理节点3和管理节点4中用于存放其他管理节点的投票权重的队列在数组队列中的顺序越靠前,投票权重越大,一种确定投票权重的方式可以是设置投票权重与数组下标相反。
在每一管理节点的数组队列中,下标从1开始,且下标为1的位置对应的是该管理节点。每个管理节点向其他管理节点发起投票通讯,抢占其他管理节点的数组队列中除第一个位置的其它位置,按照每个管理节点接收到其他管理节点的投票通讯的先后顺序,依次记录在对应的数组队列中,这样,每个管理节点的数据队列填满之后可以如图6所示。这样,在管理节点1的数组队列中,按照数组队列的数组下标,依次可以确定管理节点1的目标权重系数为4、管理节点2的目标权重系数为3、管理节点3的目标权重系数为3、管理节点4的目标权重系数为1。同理,针对管理节点2的数组队列,依次可以确定管理节点2的目标权重系数为4、管理节点4的目标权重系数为3、管理节点1的目标权重系数为3、管理节点3的目标权重系数为1;针对管理节点3的数组队列,依次可以确定管理节点3的目标权重系数为4、管理节点2的目标权重系数为3、管理节点4的目标权重系数为3、管理节点1的目标权重系数为1;针对管理节点4的数组队列,依次可以确定管理节点4的目标权重系数为4、管理节点3的目标权重系数为3、管理节点1的目标权重系数为3、管理节点2的目标权重系数为1。需说明的是,每一管理节点可以将各自的数组队列发送至其他管理节点,例如管理节点2、管理节点3和管理节点4将自己的数组队列均发送至管理节点1,从而使管理节点1可以得到管理节点1在管理节点2、管理节点3 和管理节点4中的第一目标权重系数,其中,管理节点1自身对应的第二目标权重系数为4;或者,管理节点2、管理节点3和管理节点4将自己的数组队列中管理节点1的权重系数对应依次2、1和2直接发送给管理节点1,从而使管理节点1接收到第一目标权重系数。
这样,可以确定管理节点1的第一参数为:4+2+1+2=9,管理节点2的第一参数为:3+4+3+1=11,管理节点3的第一参数为:2+4+3+1=10,管理节点4 的第一参数为:1+3+2+4=10。
(2)确定每一管理节点对应的硬件性能参数
确定运行每一管理节点的设备例如是服务器等的CPU的空闲参数、内存的空闲参数和宽带参数,其中,如图7所示,依次包括管理节点1、管理节点2、管理节点3和管理节点4对应的CPU的空闲参数、内存的空闲参数和宽带参数;然后获取预设的针对每一管理节点的CPU的权重系数、内存的权重系数和带宽参数的权重系数;最后,基于每一管理节点的CPU的空闲参数、内存的空闲参数和宽带参数以及CPU的权重系数、内存的权重系数和带宽参数的权重系数,计算每一管理节点的硬件性能参数。这样,假设预先设置的CPU的权重系数为 5,内存的权重系数为2,带宽的权重系数为1,则在图7中,CPU列中,以管理节点的CPU参数3.2/4核为例,可以确定CPU的空闲参数为3.2核,同理,管理节点2的CPU的空闲参数为4.3核,管理节点3的CPU空闲参数为2.5核,管理节点4的CPU的空闲参数为2.9核,内存的空闲参数同理。这样,管理节点1的硬件性能参数为5*3.2+2*6.2+1*log100=30.4,管理节点2的硬件性能参数为5*4.3+2*3.7+1*log1000=31.9,管理节点3的硬件性能参数为5*2.5 +2*5.2+1*log100=27.4,管理节点4的硬件性能参数为5*2.9+2*4.6+ 1*log100=25.7。其中,带宽参数的单位为兆。
(3)确定每一管理节点的运营成本参数
运营成本可能就是不同机型的服务器成本不同,在此处以运行管理节点的设备例如服务器的购买成本为例进行分析,假设管理节点1对应的运营成本参数为1千元,管理节点2对应的运营成本参数为2千元,管理节点3对应的运营成本参数为1千元,管理节点4对应的运营成本参数为1.5千元。
(4)基于确定的每一管理节点的各维度的参数,确定每一管理节点的特征参数
这样,可以确定管理节点1的特征参数为管理节点2的特征参数为管理节点3的特征参数为管理节点4的特征参数为这样,由于管理节点3的特征参数9.85为四个管理节点中的最大值,因此,可以确定管理节点3为主节点,对应的管理节点 1、管理节点2和管理节点4为从节点。
需说明的是,对多个管理节点的特征参数进行分析时,有可能存在最大特征参数对应多个管理节点,即多个管理节点对应的特征参数为同一最大特征参数的情况。如果存在至少两个管理节点对应的最大特征参数相等,那么就继续从最大特征参数相等的至少两个管理节点中继续选举,重复(1)、(2)、(3)和 (4)对应的操作,若是经过一定次数例如3次重复(1)、(2)、(3)和(4)对应的操作之后,还存在最大特征参数相等的多个管理节点时,可以通过其他方法来从这多个管理节点中挑选出唯一一个Master节点。其中,一定次数也可以为0,即执行(1)、(2)、(3)和(4)对应的操作后,存在最大特征参数对应至少两个管理节点时,直接通过其他方法来从这至少两个管理节点中挑选出唯一一个Master节点。其他方法例如可以是求模算法、随机选择算法、最小最大选择算法等等。在求模算法中,可以是通过计算预设的一个数值与至少两个管理节点的数量进行求模计算实现的。随机选择算法可以是常用的随机算法,也可以是如下介绍的一种算法:
步骤1、确定最大特征参数相等的至少两个管理节点的IP地址和至少两个管理节点的节点数量m1。以至少两个管理节点中的每一管理节点的IP地址均为网际协议版本4(Internet Protocol version 4,IPv4)类型的,因此,每一管理节点的IP地址可以记为a.b.c.d,这样,可以通过公式计算每一管理节点的一个IP地址相关值,然后将m1个管理节点的IP地址相关值进行累加,得到累加值P1。其中,公式中的“!”表示阶乘,即“a!”表示a的阶乘。
步骤2、制作一个横向长度为P1,纵向长度为m1的关联数组的结构,将每个位置填上对应位置的坐标乘积值。具体如图8所示,其中,假设P1=8, m1=8。
步骤3、对m1个管理节点按照管理节点的原序号按照从小到大或从大到小的排序方式进行排序,并按照得到的排序顺序从0开始为m1个管理节点进行重新编号。
步骤4、获取当前时间戳T,计算当前时间戳T与P1的取余值,当前时间戳T与m1的取余值,然后从图8中确定坐标(T Mod P1,T Mod m1)对应的值,记为Q。
步骤二、将应用节点集合52包括的所有应用节点组中的所有应用节点均注册到主节点管理节点3,并主节点管理节点3会将接收到的所有应用节点的注册信息即每一应用节点的运行信息同步至管理节点1、管理节点2和管理节点4 中。。这样所有的管理节点都持有了所有的应用节点的运行信息,为后续接口流量分发算法做准备。对应的,所有应用节点将自身的运行信息发送至管理节点 3,管理节点3将接收到的所有应用节点的运行信息同步至其他管理节点的数据流量可以参照图9中的箭头指向示意。
每个应用节点每隔一段时间就将自身对应的服务器的CPU、内存、磁盘等使用信息上报到主节点管理节点3,以为用户后续智能的进行流量切分路由。
步骤三,所有管理节点即管理节点组1对外提供接口服务。
步骤四、持续进行心跳检测,包括管理节点和应用节点之间的心跳检测,和管理节点之间的心跳检测,当检测到半数以上的从节点与主节点之间的心跳小时即通讯失联时,重新从步骤一开始选择主节点,同时维护应用节点在管理节点中的注册信息。
这样,解决了现有Raft算法要求的半数以上的节点存活的限制,实现了管理节点中只剩下一个管理节点也能很好的继续提供服务,只需要每组的应用节点中有存活节点即可。
步骤五、采用流量分发路由计算算法对接收到的流量进行分发
由于步骤三中所有管理节点均提供了对外接口服务,因此,对于对外的互联网服务接口而言,无论是对私还是对公的服务,一定是基于帐号的。在这样的场景下,流量分发路由计算算法可以如下所示:
步骤1、对私或对公注册帐号的时候,为用户生成一个全局唯一标识的帐号身份标识信息(IDentity document,ID),帐号ID包含应用节点组的组编号。例如第一个用户的16位帐号ID是0010000000000001,其中,前三位001是应用节点组的组编号,后13位是当前应用节点下的自增序列,后续的每个接口调用都需要帐号ID参数。
步骤2、当某一个管理节点接收到接口调用请求时,从接口调用请求中得到账号IP,通过帐号ID前三位的组编号就能定位到应用节点组,应用节点组下有多个应用节点同时提供服务,这些应用节点的作用都是相当的,只需要其中一个应用节点处理这一次的接口调用请求即可。
在这个基础上,我们需要计算使用哪一个应用节点来执行操作。前述实现过程中,应用节点的IP地址、CPU、内存、带宽、心跳时长、历史接口处理时长等运行信息上报到主节点,并通过主节点同步至从节点了,因此,可以这些运行信息来选择较为空闲的应用节点来完成实际的接口处理逻辑。
假设某一管理节点确定的是编号为001的应用节点组中的四个应用节点的部分运行信息可以如图10所示,包括CPU的空闲参数、内存的空闲参数、带宽、心跳时长、历史接口处理时长。其中,心跳时长和历史接口处理时长的单位均为毫秒(ms)。
步骤21、根据每一应用节点的IP地址计算该应用节点的IP地址相关值P2。其中,以每一应用节点的IP地址格式为IPv4为例进行说明,对应的每一应用节点的IP地址可以记为a1.b1.c1.d1,因此可以通过公式计算得到每一应用节点的IP地址相关值P2,其中,m2为001组应用节点组中包括的应用节点的节点数量。
将得到的每一应用节点的第三特征参数进行比较,假设最终计算得出001 组应用节点中的应用节点2的第三特征参数值最大,则可以采用001组应用节点中的应用节点2处理这一次的接口调用请求。如果存在最大的第三特征参数对应多个应用节点时,可以优先选择序号最小的AppNode。
在一些其他应用场景中,步骤22中,确定每一应用节点的CPU空闲参数 C、内存空闲参数M、宽带参数K、心跳时长H、历史接口处理时长T、001应用节点组应用节点的节点数量m2后,还可以针对不同接口的特性,对CPU的空闲参数、内存的空闲参数、心跳时长和历史接口处理时长设置不同的权重。例如,计算型的服务接口时,对应的CPU的权重系数β1建议分配高一些,β1可设置为大于1,内存权重系数β2可以默认为1,预设的带宽权重系数β3可以默认为1,预设的心跳权重系数β4为可以默认为1,接口处理权重系数即历史接口处理时长的权重系数β5为可以默认为1。同理,针对数据量大的服务接口时,对应的内存的权重系数β2建议权重分配高一些,β2可设置为大于1,CPU权重系数β1可以默认为1,预设的带宽权重系数β3可以默认为1,预设的心跳权重系数β4为可以默认为1,接口处理权重系数即历史接口处理时长的权重系数β5 为可以默认为1。这样,可以通过公式来计算得到每一应用节点的第三特征参数。
需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。
本申请实施例中,第一管理节点确定分布式管理系统中除第一管理节点外的第二管理节点后,基于第一管理节点和第二管理节点,确定一个管理节点为主节点,若第一管理节点为主节点,接收至少一个应用节点发送的运行信息,得到目标运行信息后,将目标运行信息发送至第二管理节点后,并为客户端节点提供接口服务,若接收到客户端节点发送的接口调用请求,基于接口调用请求和目标运行信息,从至少一个应用节点中确定一个应用节点为目标节点。这样,从至少两个管理节点中确定一个管理节点为主节点来采集至少一个应用节点的目标运行信息,并主节点将采集到的目标运行信息同步至其他管理节点中,以便包括主节点在内的管理节点在接收到接口调用请求时,基于接口条用请求和目标运行信息,从至少一个应用节点中确定一个应用节点为用于完成接口调用请求对应的接口处理逻辑的目标节点,解决了目前的分布式技术方案容错性较差的问题,提出了一种新的分布式接口管理方法,提高了分布式技术方案的容错性,实现了有效提供服务,保证了技术的可靠性。并根据接口调用请求,从至少一个应用节点中确定一个应用节点作为目标节点来完成实际的接口处理逻辑,能够平均分配流量,有效均衡负载。
基于前述实施例,本申请的实施例提供一种分布式管理设备,参照图11所示,该分布式管理设备6可以包括:处理器61、存储器62和通信总线63,其中:
存储器62,用于存储可执行指令;
通信总线63,用于实现处理器61和存储器62之间的通信连接;
处理器61,用于执行存储器62中存储的分布式节点管理程序,以实现以下步骤:
确定分布式管理系统中除第一管理节点外的第二管理节点;其中,第一管理节点和第二管理节点均用于实现的管理事项至少包括分布式多活管理和为应用节点进行路由计算;
从第一管理节点和第二管理节点中,确定一个管理节点为主节点;
若第一管理节点为主节点,接收至少一个应用节点发送的运行信息,得到目标运行信息;其中,分布式管理系统包括至少一个应用节点,应用节点用于实现接口处理逻辑;
将目标运行信息发送至第二管理节点,并为客户端节点提供接口服务;
若接收到客户端节点发送的接口调用请求,基于接口调用请求和目标运行信息,从至少一个应用节点中确定一个应用节点为目标节点;其中,目标节点用于完成与接口调用请求对应的接口处理逻辑。
在本申请其他实施例中,处理器还用于执行以下步骤:
若第一管理节点为从节点,接收主节点发送的目标运行信息,存储目标运行信息,并为客户端节点提供接口服务;其中,目标运行信息是至少一个应用节点发送至主节点的;
若接收到客户端节点发送的接口调用请求,基于接口调用请求和目标运行信息,从至少一个应用节点中确定一个应用节点为目标节点;其中,目标节点用于完成与接口调用请求对应的接口处理逻辑。
在本申请其他实施例中,处理器执行步骤从第一管理节点和第二管理节点中,确定一个管理节点为主节点时,可以通过以下步骤来实现:
获取第一管理节点的第一参数、第二参数和运营成本参数;其中,第一参数是用于表示第一管理节点资源抢占速度的参数,第二参数是用于表示第一管理节点对应的硬件性能参数;
基于第一管理节点的目标参数,确定第一管理节点的第一特征参数;其中,第一管理节点的目标参数至少包括以下参数之一:第一参数、第二参数和运营成本参数;
接收第二管理节点的第二特征参数;其中,第二特征参数是基于第二管理节点的目标参数得到的;
对第一特征参数和第二特征参数进行比较分析,从第一管理节点和第二管理节点中确定主节点。
在本申请其他实施例中,处理器执行步骤获取第一管理节点的第一参数时,可以通过以下步骤来实现:
发送第一资源抢占数据至第二管理节点;其中,第一资源抢占数据与第一管理节点对应;
接收第二管理节点发送的第一目标权重系数;其中,第一目标权重系数是根据第二管理节点接收到第一资源抢占数据的第一接收顺序确定得到的;
确定第一资源抢占数据在第一管理节点中对应的第二目标权重系数;
确定第一目标权重系数与第二目标权重系数的累加值,得到第一参数。
在本申请其他实施例中,处理器还用于执行以下步骤:
记录接收到第二管理节点发送第二资源抢占数据的第二接收顺序;
基于第二接收顺序,确定第二管理节点对应的第三目标权重系数;
发送第三目标权重系数至第二管理节点;其中,第三目标权重系数用于使第二管理节点确定第二管理节点的第一参数。
在本申请其他实施例中,处理器执行步骤获取第一管理节点的第二参数时,可以通过以下步骤来实现:
获取第一管理节点对应的中央处理器CPU的第一空闲参数、内存的第二空闲参数和第一带宽参数;
通过公式Y1=α1*X1+α2*X2+α3*X3,计算得到第一管理节点的第二参数;其中,Y1为第一管理节点的第二参数,X1为第一空闲参数,X2为第二空闲参数,X3为第一带宽参数,α1、α2和α3为预设权重系数。
在本申请其他实施例中,目标参数包括第一参数、第二参数和运营成本参数,处理器执行步骤基于目标参数,确定第一管理节点的第一特征参数时,可以通过以下步骤来实现:
在本申请其他实施例中,处理器执行步骤对第一特征参数和第二特征参数进行比较分析,确定主节点时,可以通过以下步骤来实现:
从第一特征参数和第二特征参数中,确定值最大的第一参考参数;
从第一管理节点和第二管理节点中,确定第一参考参数对应的目标管理节点;
若目标管理节点包括一个管理节点,将目标管理节点作为主节点为。
在本申请其他实施例中,处理器还用于执行以下步骤:
若目标管理节点包括至少两个管理节点,从目标管理节点中确定一个管理节点为主节点。
在本申请其他实施例中,处理器执行步骤若目标管理节点包括至少两个管理节点,从目标管理节点中确定一个管理节点为主节点时,可以通过以下步骤来实现:
若目标管理节点包括至少两个管理节点,对目标管理节点中的每一管理节点按照序号从小到大的顺序进行排序,得到目标管理节点的参考排序顺序;
基于参考排序顺序,从0开始以1为步进值重新为目标管理节点中的每一管理节点编号,得到目标管理节点中的每一管理节点的参考序号;
获取目标管理节点包括的每一管理节点的互联网协议IP地址;
确定目标管理节点包括的每一管理节点的IP地址中,采用分隔符分隔得到的L1个第一目标数据;其中,L1为大于或等于1的整数;
获取当前时间戳;
从目标管理节点中,确定参考序号为目标序号的管理节点为主节点。
在本申请其他实施例中,处理器执行步骤若接收到客户端节点发送的接口调用请求,基于接口调用请求和目标运行信息,从至少一个应用节点中确定一个应用节点为目标节点时,可以通过以下步骤来实现:
对至少一个应用节点进行分组,得到n组应用节点,并为n组应用节点中的每一组应用节点进行编号;其中,n为大于或等于1的整数;
若接收到客户端节点发送的接口调用请求,从接口调用请求获取用户标识信息;
基于用户标识信息,确定对应的目标组应用节点;其中,用户标识信息中包括目标组应用节点的目标编号;
基于目标运行信息,从目标组应用节点中确定一个应用节点为目标节点。
在本申请其他实施例中,处理器执行步骤基于目标运行信息,从目标组应用节点中确定一个应用节点为目标节点时,可以通过以下步骤来实现:
确定目标组应用节点中每一应用节点的IP地址;
确定每一应用节点的IP地址中,采用分隔符分隔得到的L2个第二目标数据;其中,L2为大于或等于1的整数;
基于目标运行信息包括的目标组应用节点中每一应用节点对应的CPU的第三空闲参数、目标组应用节点中每一应用节点对应的内存的第四空闲参数、目标组应用节点中每一应用节点对应的第二带宽参数、目标组应用节点中每一应用节点对应的心跳时长、目标组应用节点中每一应用节点对应的历史接口处理时长,确定目标组应用节点中每一应用节点对应的第三特征参数,从而得到目标组应用节点中m2个应用节点的第三特征参数;
从目标应用节点中,确定值最大的第三特征参数对应的应用节点为目标节点。
在本申请其他实施例中,处理器执行步骤基于目标运行信息包括的目标组应用节点中每一应用节点对应的CPU的第三空闲参数、目标组应用节点中每一应用节点对应的内存的第四空闲参数、目标组应用节点中每一应用节点对应的第二带宽参数、目标组应用节点中每一应用节点对应的心跳时长、目标组应用节点中每一应用节点对应的历史接口处理时长,确定目标组应用节点中每一应用节点对应的第三特征参数,从而得到目标组应用节点中m2个应用节点的第三特征参数时,可以通过以下步骤来实现:
通过公式确定目标组应用节点中m个应用节点的第三特征参数R3;其中,C为目标组应用节点中每一应用节点对应的 CPU的第三空闲参数,M为目标组应用节点中每一应用节点对应的内存的第四空闲参数,K为目标组应用节点中每一应用节点对应的第二带宽参数,H为目标组应用节点中每一应用节点对应的心跳时长,T为目标组应用节点中每一应用节点对应的历史接口处理时长;
或者,基于接口调用请求,确定预设的CPU权重系数、内存权重系数、带宽权重系数、心跳权重系数和接口处理权重系数;
通过公式确定目标组应用节点中m个应用节点的第三特征参数R3;其中,β1为预设的CPU权重系数,β2为预设的内存权重系数,β3为预设的带宽权重系数,β4为预设的心跳权重系数,β5为预设的接口处理权重系数。
在本申请其他实施例中,处理器执行步骤从目标应用节点中,确定值最大的第三特征参数对应的应用节点为目标节点时,可以通过以下步骤来实现:
从m个第三特征参数中,确定值最大的第二参考参数;
从目标应用节点中确定第二参考参数对应的应用节点,得到参考节点;
若参考节点包括一个应用节点,将参考节点作为目标节点;
若参考节点包括至少两个应用节点,将参考节点中节点编号最小或最大的应用节点作为目标节点。
在本申请其他实施例中,处理器执行步骤若接收到客户端节点发送的接口调用请求,基于接口调用请求和目标运行信息,从至少一个应用节点中确定一个应用节点为目标节点之后,还用于执行以下步骤:
在第一管理节点与第二管理节点之间进行心跳检测;
若检测到第二管理节点中的至少一半的管理节点与第一管理节点之间的通讯失联,确定第二管理节点中仍与第一管理节点通讯连接的第三管理节点;
基于第一管理节点和第三管理节点,确定一个管理节点为主节点。
需说明的是,本实施例中分布式管理节点中的处理器中的信息交互的具体实现过程,可以参照图1~4对应的实施例提供的分布式节点管理方法中的实现过程,此处不再赘述。
本申请实施例中,第一管理节点确定分布式管理系统中除第一管理节点外的第二管理节点后,基于第一管理节点和第二管理节点,确定一个管理节点为主节点,若第一管理节点为主节点,接收至少一个应用节点发送的运行信息,得到目标运行信息,将目标运行信息发送至第二管理节点后,并为客户端节点提供接口服务,若接收到客户端节点发送的接口调用请求,基于接口调用请求和目标运行信息,从至少一个应用节点中确定一个应用节点为目标节点。这样,从至少两个管理节点中确定一个管理节点为主节点来采集至少一个应用节点的目标运行信息,并主节点将采集到的目标运行信息同步至其他管理节点中,以便包括主节点在内的管理节点在接收到接口调用请求时,基于接口条用请求和目标运行信息,从至少一个应用节点中确定一个应用节点为用于完成接口调用请求对应的接口处理逻辑的目标节点,解决了目前的分布式技术方案容错性较差的问题,提出了一种新的分布式接口管理方法,提高了分布式技术方案的容错性,实现了有效提供服务,保证了技术的可靠性。并根据接口调用请求,从至少一个应用节点中确定一个应用节点作为目标节点来完成实际的接口处理逻辑,能够平均分配流量,有效均衡负载。
基于前述实施例,本申请的实施例提供一种分布式管理系统,参照图12 所示,分布式管理系统7包括第一管理节点71、第二管理节点72和至少一个应用节点73;其中,第一管理节点、第二管理节点和至少一个应用节点用于实现如图1~4对应的实施例提供的分布式节点管理方法的实现过程,具体不再赘述。
基于前述实施例,本申请的实施例提供一种计算机可读存储介质,简称为存储介质,该计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现如图1~4对应的实施例提供的分布式节点管理方法实现过程,此处不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。
Claims (17)
1.一种分布式节点管理方法,其特征在于,所述方法应用于第一管理节点,所述方法包括:
确定分布式管理系统中除第一管理节点外的第二管理节点;其中,所述第一管理节点和所述第二管理节点均用于实现的管理事项至少包括分布式多活管理和为应用节点进行路由计算;
从所述第一管理节点和所述第二管理节点中,确定一个管理节点为主节点;
若所述第一管理节点为所述主节点,接收至少一个应用节点发送的运行信息,得到目标运行信息;其中,所述分布式管理系统包括所述至少一个应用节点,所述应用节点用于实现接口处理逻辑;
将所述目标运行信息发送至所述第二管理节点,并为客户端节点提供接口服务。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一管理节点为从节点,接收所述主节点发送的目标运行信息,存储所述目标运行信息,并为所述客户端节点提供接口服务;其中,所述目标运行信息是所述至少一个应用节点发送至所述主节点的。
3.根据权利要求1或2所述的方法,其特征在于,所述从所述第一管理节点和所述第二管理节点中,确定一个管理节点为主节点,包括:
获取所述第一管理节点的第一参数、第二参数和运营成本参数;其中,所述第一参数是用于表示所述第一管理节点资源抢占速度的参数,所述第二参数是用于表示所述第一管理节点对应的硬件性能参数;
基于第一管理节点的目标参数,确定所述第一管理节点的第一特征参数;其中,所述第一管理节点的目标参数至少包括以下参数之一:所述第一参数、所述第二参数和所述运营成本参数;
接收所述第二管理节点的第二特征参数;其中,所述第二特征参数是基于所述第二管理节点的目标参数得到的;
对所述第一特征参数和所述第二特征参数进行比较分析,从所述第一管理节点和所述第二管理节点中确定所述主节点。
4.根据权利要求要求3所述的方法,其特征在于,所述获取所述第一管理节点的第一参数,包括:
发送第一资源抢占数据至所述第二管理节点;其中,所述第一资源抢占数据与所述第一管理节点对应;
接收所述第二管理节点发送的第一目标权重系数;其中,所述第一目标权重系数是根据所述第二管理节点接收到所述第一资源抢占数据的第一接收顺序确定得到的;
确定所述第一资源抢占数据在所述第一管理节点中对应的第二目标权重系数;
确定所述第一目标权重系数与所述第二目标权重系数的累加值,得到所述第一参数。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
记录接收到所述第二管理节点发送第二资源抢占数据的第二接收顺序;
基于所述第二接收顺序,确定所述第二管理节点对应的第三目标权重系数;
发送所述第三目标权重系数至所述第二管理节点;其中,所述第三目标权重系数用于使所述第二管理节点确定所述第二管理节点的第一参数。
6.根据权利要求3所述的方法,其特征在于,所述获取所述第一管理节点的第二参数,包括:
获取所述第一管理节点对应的中央处理器CPU的第一空闲参数、内存的第二空闲参数和第一带宽参数;
通过公式Y1=α1*X1+α2*X2+α3*X3,计算得到所述第一管理节点的第二参数;其中,Y1为所述第一管理节点的第二参数,X1为所述第一空闲参数,X2为所述第二空闲参数,X3为所述第一带宽参数,α1、α2和α3为预设权重系数。
8.根据权利要求3所述的方法,其特征在于,所述对所述第一特征参数和所述第二特征参数进行比较分析,确定所述主节点,包括:
从所述第一特征参数和所述第二特征参数中,确定值最大的第一参考参数;
从所述第一管理节点和所述第二管理节点中,确定所述第一参考参数对应的目标管理节点;
若所述目标管理节点包括一个管理节点,将所述目标管理节点作为所述主节点为。
9.根据权利要求8所述的方法,其特征在于,所述若所述目标管理节点包括至少两个管理节点,从所述目标管理节点中确定一个管理节点为所述主节点,包括:
若所述目标管理节点包括至少两个管理节点,对所述目标管理节点中的每一管理节点按照序号从小到大的顺序进行排序,得到目标管理节点的参考排序顺序;
基于所述参考排序顺序,从0开始以1为步进值重新为所述目标管理节点中的每一管理节点编号,得到所述目标管理节点中的每一管理节点的参考序号;
获取所述目标管理节点包括的每一管理节点的互联网协议IP地址;
确定所述目标管理节点包括的每一管理节点的IP地址中,采用分隔符分隔得到的L1个第一目标数据;其中,L1为大于或等于1的整数;
通过公式确定得到所述目标管理节点包括的每一管理节点的第一目标数值P1;其中,b1i为L1个所述第一目标数据中的第i个第一目标数据,mod为取余算法,m1为所述确定所述目标管理节点包括的管理节点的数量;
获取当前时间戳;
从所述目标管理节点中,确定所述参考序号为所述目标序号的管理节点为所述主节点。
10.根据权利要求1或2所述的方法,其特征在于,所述为客户端节点提供接口服务之后,所述方法还包括:
若接收到客户端节点发送的接口调用请求,基于所述接口调用请求和所述目标运行信息,从所述至少一个应用节点中确定一个应用节点为目标节点;其中,所述目标节点用于完成与所述接口调用请求对应的接口处理逻辑。
11.根据权利要求10所述的方法,其特征在于,所述若接收到客户端节点发送的接口调用请求,基于所述接口调用请求和所述目标运行信息,从所述至少一个应用节点中确定一个应用节点为目标节点,包括:
对所述至少一个应用节点进行分组,得到n组应用节点,并为所述n组应用节点中的每一组应用节点进行编号;其中,n为大于或等于1的整数;
若接收到所述客户端节点发送的所述接口调用请求,从所述接口调用请求获取用户标识信息;
基于所述用户标识信息,确定对应的目标组应用节点;其中,所述用户标识信息中包括所述目标组应用节点的目标编号;
基于所述目标运行信息,从所述目标组应用节点中确定一个应用节点为所述目标节点。
12.根据权利要求11所述的方法,其特征在于,所述基于所述目标运行信息,从所述目标组应用节点中确定一个应用节点为所述目标节点,包括:
确定所述目标组应用节点中每一应用节点的IP地址;
确定所述每一应用节点的IP地址中,采用分隔符分隔得到的L2个第二目标数据;其中,L2为大于或等于1的整数;
基于所述目标运行信息包括的所述目标组应用节点中每一应用节点对应的CPU的第三空闲参数、所述目标组应用节点中每一应用节点对应的内存的第四空闲参数、所述目标组应用节点中每一应用节点对应的第二带宽参数、所述目标组应用节点中每一应用节点对应的心跳时长、所述目标组应用节点中每一应用节点对应的历史接口处理时长,确定所述目标组应用节点中每一应用节点对应的第三特征参数,从而得到所述目标组应用节点中m2个应用节点的第三特征参数;
从所述目标应用节点中,确定值最大的所述第三特征参数对应的应用节点为所述目标节点。
13.根据权利要求12所述的方法,其特征在于,所述基于所述目标运行信息包括的所述目标组应用节点中每一应用节点对应的CPU的第三空闲参数、所述目标组应用节点中每一应用节点对应的内存的第四空闲参数、所述目标组应用节点中每一应用节点对应的第二带宽参数、所述目标组应用节点中每一应用节点对应的心跳时长、所述目标组应用节点中每一应用节点对应的历史接口处理时长,确定所述目标组应用节点中每一应用节点对应的第三特征参数,从而得到所述目标组应用节点中m2个应用节点的第三特征参数,包括:
通过公式确定所述目标组应用节点中m个应用节点的第三特征参数R3;其中,C为所述目标组应用节点中每一应用节点对应的CPU的第三空闲参数,M为所述目标组应用节点中每一应用节点对应的内存的第四空闲参数,K为所述目标组应用节点中每一应用节点对应的第二带宽参数,H为所述目标组应用节点中每一应用节点对应的心跳时长,T为所述目标组应用节点中每一应用节点对应的历史接口处理时长;
或者,基于所述接口调用请求,确定预设的CPU权重系数、内存权重系数、带宽权重系数、心跳权重系数和接口处理权重系数;
14.根据权利要求12或13所述的方法,其特征在于,所述从所述目标应用节点中,确定值最大的所述第三特征参数对应的应用节点为所述目标节点,包括:
从m个所述第三特征参数中,确定值最大的第二参考参数;
从所述目标应用节点中确定所述第二参考参数对应的应用节点,得到参考节点;
若所述参考节点包括一个应用节点,将所述参考节点作为所述目标节点;
若所述参考节点包括至少两个应用节点,将所述参考节点中节点编号最小或最大的应用节点作为所述目标节点。
15.根据权利要求10所述的方法,其特征在于,所述若接收到客户端节点发送的接口调用请求,基于所述接口调用请求和所述目标运行信息,从所述至少一个应用节点中确定一个应用节点为目标节点之后,所述方法还包括:
在所述第一管理节点与所述第二管理节点之间进行心跳检测;
若检测到所述第二管理节点中的至少一半的管理节点与所述第一管理节点之间的通讯失联,确定所述第二管理节点中仍与所述第一管理节点通讯连接的第三管理节点;
基于所述第一管理节点和所述第三管理节点,确定一个管理节点为所述主节点。
16.一种分布式管理设备,其特征在于,所述设备用于运行第一管理节点,所述设备包括存储器、处理器和通信总线;其中:
所述存储器,用于存储可执行指令;
所述通信总线,用于实现所述处理器和所述存储器之间的通信连接;
所述处理器,用于执行所述存储器中存储的分布式节点管理程序,实现如权利要求1至15中任一项所述的分布式节点管理方法的步骤。
17.一种存储介质,其特征在于,所述存储介质上存储有分布式节点管理程序,所述分布式节点管理程序被处理器执行时实现如权利要求1至15中任一项所述的分布式节点管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011129749.8A CN112367189B (zh) | 2020-10-21 | 2020-10-21 | 一种分布式节点管理方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011129749.8A CN112367189B (zh) | 2020-10-21 | 2020-10-21 | 一种分布式节点管理方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112367189A true CN112367189A (zh) | 2021-02-12 |
CN112367189B CN112367189B (zh) | 2023-05-12 |
Family
ID=74511350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011129749.8A Active CN112367189B (zh) | 2020-10-21 | 2020-10-21 | 一种分布式节点管理方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112367189B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115714722A (zh) * | 2022-12-15 | 2023-02-24 | 中国西安卫星测控中心 | 一种集群网络动态配置方法、装置和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102122306A (zh) * | 2011-03-28 | 2011-07-13 | 中国人民解放军国防科学技术大学 | 一种数据处理方法及应用该方法的分布式文件系统 |
CN106470113A (zh) * | 2015-08-19 | 2017-03-01 | 中兴通讯股份有限公司 | 一种网管系统及数据管理方法 |
CN107528703A (zh) * | 2016-06-20 | 2017-12-29 | 阿里巴巴集团控股有限公司 | 一种用于管理分布式系统中节点设备的方法与设备 |
CN108810166A (zh) * | 2018-07-11 | 2018-11-13 | 深圳市小牛在线互联网信息咨询有限公司 | 路由管理方法、系统、计算机设备及计算机可读存储介质 |
CN108829709A (zh) * | 2018-05-03 | 2018-11-16 | 广州金山安全管理系统技术有限公司 | 分布式数据库管理方法、装置、存储介质和处理器 |
WO2019189963A1 (ko) * | 2018-03-28 | 2019-10-03 | 주식회사 리얼타임테크 | 분산 클러스터 관리 시스템 및 그 방법 |
-
2020
- 2020-10-21 CN CN202011129749.8A patent/CN112367189B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102122306A (zh) * | 2011-03-28 | 2011-07-13 | 中国人民解放军国防科学技术大学 | 一种数据处理方法及应用该方法的分布式文件系统 |
CN106470113A (zh) * | 2015-08-19 | 2017-03-01 | 中兴通讯股份有限公司 | 一种网管系统及数据管理方法 |
CN107528703A (zh) * | 2016-06-20 | 2017-12-29 | 阿里巴巴集团控股有限公司 | 一种用于管理分布式系统中节点设备的方法与设备 |
WO2019189963A1 (ko) * | 2018-03-28 | 2019-10-03 | 주식회사 리얼타임테크 | 분산 클러스터 관리 시스템 및 그 방법 |
CN108829709A (zh) * | 2018-05-03 | 2018-11-16 | 广州金山安全管理系统技术有限公司 | 分布式数据库管理方法、装置、存储介质和处理器 |
CN108810166A (zh) * | 2018-07-11 | 2018-11-13 | 深圳市小牛在线互联网信息咨询有限公司 | 路由管理方法、系统、计算机设备及计算机可读存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115714722A (zh) * | 2022-12-15 | 2023-02-24 | 中国西安卫星测控中心 | 一种集群网络动态配置方法、装置和系统 |
CN115714722B (zh) * | 2022-12-15 | 2023-09-08 | 中国西安卫星测控中心 | 一种集群网络动态配置方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112367189B (zh) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190319881A1 (en) | Traffic management based on past traffic arrival patterns | |
JP5729466B2 (ja) | 仮想マシン管理装置、仮想マシン管理方法、及び、プログラム | |
CN109739929A (zh) | 数据同步方法、装置及系统 | |
CN105045871B (zh) | 数据聚合查询方法及装置 | |
EP2419845A2 (en) | Policy-based storage structure distribution | |
CN109951323B (zh) | 一种日志分析方法和系统 | |
CN110365765A (zh) | 一种缓存服务器的带宽调度方法及装置 | |
CN110071965B (zh) | 一种基于云平台的数据中心管理系统 | |
CN110601994B (zh) | 云环境下微服务链感知的负载均衡方法 | |
CN110347515B (zh) | 一种适合边缘计算环境的资源优化分配方法 | |
CN111459641B (zh) | 一种跨机房的任务调度和任务处理的方法及装置 | |
CN107193643A (zh) | 一种高可靠分布式数据流实时统计方法及系统 | |
CN112367189B (zh) | 一种分布式节点管理方法、设备及存储介质 | |
CN114338695A (zh) | 基于多副本的领导者选举方法、装置、设备及存储介质 | |
CN106878356B (zh) | 一种调度方法及计算节点 | |
CN111913784B (zh) | 任务调度方法及装置、网元、存储介质 | |
Lakshmanan et al. | Placement of replicated tasks for distributed stream processing systems | |
CN107402812A (zh) | 集群资源调度方法、装置、设备及存储介质 | |
CN112817732A (zh) | 一种适应云边协同多数据中心场景下的流数据处理方法及系统 | |
CN112541038A (zh) | 时序数据管理方法、系统、计算设备及存储介质 | |
CN112698944A (zh) | 基于人脑模拟的分布式云计算系统及方法 | |
CN110275763A (zh) | 一种报警数据处理系统和方法 | |
CN117149445B (zh) | 一种跨集群负载均衡方法及装置、设备及存储介质 | |
Nathaniel et al. | Istio API gateway impact to reduce microservice latency and resource usage on kubernetes | |
CN116701410B (zh) | 数联网数据语用内存状态数据的存储方法及系统 |
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 |