地址分配方法、地址分配系统及计算机可读存储介质

文档序号:172619 发布日期:2021-10-29 浏览:10次 >En<

阅读说明:本技术 地址分配方法、地址分配系统及计算机可读存储介质 (Address allocation method, address allocation system, and computer-readable storage medium ) 是由 杨斌 于 2021-07-16 设计创作,主要内容包括:本发明涉及网络通信技术领域,具体提供了一种地址分配方法、地址分配系统及计算机可读存储介质。本发明提供的地址分配方法由地址分配系统中的多个服务设备同时运行,具体包括:步骤S1,当前服务设备接收客户端发送的地址分配请求;步骤S2,当前服务设备计算客户端的客户端信息对应的目标服务设备;步骤S3,若目标服务设备为当前服务设备,则当前服务设备为客户端分配IP地址,若目标服务设备不是当前服务设备,则当前服务设备将客户端信息转发到目标服务设备;步骤S4,将分配给客户端的IP地址,返回给客户端。(The invention relates to the technical field of network communication, and particularly provides an address allocation method, an address allocation system and a computer-readable storage medium. The address allocation method provided by the invention is operated by a plurality of service devices in an address allocation system at the same time, and specifically comprises the following steps: step S1, the current service equipment receives the address allocation request sent by the client; step S2, calculating a target service device corresponding to the client information of the client by the current service device; step S3, if the target service equipment is the current service equipment, the current service equipment distributes IP address for the client, if the target service equipment is not the current service equipment, the current service equipment forwards the client information to the target service equipment; in step S4, the IP address assigned to the client is returned to the client.)

地址分配方法、地址分配系统及计算机可读存储介质

技术领域

本发明涉及网络通信技术领域,具体涉及一种用于动态主机配置协议的地址分配方法、地址分配系统及计算机可读存储介质。

背景技术

动态主机配置协议(Dynamic Host Configuration Protocol,以下简称DHCP)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机能够动态地获得IP地址、网关地址、DNS服务器地址等信息。

在通过动态主机配置协议分配IP地址的过程中,服务设备为客户端提供分配IP地址的服务,但在大规模用户的场景下,单台服务设备能够提供的性能有限,需要扩充更多的服务设备提高服务性能和服务效率。

在现有技术中,动态主机配置协议故障转移(DHCPFailover)策略提出同时部署两台服务设备,两台服务设备之间共享服务信息、平衡服务负载。但由于其故障转移机制限制,只能在两台服务设备之间运行,无法扩充到更多设备之间;而且,其均衡服务要求客户端的请求信息必须发送至两台服务设备,才能实现负载均衡。

在RFC3074协议文件中,还提出了一种DHCP服务设备负载均衡的方法,即部署一个专门用来进行负载均衡的设备,该负载均衡设备将客户端的请求信息,均衡地分配到多台DHCP服务设备中,即每台服务设备为指定的部分客户端进行服务。但这种模式下,若一台服务设备发生故障,则由该服务设备负责的客户端将无法获得地址分配服务。而且,负载均衡设备的工作和维护也会带来一定的成本问题。

因此,亟待提供一种技术方案,能够实现多台DHCP服务设备之间的负载均衡,同时能够避免单台服务设备故障影响部分客户端正常获取地址的问题。

发明内容

针对以上问题,本发明提供了一种用于动态主机配置协议的地址分配方法、地址分配系统及计算机可读存储介质,能够实现多个DHCP服务设备之间的负载均衡,同时在多个服务设备之间建立连接,即使单个服务设备发生故障无法提供服务,也能将该服务设备的工作均衡地分配到其他服务设备中,进一步地保证地址分配服务的性能和效率。

本发明的技术方案中提供了一种地址分配方法,地址分配方法由地址分配系统中的多个服务设备同时运行,具体包括:

步骤S1,当前服务设备接收客户端发送的地址分配请求;

步骤S2,当前服务设备计算客户端的客户端信息对应的目标服务设备;

步骤S3,若目标服务设备为当前服务设备,则当前服务设备为客户端分配IP地址,

若目标服务设备不是当前服务设备,则当前服务设备将客户端信息转发到目标服务设备;

步骤S4,将分配给客户端的IP地址,返回给客户端。

本发明的技术方案中提供的地址分配方法,通过同时运行的多个服务设备,在面临较大规模的用户时,也能保证地址分配服务的高效应答。并且通过预设的算法,使得客户端的地址分配任务能够均衡地分配到各个服务设备中。同时,各个服务设备间并不是完全孤立的,在收到的客户端信息对应的目标服务设备不是当前服务设备时,会将收到的客户端信息转发到其对应的目标服务设备,以避免客户端的地址分配请求落空。上述的地址分配方法实现了多个服务设备之间的负载均衡,同时也使得各个服务设备间保持通信从而实现协作配合,不必依赖负载均衡设备。

