端口分配方法、装置和电子设备制造方法及图纸

技术编号:39046090 阅读:18 留言:0更新日期:2023-10-10 11:59
本发明专利技术提供了一种端口分配方法、装置和电子设备,接收第一访问请求,并检测当前IP的第一端口是否被占用;如果第一端口未被占用将第一访问请求分配给第一端口;当接收到第二访问请求时,检测当前IP的下一个IP的第二端口是否被占用,以分配第二访问请求;如果第一端口被占用检测当前IP的第一端口的下一个端口是否被占用;如果第一端口的下一个端口未被占用,将第一访问请求分配给第一端口的下一个端口。该方式分配端口时,查找可用端口的流程是变化的,先依次在各IP之间轮询查找可用端口,当端口被占用时,从被占用的端口对应的IP下的端口中查找可用端口,该方式有效提高了端口分配效率,降低了端口的冲突率,从而提升了用户体验。从而提升了用户体验。从而提升了用户体验。

【技术实现步骤摘要】
端口分配方法、装置和电子设备


[0001]本专利技术涉及数据处理
,尤其是涉及一种端口分配方法、装置和电子设备。

技术介绍

[0002]NAT(Network Address Translation,网络地址转换)网关的IP(Internet Protocol Address,互联网协议地址)及PORT(可称为端口)分配是NAT网关的核心也是最基本的功能,如何保证最高效率的分配IP和PORT的组合,是NAT网关性能及用户体验的关键。公有云主流分配方案通常是客户购买一定数量的公网IP,每个公网IP对应有多个PORT,NAT网关根据内网访问不同的业务分配不同的IP+PORT组合。
[0003]相关技术中,在分配IP和PORT时,将从第一个IP的第一端口开始,依次分配请求,第一个IP的所有端口均分配完成后,再从第二个IP的第一端口开始分配,直到最后一个IP的最后一个端口分配完成,再回到第一个IP的第一端口进行分配。在去往同一服务的并发请求较多,且请求多为TCP(Transmission Control Protocol,传输控制协议)长连接时,端口资源很快就会被耗尽,则在分配端口时容易出现端口阻塞现象。出现端口阻塞现象后会连续向下顺延四次端口,如果依然没有空闲端口,则请求转发失败,此时,即时顺延四次后对应的端口的后续端口有空闲,也不会得到分配,从而导致分配效率较低,且用户体验较差。

技术实现思路