优选地,在本发明的技术方案中,地址分配方法的步骤S2中使用哈希映射方法计算客户端信息对应的目标服务设备,哈希映射方法使用的关键字值为客户端信息,哈希映射方法使用的映射值为目标服务设备。通过哈希映射将客户端信息与目标服务设备对应,能够保证客户端对应目标服务设备的唯一性,也就说一个客户端每次发出地址分配请求,为其提供地址分配服务的服务设备都是同一个。

在本发明的较优技术方案中,地址分配方法还包括

步骤S5,判断客户端是否已分配有租约未过期的IP地址,若是,则当前服务设备直接向客户端返回已分配的租约未过期的IP地址;若否,则执行步骤S2。

DHCP地址分配携带有租约,也就是说,将一个IP地址分配给一个客户端后,客户端并非能够永久使用该IP地址,而是有租约规定的时间限制的。若超过时间限制即租约已过期,则该IP地址则不再属于该客户端,需要续约或重新分配IP地址;若未超过时间限制即租约未过期,则无需重新分配IP地址,只需要向客户端返回已分配的租约未过期的IP地址。

优选地,在本发明的技术方案中,地址分配方法中的步骤S3还包括

步骤S31,若当前服务设备中无空闲的IP地址,则当前服务设备将客户端信息转发到其他服务设备。

通过上述的转发步骤,能够有效地避免流量过度集中于某个服务设备,而导致某个服务设备中管理的IP地址不足而无法给客户端分配IP地址;同时,也使得各个服务设备之间能够更好地加强协作关系,实现负载均衡。

在本发明的优选技术方案中,地址分配方法还包括

步骤S6,当前服务设备完成客户端的地址分配后,将客户端信息以及分配给客户端的IP地址同步发送到其他服务设备。

换言之,每个服务设备都能接收并存储有全部的客户端IP地址分配信息,以便在接收到客户端地址分配请求时,首先判断客户端是否已分配有租约未过期的IP地址,避免重复请求,保证客户端IP地址唯一性,同时简化了对客户端信息判断分析的步骤,提高了地址分配系统的整体效率。

进一步地,在本发明的技术方案中,地址分配方法还包括

步骤S7,当前服务设备定期或者不定期向其他服务设备发出心跳包,并接收其他服务设备发送的心跳包;

步骤S8,若当前服务设备检测到其他服务设备中的一台或者多台的心跳包异常,则将该服务设备从映射值中排除。

为避免单个服务设备故障影响对部分客户端的地址分配请求的应答,通过上述心跳包机制,实时监测各个服务设备的状态。在某个服务设备发生故障时,将其从映射值中排除,从而使得客户端的地址分配请求不会再被分配至该服务设备,并且能够将该服务设备负责的客户端地址分配请求均衡地分配至其他服务设备中。进一步地,在地址分配系统中,加入新的服务设备时,也能够通过发送心跳包的方式,使新的服务设备与原有服务设备之间迅速建立连接,从而能够方便快速地实现服务设备的扩容。

在本发明的技术方案中,还提供了一种地址分配系统,包括多个服务设备,其中当前服务设备内存储有用于执行以下操作的指令:

步骤S1,接收客户端发送的地址分配请求;

步骤S2,计算客户端的客户端信息对应的目标服务设备;

步骤S3,若目标服务设备为当前服务设备,则当前服务设备为客户端分配IP地址,若目标服务设备不是当前服务设备,则当前服务设备将客户端信息转发到目标服务设备;

步骤S4,将分配给客户端的IP地址,返回给客户端。

上述的地址分配系统,包括多个服务设备,能够为大规模的客户端提供地址分配服务。其中,每个服务设备负责一部分客户端的地址分配服务,并且客户端和服务设备之间的对应分配能够通过服务设备及服务设备间的协作来实现,无需另外设置负载均衡设备进行调节。而且,各个服务设备之间保持通信,实现信息同步,以避免单个服务设备故障影响地址服务系统对部分客户端的地址分配请求的应答。

在本发明的技术方案中,还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时能够实现上述的地址分配方法的步骤,以实现同时工作的多个服务设备之间的均衡负载。

附图说明

图1是本发明的第一实施方式中提供的一种地址分配方法的示意图;

图2是本发明的第一实施方式中提供的另一种地址分配方法的示意图;

图3是本发明的第二实施方式中提供的一种地址分配方法的示意图;

图4是本发明的第二实施方式中提供的另一种地址分配方法的示意图;

图5是本发明的第三实施方式中提供的一种地址分配方法的心跳包的示意图;

图6是本发明的第三实施方式中提供的另一种地址分配方法的心跳包异常的示意图;