[0004]本专利技术的目的在于提供一种端口分配方法、装置和电子设备,以提高端口分配效率,并提升用户体验。
[0005]第一方面,本专利技术提供了一种端口分配方法,该方法应用于指定网关,该指定网关包含有多个IP,每个IP对应有多个端口;该方法包括:接收第一访问请求,检测当前IP的第一端口是否被占用;其中,第一端口包括:当前IP对应的上一次被分配的端口的下一个端口;如果第一端口未被占用,将第一访问请求分配给第一端口;当接收到第二访问请求时,检测当前IP的下一个IP的第二端口是否被占用,以分配第二访问请求;如果第一端口被占用,检测当前IP对应的第一端口的下一个端口是否被占用;如果第一端口的下一个端口未被占用,将第一访问请求分配给第一端口的下一个端口。
[0006]在可选的实施方式中,上述方法还包括:如果第一端口的下一个端口被占用,依次检测第一端口的下一个端口之后的指定数量的端口是否被占用;如果有未被占用的端口,将第一访问请求分配给未被占用的端口;如果指定数量的端口均被占用,确定第一访问请求转发失败。
[0007]在可选的实施方式中,上述方法还包括:检测第一端口的下一个端口的下一个端口是否被占用;如果第一端口的下一个端口的下一个端口未被占用,将第一访问请求分配给第一端口的下一个端口的下一个端口;如果第一端口的下一个端口的下一个端口被占用,判断检测次数是否达到预设阈值,如果达到,确定第一访问请求转发失败;如果未达到,
将第一端口的下一个端口的下一个端口的下一个端口确定为新的第一端口的下一个端口的下一个端口,继续执行检测第一端口的下一个端口的下一个端口是否被占用的步骤。
[0008]在可选的实施方式中,上述当接收到第二访问请求时,检测当前IP的下一个IP的第二端口是否被占用,以分配第二访问请求的步骤,包括:当接收到第二访问请求时,将第二访问请求确定为新的第一访问请求,将当前IP的下一个IP的第二端口确定为新的当前IP的第一端口,继续执行接收第一访问请求,检测当前IP的第一端口是否被占用的步骤,以为第二访问请求分配端口;其中,第二端口包括:当前IP的下一个IP对应的上一次被分配的端口的下一个端口。
[0009]在可选的实施方式中,上述当接收到第二访问请求时,检测当前IP的下一个IP的第二端口是否被占用,以分配第二访问请求的步骤之后,该方法包括:如果接收到第三访问请求,检测当前IP的下一个IP的下一个IP的第三端口是否被占用,以分配第三访问请求;其中,指定网关包含的多个IP中,第一个IP作为最后一个IP的下一个IP;第三端口包括:当前IP的下一个IP的下一个IP对应的上一次被分配的端口的下一个端口。
[0010]在可选的实施方式中,上述指定网关包括NAT网关。
[0011]在可选的实施方式中,上述当接收到第二访问请求时,检测当前IP的下一个IP的第二端口是否被占用,以分配第二访问请求的步骤之后,上述方法还包括:如果第二访问请求转发完成,释放第二访问请求占用的端口。
[0012]第二方面,本专利技术提供了一种端口分配装置,该装置设置于指定网关,该指定网关包含有多个IP,每个IP对应有多个端口;该装置包括:请求接收模块,用于接收第一访问请求,检测当前IP的第一端口是否被占用;其中,第一端口包括:当前IP对应的上一次被分配的端口的下一个端口;请求分配模块,用于如果第一端口未被占用,将第一访问请求分配给第一端口;当接收到第二访问请求时,检测当前IP的下一个IP的第二端口是否被占用,以分配第二访问请求;端口检测模块,用于如果第一端口被占用,检测当前IP对应的第一端口的下一个端口是否被占用;如果第一端口的下一个端口未被占用,将第一访问请求分配给第一端口的下一个端口。
[0013]第三方面,本专利技术提供了一种电子设备,该电子设备包括处理器和存储器,该存储器存储有能够被处理器执行的机器可执行指令,该处理器执行机器可执行指令以实现上述端口分配方法。
[0014]第四方面,本专利技术提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述端口分配方法。
[0015]本专利技术实施例带来了以下有益效果:
[0016]本专利技术提供的一种端口分配方法、装置和电子设备,该方法应用于指定网关,该指定网关包含有多个IP,每个IP对应有多个端口;首先接收第一访问请求,检测当前IP的第一端口是否被占用;如果第一端口未被占用,将第一访问请求分配给第一端口;当接收到第二访问请求时,检测当前IP的下一个IP的第二端口是否被占用,以分配第二访问请求;如果第一端口被占用,检测当前IP对应的第一端口的下一个端口是否被占用;如果第一端口的下一个端口未被占用,将第一访问请求分配给第一端口的下一个端口。该方式在分配端口时,查找可用端口的流程是变化的,先依次在各IP之间轮询查找可用端口,当端口被占用时,从
被占用的端口对应的IP下的端口中查找可用端口,该方式有效提高了端口分配效率,降低了端口的冲突率,也降低了请求转发失败率,从而提升了用户体验。
[0017]本专利技术的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本专利技术的上述技术即可得知。
[0018]为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。
附图说明
[0019]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种端口分配方法,其特征在于,所述方法应用于指定网关,所述指定网关包含有多个IP,每个IP对应有多个端口;所述方法包括:接收第一访问请求,检测当前IP的第一端口是否被占用;其中,所述第一端口包括:所述当前IP对应的上一次被分配的端口的下一个端口;如果所述第一端口未被占用,将所述第一访问请求分配给所述第一端口;当接收到第二访问请求时,检测所述当前IP的下一个IP的第二端口是否被占用,以分配所述第二访问请求;如果所述第一端口被占用,检测所述当前IP对应的所述第一端口的下一个端口是否被占用;如果所述第一端口的下一个端口未被占用,将所述第一访问请求分配给所述第一端口的下一个端口。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:如果所述第一端口的下一个端口被占用,依次检测所述第一端口的下一个端口之后的指定数量的端口是否被占用;如果有未被占用的端口,将所述第一访问请求分配给所述未被占用的端口;如果所述指定数量的端口均被占用,确定所述第一访问请求转发失败。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:检测所述第一端口的下一个端口的下一个端口是否被占用;如果所述第一端口的下一个端口的下一个端口未被占用,将所述第一访问请求分配给所述第一端口的下一个端口的下一个端口;如果所述第一端口的下一个端口的下一个端口被占用,判断检测次数是否达到预设阈值,如果达到,确定所述第一访问请求转发失败;如果未达到,将所述第一端口的下一个端口的下一个端口的下一个端口确定为新的所述第一端口的下一个端口的下一个端口,继续执行检测所述第一端口的下一个端口的下一个端口是否被占用的步骤。4.根据权利要求1所述的方法,其特征在于,所述当接收到第二访问请求时,检测所述当前IP的下一个IP的第二端口是否被占用,以分配所述第二访问请求的步骤,包括:当接收到所述第二访问请求时,将所述第二访问请求确定为新的第一访问请求,将所述当前IP的下一个IP的第二端口确定为新的所述当前IP的第一端口,继续执行接收第一访问请求,检测当前IP的第一端口是否被占用的步骤,以为所述第二访问请求分配端口;其中,所述第二端口包括:所述当前IP的下一个IP对应的上一...

【专利技术属性】
技术研发人员:刘茂鑫
申请(专利权)人:北京金山云网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1