图7是本发明的第四实施方式中提供的一种地址分配系统的示意图。

附图标记:1-地址分配系统,2-服务设备,21-当前服务设备。

具体实施方式

下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明的保护范围。

[第一实施方式]

如图1所示,本发明的第一实施方式中提供了一种地址分配方法,本实施方式中的地址分配方法由地址分配系统中的多个服务设备同时运行,具体包括:

步骤S1,当前服务设备接收客户端发送的地址分配请求;

步骤S2,当前服务设备计算客户端的客户端信息对应的目标服务设备;

步骤S3,若目标服务设备为当前服务设备,则当前服务设备为客户端分配IP地址,

若目标服务设备不是当前服务设备,则当前服务设备将客户端信息转发到目标服务设备;

步骤S4,将分配给客户端的IP地址,返回给客户端。

动态主机配置协议(DHCP)在提供地址分配服务时,采用的是客户端/服务器架构,服务器的地址动态分配任务由客户端驱动。也就是说,当DHCP服务器即服务设备接收到来自客户端请求分配地址的信息时,才会向客户端发送相关的地址配置等信息,以实现客户端地址信息的动态配置。并且为了保证唯一性,在进行地址分配时,需要保证任何IP地址在同一时刻只能由一个客户端所使用。其中,客户端可以以单播或广播的形式向服务端发出地址分配请求,单播即地址分配请求会发送到某个服务端;而广播是指地址分配请求会发送向多个服务端,而多个服务端均会进行应答,客户端接收最快返回的应答信息。尤其是在广播的模式中,应答反应越快或距离客户端请求密集的位置越近的服务端负载越大,而应答较慢或距离请求信息中心较远的服务端长期闲置,服务端之间负载差异大,难以实现均衡负载。

本实施方式中提出的地址分配方法中,当前服务设备可以是接收到客户端发送的地址分配请求的任一服务设备。当前服务设备接受请求后,通过对客户端信息进行计算分析得到其对应的目标服务设备,并验证自身是否为客户端信息对应的目标服务设备。通过计算机制,使得每个客户端均对应于指定的目标服务设备,同样地,每个服务设备只需为指定的客户端提供地址分配服务。从而,避免了客户端请求集中于部分服务设备,使其过载工作,工作效率降低乃至产生错误或故障;而另一部分服务设备只有少量工作甚至完全闲置,致使整体地址分配系统负载不均效率低下。

然后根据验证结果,若目标服务设备为当前服务设备,则当前服务设备为客户端分配IP地址;若目标服务设备不是当前服务设备,则当前服务设备将客户端信息转发到目标服务设备。服务设备不仅能判断自身的工作范围,还能与其他的服务设备进行信息交换,以提高整体地址分配系统的应答效率。在客户端信息单播的模式下,若客户端信息被发送到非目标服务设备上,当前服务设备将客户端信息转发到目标服务设备,有效地避免客户端请求落空。

优选地,在本发明的实施方式中提供的地址分配方法中,其步骤S2中使用哈希映射方法计算客户端信息对应的目标服务设备,哈希映射方法使用的关键字值为客户端信息,哈希映射方法使用的映射值为目标服务设备。哈希映射的计算逻辑为通过对关键字值的运算,得到关键字值对应的映射值。在本实施方式中,即为通过对客户端信息的运算,得到客户端信息对应的目标服务设备。哈希映射的方式还能够使得每一次为一个客户端提供地址分配服务的均是同一个服务设备,从而保证客户端对应目标服务设备的唯一性。其中,客户端信息可以为客户端的用户标识(UID)、局域网地址(MAC)等具有唯一性的身份标识。

优选地,如图2所示,本发明的第一实施方式中提供的地址分配方法还包括

步骤S5,判断客户端是否已分配有租约未过期的IP地址,若是,则当前服务设备直接向客户端返回已分配的租约未过期的IP地址;若否,则执行步骤S2。

动态主机配置协议(DHCP)中,分配给客户端的IP地址并不是永久性的,IP地址分配给客户端的同时还携带有租约。租约限定客户端使用该IP地址的使用期限,超过使用期限后,该IP地址会被回收并重新分配;若客户端想要持续使用该IP地址,则需在超过使用期限前,发送续约请求,进行续约以延长使用期限。

本实施方式中,服务设备在为客户端分配IP地址前,先判断该客户端是否已分配有租约未过期的IP地址,能够有效地提高服务设备的工作效率,避免重复分配,造成IP地址的浪费。当服务设备发现客户端已分配有IP地址且IP地址的租约未过期时,服务设备则无需进行后续的计算分析,直接将该IP地址返回给客户端即可;当服务设备发现客户端已分配有IP地址但IP地址的租约已过期或客户端为分配有IP地址时,再进行对客户端信息的分析计算,为该客户端分配IP地址。

[第二实施方式]

本发明的第二实施方式是在第一实施方式的基础上进一步优选的实施方式,如图3所示,本实施方式中提供的地址分配方法中的步骤S3还包括

步骤S31,若当前服务设备中无空闲的IP地址,则当前服务设备将客户端信息转发到其他服务设备。

在完成地址分配工作的多个服务设备中,每个服务设备均分配有一定量的IP地址以供其后续分配给客户端。随着地址分配任务的进行,业务较为繁忙的服务设备中管理的IP地址可能会耗尽,而导致某个服务设备中管理的IP地址不足而无法给客户端分配IP地址。因此,将客户端信息转发到其他服务设备的步骤能够避免流量过度集中于某个服务设备带来的问题,使得各个服务设备之间能够更好地加强协作关系,实现负载均衡,同时也能够避免客户端信息单发至某个地址耗尽的服务设备无法获得应答,使得各个服务设备之间能够更好地加强协作关系。

进一步地,如图4所示,本发明的第二实施方式中提供的地址分配方法还包括

步骤S6,当前服务设备完成客户端的地址分配后,将客户端信息以及分配给客户端的IP地址同步发送到其他服务设备。

通过上述步骤,每个服务设备不仅能够存储有自身负责的客户端的IP地址分配信息,还都能接收并存储有其他服务设备中的客户端IP地址分配信息,实现整体地址分配信息的共享。当前服务设备能够在接收到客户端地址分配请求时,更为准确全面地判断客户端是否已分配有租约未过期的IP地址,避免重复请求,保证客户端IP地址唯一性,同时简化了对客户端信息判断分析的步骤,提高了地址分配系统的整体效率。

[第三实施方式]

本发明的第三实施方式是在第一实施方式和第二实施方式的基础上进一步优选的实施方式,本实施方式中提供的地址分配方法还包括

步骤S7,当前服务设备定期或者不定期向其他服务设备发出心跳包,并接收其他服务设备发送的心跳包;

步骤S8,若当前服务设备检测到其他服务设备中的一台或者多台的心跳包异常,则将该服务设备从映射值中排除。

如图5所示,多个服务设备在为客户端提供地址分配服务的同时,会定期或不定期地向其他服务设备发送心跳包,以通知其他服务设备自身的工作状态;并接收其它设备发送的心跳包,以确认其他服务设备的工作状态。在本实施方式中的地址分配方法指导的地址分配模式下,每个客户端均有对应的为其提供地址分配服务的目标服务设备,也就是说,其对应的客户端的地址分配任务均由该目标服务设备提供,即使对应客户端请求地址分配的客户端信息被其他服务设备接收,其他服务设备也会将客户端信息转发到当该目标服务设备上。

为避免在服务设备出现故障时,其对应客户端的地址分配请求落空,若检测到一台或者多台的服务的心跳包异常,则将该服务设备从映射值中排除。如图6所示,服务设备2的心跳包异常,则将服务设备2从哈希映射的映射值中排除,即该服务设备2不再是任何客户端信息对应的目标服务设备,其原本对应的客户端信息会被转发至其他服务设备。优选地,其原本对应的客户端信息会被均衡地分配到其他的多个服务设备中,使得单个服务设备故障不会影响整体的负载均衡。其中,心跳包异常的情况包括但不限于服务设备发送的心跳包内的信息异常、服务设备停止发送心跳包等异常情况。

进一步地,在新增服务设备时,也可以通过心跳包的方式将其加入到地址分配的哈希映射的映射值中,即可便捷地加入服务设备,并使得新增的服务设备与原有的服务设备之间保持均衡负载。

[第四实施方式]

如图7所示,本发明的第四实施方式提供了一种地址分配系统1,具体包括多个服务设备2,其中包括当前服务设备21,当前服务设备21内存储有用于执行以下操作的指令:

步骤S1,接收客户端发送的地址分配请求;

步骤S2,计算客户端的客户端信息对应的目标服务设备;

步骤S3,若目标服务设备为当前服务设备21,则当前服务设备21为客户端分配IP地址,若目标服务设备不是当前服务设备21,则当前服务设备21将客户端信息转发到目标服务设备;

步骤S4,将分配给客户端的IP地址,返回给客户端。

通过上述步骤,本发明的实施方式中提供的地址分配系统1能够实现多个DHCP服务设备之间的负载均衡,同时在多个服务设备之间建立连接,即使单个服务设备发生故障无法提供服务,也能将该服务设备的工作均衡地分配到其他服务设备中,进一步地保证地址分配服务的性能和效率。

本发明的第四实施方式中还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述地址分配方法的步骤。

至此,已经结合附图描述了本发明的技术方案。但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于上述具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:Kubernetes集群间的通信方法、计算机设备及介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类