CN117014189A - 多网关调度处理方法、设备、系统、服务器及存储介质 - Google Patents

多网关调度处理方法、设备、系统、服务器及存储介质 Download PDF

Info

Publication number
CN117014189A
CN117014189A CN202310821976.4A CN202310821976A CN117014189A CN 117014189 A CN117014189 A CN 117014189A CN 202310821976 A CN202310821976 A CN 202310821976A CN 117014189 A CN117014189 A CN 117014189A
Authority
CN
China
Prior art keywords
gateway
capability
address
client
access
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.)
Pending
Application number
CN202310821976.4A
Other languages
English (en)
Inventor
沈杰
冯毅
朱立军
豆维琦
曹友园
张雷
袁新雅
邹旺
潘通
刘金栋
郭健
杨帆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN202310821976.4A priority Critical patent/CN117014189A/zh
Publication of CN117014189A publication Critical patent/CN117014189A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种多网关调度处理方法、设备、系统、服务器及存储介质,涉及通信技术领域。该方法包括:获取客户端对能力网关集群的接入请求;若该接入方式为软件开发工具包接入,则获取客户端的网关订阅信息,并根据该应用标识、能力标识和该网关订阅信息,确定待连接的能力网关地址和权限信息,向客户端发送待连接的能力网关地址和权限信息,以使客户端向与该待连接的能力网关地址对应的能力网关集群发送认证请求,并根据接收的认证请求响应结果完成鉴权认证。本申请的方法,避免所有请求都通过网关接入代理服务器分配能力网关地址和权限信息,进而减轻网关接入代理服务器的连接压力,降低其在高并发场景下的崩溃的可能性。

Description

多网关调度处理方法、设备、系统、服务器及存储介质
技术领域
本申请涉及通信技术领域,尤其涉及一种多网关调度处理方法、设备、系统、服务器及存储介质。
背景技术
多网关集群协同系统是将多个网关集群进行联合统一管理,以实现客户端请求在多个网关集群之间的均衡分配。
现有的多网关集群协同系统的工作机制是在网关集群前设置反向的网关接入代理服务器服务,通过网关接入代理服务器的分配,将客户端的请求分发到各个网关集群,以均衡各客户端的请求负载。
但现有的多网关集群协同系统在客户端请求较多的高并发场景下,会导致反向的网关接入代理服务器服务压力巨大,若此时反向的网关接入代理服务器服务崩溃,将造成客户端请求无法到达网关,整个系统无法对外提供服务的缺陷。
发明内容
本申请提供一种多网关调度处理方法、设备、系统、服务器及存储介质,用以解决现有的多网关集群协同系统在客户端请求较多的高并发场景下,会导致反向的网关接入代理服务器服务压力巨大,若此时反向的网关接入代理服务器服务崩溃,将造成客户端请求无法到达网关,整个系统无法对外提供服务的缺陷问题。
第一方面,本申请提供一种多网关调度处理方法,包括:
获取客户端对能力网关集群的接入请求;其中,所述接入请求包括接入方式、应用标识和能力标识,所述接入方式包括软件开发工具包接入和非软件开发工具包接入,所述能力网关集群包括至少一个能力网关地址;
若所述接入方式为软件开发工具包接入,则获取客户端的网关订阅信息,并根据所述应用标识、能力标识和所述网关订阅信息,确定待连接的能力网关地址和权限信息,向客户端发送待连接的能力网关地址和权限信息,以使客户端向与所述待连接的能力网关地址对应的能力网关集群发送认证请求,并根据接收的认证请求响应结果完成鉴权认证;其中,所述网关订阅信息中预存储有应用标识、能力标识以及能力网关地址和权限信息的对应关系。
在一种可能的设计中,所述根据所述应用标识、能力标识和所述网关订阅信息,确定待连接的能力网关地址,包括:
根据所述应用标识、能力标识和所述网关订阅信息,确定所述网关订阅信息中与所述应用标识和能力标识相匹配的可用网关列表;其中,所述可用网关列表中存储有至少一个能力网关地址;
根据预设网关分组和权重公式筛选所述可用网关列表,得到最优能力网关地址;
将所述最优能力网关地址作为待连接的能力网关地址。
在一种可能的设计中,所述根据预设网关分组和权重公式筛选所述可用网关列表,得到最优能力网关地址之前,所述方法还包括:
获取能力网关集群的日志统计数据;其中,所述日志统计数据包括每一能力网关地址的实际调用量;
根据所述日志统计数据中每一能力网关地址的实际调用量,确定每一能力网关地址的实际调用量占比;
若所述能力网关地址的实际调用量占比与预设网关分组和权重公式中能力网关地址的预分配权重占比之差大于预设偏差阈值,则将所述能力网关地址的实际调用量占比作为预设网关分组和权重公式中能力网关地址的预分配权重占比。
在一种可能的设计中,所述若所述接入方式为软件开发工具包接入,则获取客户端的网关订阅信息之后,所述方法还包括:
若未获取到客户端的网关订阅信息,则根据所述应用标识、能力标识和网关接入代理服务器,确定待连接的能力网关地址和权限信息;其中,所述网关接入代理服务器中预存储有应用标识、能力标识以及能力网关地址和权限信息的对应关系。
在一种可能的设计中,还包括:
若所述接入方式为非软件开发工具包接入,则根据所述应用标识、能力标识和网关接入代理服务器,确定待连接的能力网关地址和权限信息;其中,所述网关接入代理服务器中预存储有应用标识、能力标识以及能力网关地址和权限信息的对应关系。
在一种可能的设计中,若所述接入方式为软件开发工具包接入,则所述方法还包括:
监测能力网关集群的健康状态;
若所述能力网关集群中存在非健康状态的能力网关,则将非健康状态的能力网关以网关订阅推送方式发送至客户端,以触发客户端删除网关订阅信息中与非健康状态的能力网关对应的能力网关地址。
在一种可能的设计中,若所述接入方式为软件开发工具包接入,则所述方法还包括:
监测能力网关集群的新增数据信息;其中,所述新增数据信息包括新增网关注册信息和/或网关变更信息;
若所述能力网关集群中存在新增数据信息,则将所述新增数据信息以网关订阅推送方式发送至客户端,以触发客户端更新网关订阅信息中与所述新增数据信息对应的能力网关地址;其中,所述更新网关订阅信息包括根据新增网关注册信息在网关订阅信息中新增能力网关地址和权限信息,和/或,根据网关变更信息在网关订阅信息中变更能力网关地址和权限信息。
第二方面,本申请提供一种调度网关,包括:
获取模块,用于获取客户端对能力网关集群的接入请求;其中,所述接入请求包括接入方式、应用标识和能力标识,所述接入方式包括软件开发工具包接入和非软件开发工具包接入,所述能力网关集群包括至少一个能力网关地址;
处理模块,用于若所述接入方式为软件开发工具包接入,则触发获取模块获取客户端的网关订阅信息,并根据所述应用标识、能力标识和所述网关订阅信息,确定待连接的能力网关地址和权限信息;其中,所述网关订阅信息中预存储有应用标识、能力标识以及能力网关地址和权限信息的对应关系;
发送模块,用于向客户端发送待连接的能力网关地址和权限信息,以使客户端向与所述待连接的能力网关地址对应的能力网关集群发送认证请求,并根据接收的认证请求响应结果完成鉴权认证。
所述处理模块,还用于根据所述应用标识、能力标识和所述网关订阅信息,确定待连接的能力网关地址,包括:
根据所述应用标识、能力标识和所述网关订阅信息,确定所述网关订阅信息中与所述应用标识和能力标识相匹配的可用网关列表;其中,所述可用网关列表中存储有至少一个能力网关地址;
根据预设网关分组和权重公式筛选所述可用网关列表,得到最优能力网关地址;
将所述最优能力网关地址作为待连接的能力网关地址。
所述处理模块,还用于根据预设网关分组和权重公式筛选所述可用网关列表,得到最优能力网关地址之前,所述方法还包括:
触发获取模块获取能力网关集群的日志统计数据;其中,所述日志统计数据包括每一能力网关地址的实际调用量;
所述处理模块,还用于根据所述日志统计数据中每一能力网关地址的实际调用量,确定每一能力网关地址的实际调用量占比;
若所述能力网关地址的实际调用量占比与预设网关分组和权重公式中能力网关地址的预分配权重占比之差大于预设偏差阈值,则将所述能力网关地址的实际调用量占比作为预设网关分组和权重公式中能力网关地址的预分配权重占比。
所述处理模块,还用于若所述接入方式为软件开发工具包接入,则获取客户端的网关订阅信息之后,所述方法还包括:
若未获取到客户端的网关订阅信息,则根据所述应用标识、能力标识和网关接入代理服务器,确定待连接的能力网关地址和权限信息;其中,所述网关接入代理服务器中预存储有应用标识、能力标识以及能力网关地址和权限信息的对应关系。
所述处理模块,还用于若所述接入方式为非软件开发工具包接入,则根据所述应用标识、能力标识和网关接入代理服务器,确定待连接的能力网关地址和权限信息;其中,所述网关接入代理服务器中预存储有应用标识、能力标识以及能力网关地址和权限信息的对应关系。
所述处理模块,还用于若所述接入方式为软件开发工具包接入,则所述方法还包括:
触发监测模块监测能力网关集群的健康状态;
所述处理模块,还用于若所述能力网关集群中存在非健康状态的能力网关,则将非健康状态的能力网关以网关订阅推送方式发送至客户端,以触发客户端删除网关订阅信息中与非健康状态的能力网关对应的能力网关地址。
所述处理模块,还用于若所述接入方式为软件开发工具包接入,则所述方法还包括:
触发监测模块监测能力网关集群的新增数据信息;其中,所述新增数据信息包括新增网关注册信息和/或网关变更信息;
所述处理模块,还用于若所述能力网关集群中存在新增数据信息,则将所述新增数据信息以网关订阅推送方式发送至客户端,以触发客户端更新网关订阅信息中与所述新增数据信息对应的能力网关地址;其中,所述更新网关订阅信息包括根据新增网关注册信息在网关订阅信息中新增能力网关地址和权限信息,和/或,根据网关变更信息在网关订阅信息中变更能力网关地址和权限信息。
第三方面,本申请提供一种服务器,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现多网关调度处理方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现多网关调度处理方法。
第五方面,本申请提供一种多网关集群协同系统,包括:客户端、调度网关以及能力网关集群;所述调度网关分别与所述客户端和能力网关集群通信连接;所述调度网关用于实现多网关调度处理的方法。
本申请提供的多网关调度处理方法、设备、系统、服务器及存储介质,通过获取客户端对能力网关集群的接入请求;若该接入方式为软件开发工具包接入,则获取客户端的网关订阅信息,并根据该应用标识、能力标识和该网关订阅信息,确定待连接的能力网关地址和权限信息,向客户端发送待连接的能力网关地址和权限信息,以使客户端向与该待连接的能力网关地址对应的能力网关集群发送认证请求,并根据接收的认证请求响应结果完成鉴权认证,以使该客户端与能力网关集群中对应的能力网关地址通信连接。相对于现有技术中多网关集群协同系统在客户端请求较多的高并发场景下,会导致反向的网关接入代理服务器服务压力巨大,若此时反向的网关接入代理服务器服务崩溃,将造成客户端请求无法到达网关,整个系统无法对外提供服务的缺陷,本申请利用网关订阅信息给客户端一定数量的直连权限,从而避免所有请求都通过网关接入代理服务器分配能力网关地址和权限信息,进而减轻网关接入代理服务器的连接压力,降低其在高并发场景下的崩溃的可能性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的多网关调度处理的应用场景示意图;
图2为本申请实施例提供的多网关调度处理方法的流程示意图一;
图3为本申请实施例提供的多网关调度处理方法的流程示意图二;
图4为本申请实施例提供的调度网关的结构示意图;
图5为本申请实施例提供的服务器的硬件结构示意图;
图6为本申请实施例提供的多网关集群协同系统组成和数据流向示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当客户端向现有的多网关集群协同系统发送较多请求时,多网关集群协同系统的网关接入代理服务器的服务压力巨大,很容易导致网关接入代理服务器的服务崩溃,以致客户端请求无法送达能力网关集群。
基于上述技术问题,本申请的发明构思在于:在客户端建立软件开发工具包,以使客户端与能力网关集群能够通过软件开发工具包实现直连,为确保直连过程的安全性,需要预先将授权信息以网关订阅信息的方式通过调度网关推送给客户端,以使客户端根据包含授权信息的网关订阅信息,通过能力网关集群的鉴权,进而建立客户端与能力网关集群的连接,旨在解决现有技术的如上技术问题。
本申请具体的应用场景如下:
图1为本申请实施例提供的多网关调度处理方法应用场景示意图。如图1所示,客户端101生成能力网关集群103的接入请求,通过调度网关102获取该接入请求对应的能力网关地址和权限信息,调度网关再将获取的能力网关地址和权限信息返回给客户端,客户端根据该能力网关地址和权限信息直接接入对应的能力网关集群103,以完成客户端与能力网关集群的通信连接。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的多网关调度处理方法流程示意图一。如图2所示,该方法包括:
S201、获取客户端对能力网关集群的接入请求。
其中,该接入请求包括接入方式、应用标识和能力标识,该接入方式包括软件开发工具包接入和非软件开发工具包接入,该能力网关集群包括至少一个能力网关地址。
具体来说,任何一个系统如果要被其他系统调用,都需要暴露应用程序编程接口(Application Program Interface,API),而API网关作为开放平台的统一入口,通常具备鉴权、监控以及转换等多种功能,为了提高API网关的工作效率,以集群分组方式将多个API网关划分为多个能力网关集群,每个API网关视为一个携带有能力网关地址的能力网关,以便客户端根据能力网关地址进行连接。
客户端在需要接入能力网关前,为了保证连接后数据传输的安全性,能力网关需要对待连接的客户端进行鉴权认证,这就需要客户端在连接前需要向能力网关集群发送接入请求,以根据该接入请求进行鉴权认证。
S202、若该接入方式为软件开发工具包接入,则获取客户端的网关订阅信息,并根据该应用标识、能力标识和该网关订阅信息,确定待连接的能力网关地址和权限信息。
其中,该网关订阅信息中预存储有应用标识、能力标识以及能力网关地址和权限信息的对应关系。
具体来说,预先设置有软件开发工具包的客户端可以通过软件开发工具包接入方式连接能力网关集群,但需要调度网关预先给客户端推送待连接的能力网关地址和权限信息,以使客户端能够通过该能力网关地址和权限信息完成鉴权认证。
进一步的,由于接入请求包括应用标识和能力标识,而网关订阅信息中预存储有应用标识、能力标识以及能力网关地址和权限信息的对应关系,因此,可以通过应用标识和能力标识找到与该接入请求相匹配的能力网关地址和权限信息。
由于同一能力标识可能对应多个可用的能力网关,因此,需要调度网关对多个可用的能力网关进行筛选,选出最合适的作为待连接的能力网关,并将该待连接的能力网关的能力网关地址和权限信息返回给客户端,以使客户端能够根据返回的能力网关地址和权限信息直连对应的能力网关集群,完成客户端与能力网关之间的鉴权认证,进而实现客户端与能力网关集群之间的直连。
S203、向客户端发送待连接的能力网关地址和权限信息,以使客户端向与该待连接的能力网关地址对应的能力网关集群发送认证请求,并根据接收的认证请求响应结果完成鉴权认证。
具体来说,在确定待连接的能力网关地址和权限信息后,需要将其发送给客户端,以使客户端能够根据待连接的能力网关地址和权限信息向能力网关集群发送接入请求的认证信息,能力网关集群中对应的能力网关根据权限信息进行鉴权认证,通过鉴权认证后就能使该客户端与能力网关集群中对应的能力网关地址通信连接。
本实施例提供的方法,通过获取客户端对能力网关集群的接入请求;其中,该接入请求包括接入方式、应用标识和能力标识,该接入方式包括软件开发工具包接入和非软件开发工具包接入,该能力网关集群包括至少一个能力网关地址;若该接入方式为软件开发工具包接入,则获取客户端的网关订阅信息,并根据该应用标识、能力标识和该网关订阅信息,确定待连接的能力网关地址和权限信息,向客户端发送待连接的能力网关地址和权限信息,以使客户端向与该待连接的能力网关地址对应的能力网关集群发送认证请求,并根据接收的认证请求响应结果完成鉴权认证,以使该客户端与能力网关集群中对应的能力网关地址通信连接,利用网关订阅信息给客户端一定数量的直连权限,从而避免所有请求都通过网关接入代理服务器分配能力网关地址和权限信息,进而减轻网关接入代理服务器的连接压力,降低其在高并发场景下的崩溃的可能性。
下面结合一个具体的实施例,对本申请的多网关调度处理方法进行详细说明。
图3为本申请实施例提供的多网关调度处理方法流程示意图二。如图3所示,该方法包括:
S301、获取客户端对能力网关集群的接入请求。
其中,该接入请求包括接入方式、应用标识和能力标识,该接入方式包括软件开发工具包接入和非软件开发工具包接入,该能力网关集群包括至少一个能力网关地址。
S301的实现方式与上述S201的实现方式类似,本实施例此处不再赘述。
S302、若该接入方式为软件开发工具包接入,则获取客户端的网关订阅信息。
具体来说,若接入方式为软件开发工具包接入,说明客户端中设置有软件开发工具包,进而可通过软件开发工具包中的网关订阅功能,使客户端与调度网关之间互通信息。
更具体的,客户端与调度网关之间设置有订阅接口、推送接口以及反馈上报接口;订阅接口根据客户端输入的应用标识,输出与该应用标识相匹配的所有能力网关地址和权限信息,这些能力网关地址和权限信息是预先订购的;在连接过程中,当发生故障转移、地址变更、订购关系变化等事件时,推送接口会向客户端推送变化后的能力网关地址和权限信息,以保证客户端能够根据最新的能力网关地址和权限信息连接能力网关集群;反馈上报接口根据客户端输入的应用标识,监测该应用标识对应能力的网络状态信息,以将网络状态可用的网关地址和权限信息及时反馈给客户端。
进一步的,在调用反馈上报接口判断网络状态信息是否异常时,需要统计上一次异常上报之后网络异常的次数,只有上一次异常上报之后的次数大于上报次数阈值时,才将网络异常反馈给客户端,避免过度灵敏降低直连的使用频率。
S303、根据该应用标识、能力标识和该网关订阅信息,确定该网关订阅信息中与该应用标识和能力标识相匹配的可用网关列表。
其中,该可用网关列表中存储有至少一个能力网关地址。
具体来说,网关订阅信息中存储有订阅接口、推送接口以及反馈上报接口输出的所有网关信息,每一网关信息都携带有适配的应用标识和能力标识,因此,通过应用标识和能力标识可以从多个网关信息中筛选出匹配的网关信息,这些匹配的网关信息构成可用网关列表。
进一步的,由于客户端需要直连一个确定的能力网关地址,而可用网关列表内可能同时存在多个能力网关地址,这就需要对这些能力网关地址进行进一步的筛选,一种可行的筛选分配方式就是根据预设网关分组和权重公式筛选,
其中,预设网关分组根据能力的属性(协议、数据包长度、请求方式等)进行划分,并保证一个能力只存在于一个分组中。而同一分组的多个能力网关的权重则根据集群的负载能力、功能需求(灰度发布)进行预先配置管理,即预先填报不同能力网关集群的计划调用量,以作为初始的预设网关分组和权重公式分配依据。
S304、获取能力网关集群的日志统计数据。
其中,该日志统计数据包括每一能力网关地址的实际调用量。
具体来说,由于采用非网关代理服务器的连接方式,客户端的直连方式不经过调度网关的监控,这就使得调度网关无法准确按权重分配各能力网关集群的流量比例,因而需要通过计划流量分配加后期统计调整的方式均衡流量权重,因此,首先要通过日志来获取近期能力网关集群的流量分配,即获取能力网关集群的日志统计数据。
S305、根据该日志统计数据中每一能力网关地址的实际调用量,确定每一能力网关地址的实际调用量占比。
具体来说,根据日志统计数据,按照连接数量占统计周期内的总连接数量的比例关系计算已分配的各能力网关集群对应的实际调用量占比。需要说明的是,该实际调用量占比包括网关接入代理服务器接入和非网关接入代理服务器接入,是运行一定周期后能力网关集群的实际使用情况。
S306、若该能力网关地址的实际调用量占比与预设网关分组和权重公式中能力网关地址的预分配权重占比之差大于预设偏差阈值,则将该能力网关地址的实际调用量占比作为预设网关分组和权重公式中能力网关地址的预分配权重占比。
具体来说,能力网关地址的实际调用量占比与预设网关分组和权重公式中能力网关地址的预分配权重占比之差大于预设偏差阈值,则表明此时计划调用量与实际调用量的偏差较大,需要利用实际调用量来修正计划调用量,即将该能力网关地址的实际调用量占比作为预设网关分组和权重公式中能力网关地址的预分配权重占比。
S307、根据预设网关分组和权重公式筛选该可用网关列表,得到最优能力网关地址。
具体来说,最优能力网关地址是一个确定的能力网关地址,若根据预设网关分组和权重公式计算同时得到多个等值的能力网关地址,会根据随机算法选择其中一个作为最优能力网关地址,以避免客户端将一个接入请求发送给多个能力网关地址。
S308、将该最优能力网关地址作为待连接的能力网关地址,并获取对应的权限信息。
其中,该网关订阅信息中预存储有应用标识、能力标识以及能力网关地址和权限信息的对应关系。
具体来说,在通过预设网关分组和权重公式筛选出最优能力网关地址后,根据网关订阅信息中预存储的能力网关地址和权限信息的对应关系,可以获取与最优能力网关地址对应的权限信息,从而得到待连接的能力网关地址和权限信息。
S309、若未获取到客户端的网关订阅信息,或接入方式为非软件开发工具包接入,则根据该应用标识、能力标识和网关接入代理服务器,确定待连接的能力网关地址和权限信息。
其中,该网关接入代理服务器中预存储有应用标识、能力标识以及能力网关地址和权限信息的对应关系。
具体来说,未获取到客户端的网关订阅信息说明该应用标识未订购相应的能力网关直连接入权限;接入方式为非软件开发工具包接入,说明客户端未安装软件开发工具包,无法获取对应的相应的能力网关直连接入权限;此时,只能按照原有网关接入代理服务器的方式,通过网关接入代理服务器分配并赋予权限,以使客户端能够连接能力网关集群。
S310、监测能力网关集群的健康状态。
S311、若该能力网关集群中存在非健康状态的能力网关,则将非健康状态的能力网关以网关订阅推送方式发送至客户端,以触发客户端删除网关订阅信息中与非健康状态的能力网关对应的能力网关地址。
具体来说,能力网关集群的健康状态监测是周期性的定时任务,在预设间隔时长结束后开启各网关的轮询检查,调用预配置顺序的健康检查能力网关地址。当发现存在非健康状态的能力网关时,触发推送相关订阅信息,重新计算满足连接条件的能力网关集群路由,并将变更后的能力网关信息推送至客户端,避免客户端根据不健康的能力网关地址和权限信息连接能力网关集群后造成连接或传输失败的场景,提高客户端与能力网关集群的连接成功率,降低失败信息传输对网络资源的占用率。
S312、监测能力网关集群的新增数据信息。
其中,该新增数据信息包括新增网关注册信息和/或网关变更信息。
S313、若该能力网关集群中存在新增数据信息,则将该新增数据信息以网关订阅推送方式发送至客户端,以触发客户端更新网关订阅信息中与该新增数据信息对应的能力网关地址。
其中,该更新网关订阅信息包括根据新增网关注册信息在网关订阅信息中新增能力网关地址和权限信息,和/或,根据网关变更信息在网关订阅信息中变更能力网关地址和权限信息。
具体来说,由于在运行过程中,能力网关可能会随时添加或删除,甚至变更或调整权限信息,这些变化的信息都需要及时通知给客户端,才能避免客户端还按照之前获取的能力网关地址和权限信息与能力网关集群连接,或还按照之前的网关接入代理服务器方式排队等待连接,进而避免降低连接成功率,提高连接请求处理效率。
S314、向客户端发送待连接的能力网关地址和权限信息。
具体来说,该待连接的能力网关地址和权限信息是通过网管订阅消息的方式推送至客户端,以使客户端向与待连接的能力网关地址对应的能力网关集群发送认证请求,并根据接收的认证请求响应结果完成鉴权认证,进而使该客户端与能力网关集群中对应的能力网关地址通信连接。
本实施例提供的方法,通过获取客户端对能力网关集群的接入请求;若该接入方式为软件开发工具包接入,则获取客户端的网关订阅信息;根据该应用标识、能力标识和该网关订阅信息,确定该网关订阅信息中与该应用标识和能力标识相匹配的可用网关列表;获取能力网关集群的日志统计数据;根据该日志统计数据中每一能力网关地址的实际调用量,确定每一能力网关地址的实际调用量占比;若该能力网关地址的实际调用量占比与预设网关分组和权重公式中能力网关地址的预分配权重占比之差大于预设偏差阈值,则将该能力网关地址的实际调用量占比作为预设网关分组和权重公式中能力网关地址的预分配权重占比;根据预设网关分组和权重公式筛选该可用网关列表,得到最优能力网关地址;将该最优能力网关地址作为待连接的能力网关地址,并获取对应的权限信息;若未获取到客户端的网关订阅信息,或接入方式为非软件开发工具包接入,则根据该应用标识、能力标识和网关接入代理服务器,确定待连接的能力网关地址和权限信息;向客户端发送待连接的能力网关地址和权限信息,以使客户端与该待连接的能力网关地址对应的能力网关集群发送认证请求,以根据接收的认证请求响应结果完成鉴权认证,使该客户端与能力网关集群中对应的能力网关地址通信连接的方式,实现客户端与能力网关集群之间通过网关接入代理服务器或者直接连接这两种方式连接,从而降低高并发请求场景下网关接入代理服务器的服务压力,避免因网关接入代理服务器因意外崩溃导致全部接入请求都无法处理的弊端,提升客户端网络连接的适应性。
通过监测能力网关集群的健康状态;若该能力网关集群中存在非健康状态的能力网关,则将非健康状态的能力网关以网关订阅推送方式发送至客户端,以触发客户端删除网关订阅信息中与非健康状态的能力网关对应的能力网关地址的手段,及时将不健康的能力网关排除,提升客户端与能力网关集群的连接效率和连接稳定性。
通过监测能力网关集群的新增数据信息;若该能力网关集群中存在新增数据信息,则将该新增数据信息以网关订阅推送方式发送至客户端,以触发客户端更新网关订阅信息中与该新增数据信息对应的能力网关地址的手段,及时向客户端发送最新能力网关地址和权限信息,提升客户端与能力网关集群的连接效率。
本发明实施例可以根据上述方法示例对服务器或主控设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图4为本申请实施例提供的调度网关的结构示意图。如图4所示,该设备40包括:
获取模块401,用于获取客户端对能力网关集群的接入请求。
其中,该接入请求包括接入方式、应用标识和能力标识,该接入方式包括软件开发工具包接入和非软件开发工具包接入,该能力网关集群包括至少一个能力网关地址。
处理模块402,用于若该接入方式为软件开发工具包接入,则触发获取模块401获取客户端的网关订阅信息,并根据该应用标识、能力标识和该网关订阅信息,确定待连接的能力网关地址和权限信息。
其中,该网关订阅信息中预存储有应用标识、能力标识以及能力网关地址和权限信息的对应关系。
发送模块403,用于向客户端发送待连接的能力网关地址和权限信息,以触发客户端向与所述待连接的能力网关地址对应的能力网关集群发送认证请求,并根据接收的认证请求响应结果完成鉴权认证。
具体来说,该处理模块402具体用于根据该应用标识、能力标识和该网关订阅信息,确定待连接的能力网关地址,包括:
根据该应用标识、能力标识和该网关订阅信息,确定该网关订阅信息中与该应用标识和能力标识相匹配的可用网关列表;其中,该可用网关列表中存储有至少一个能力网关地址;
根据预设网关分组和权重公式筛选该可用网关列表,得到最优能力网关地址;
将该最优能力网关地址作为待连接的能力网关地址。
具体来说,该处理模块402具体用于根据预设网关分组和权重公式筛选该可用网关列表,得到最优能力网关地址之前,该方法还包括:
触发获取模块401获取能力网关集群的日志统计数据;其中,该日志统计数据包括每一能力网关地址的实际调用量;
该处理模块402,还用于根据该日志统计数据中每一能力网关地址的实际调用量,确定每一能力网关地址的实际调用量占比;
若该能力网关地址的实际调用量占比与预设网关分组和权重公式中能力网关地址的预分配权重占比之差大于预设偏差阈值,则将该能力网关地址的实际调用量占比作为预设网关分组和权重公式中能力网关地址的预分配权重占比。
具体来说,该处理模块402具体用于若该接入方式为软件开发工具包接入,则获取客户端的网关订阅信息之后,该方法还包括:
若未获取到客户端的网关订阅信息,则根据该应用标识、能力标识和网关接入代理服务器,确定待连接的能力网关地址和权限信息;其中,该网关接入代理服务器中预存储有应用标识、能力标识以及能力网关地址和权限信息的对应关系。
该处理模块402,还用于若该接入方式为非软件开发工具包接入,则根据该应用标识、能力标识和网关接入代理服务器,确定待连接的能力网关地址和权限信息;其中,该网关接入代理服务器中预存储有应用标识、能力标识以及能力网关地址和权限信息的对应关系。
具体来说,该处理模块402具体用于若该接入方式为软件开发工具包接入,则该方法还包括:
触发监测模块监测能力网关集群的健康状态;
该处理模块402,还用于若该能力网关集群中存在非健康状态的能力网关,则将非健康状态的能力网关以网关订阅推送方式发送至客户端,以触发客户端删除网关订阅信息中与非健康状态的能力网关对应的能力网关地址。
该处理模块402,还用于若该接入方式为软件开发工具包接入,则该方法还包括:
触发监测模块监测能力网关集群的新增数据信息;
其中,该新增数据信息包括新增网关注册信息和/或网关变更信息;
具体来说,该处理模块402具体用于若该能力网关集群中存在新增数据信息,则将该新增数据信息以网关订阅推送方式发送至客户端,以触发客户端更新网关订阅信息中与该新增数据信息对应的能力网关地址;其中,该更新网关订阅信息包括根据新增网关注册信息在网关订阅信息中新增能力网关地址和权限信息,和/或,根据网关变更信息在网关订阅信息中变更能力网关地址和权限信息。
本实施例提供的调度网关,可执行上述实施例的多网关调度处理方法,其实现原理和技术效果类似,本实施例此处不再赘述。
在前述的调度网关的具体实现中,各模块可以被实现为处理器,处理器可以执行存储器中存储的计算机执行指令,使得处理器执行上述的多网关调度处理方法。
图5为本申请实施例提供的服务器的硬件结构示意图。如图5所示,该服务器50包括:至少一个处理器501和存储器502。该服务器50还包括通信部件503。其中,处理器501、存储器502以及通信部件503通过总线504连接。
在具体实现过程中,至少一个处理器501执行该存储器502存储的计算机执行指令,使得至少一个处理器501执行如上服务器侧所执行的多网关调度处理方法。
处理器501的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述实施例中,应理解,处理器可以是中央处理单元(英文:CentralProcessing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:DigitalSignal Processor,简称:DSP)、专用集成电路(英文:Application Specific IntegratedCircuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述针对服务器以及主控设备所实现的功能,对本发明实施例提供的方案进行了介绍。可以理解的是,服务器或主控设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,本发明实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的技术方案的范围。
图6为本申请实施例提供的多网关集群协同系统组成和数据流向示意图。如图6所示,该网关集群协同系统,包括:客户端601、调度网关602以及能力网关集群603;该调度网关602分别与该客户端601和能力网关集群603通信连接;该调度网关602用于实现多网关调度处理的方法。
其中,客户端601包括无软件开发工具包单元和软件开发工具包单元,其中,软件开发工具包单元内又包含网关调用、网关订阅和错误反馈模块;调度网关602包括网关接入代理服务器和网关接入应用程序编程接口服务器;能力网关集群603包括能力网关集群A、能力网关集群B、能力网关集群C等多个能力网关集群。
根据多网关调度处理的方法,接入请求在客户端601的无软件开发工具包单元处只能通过调度网关602内的网关接入代理服务器再转发给能力网关集群603内的各能力网关;而接入请求在客户端601的软件开发工具包单元中除了可以通过调度网关602内的网关接入代理服务器再转发给能力网关集群603内的各能力网关以外,还可以利用网管订阅模块从网关接入应用程序编程接口服务器中获取待连接的能力网关地址和权限信息,然后根据该待连接的能力网关地址和权限信息利用网关调用模块直接连接能力网关集群603内对应的能力网关。
在具体应用中,客户端设置的软件开发工具包包含客户端工具集合,若客户端为java系统则以jar包形式提供,若客户端程序是python,则提供python库。软件开发工具包的功能流程包括初始化、认证和请求调用功能。
其中,初始化是与调度网关建立连接,以发送订阅请求,建立客户端与调度网关之间相互通信的订阅/推送机制;认证是携带客户端的请求信息,向能力网关集群发送认证请求,以完成连接前的鉴权操作;请求调用功能则是向完成鉴权认证的能力网关发送业务请求,且当网关有异常时,可以向调度网关上报异常信息。
在调度网关中配置如下表1所示的数据模型,以实现调度服务管理客户端的功能。
表1
/>
本申请还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,当处理器执行该计算机执行指令时,实现如上多网关调度处理方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于服务器或主控设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (11)

1.一种多网关调度处理方法,其特征在于,包括:
获取客户端对能力网关集群的接入请求;其中,所述接入请求包括接入方式、应用标识和能力标识,所述接入方式包括软件开发工具包接入和非软件开发工具包接入,所述能力网关集群包括至少一个能力网关地址;
若所述接入方式为软件开发工具包接入,则获取客户端的网关订阅信息,并根据所述应用标识、能力标识和所述网关订阅信息,确定待连接的能力网关地址和权限信息;其中,所述网关订阅信息中预存储有应用标识、能力标识以及能力网关地址和权限信息的对应关系;
向客户端发送待连接的能力网关地址和权限信息,以使客户端向与所述待连接的能力网关地址对应的能力网关集群发送认证请求,并根据接收的认证请求响应结果完成鉴权认证。
2.根据权利要求1所述的方法,其特征在于,所述根据所述应用标识、能力标识和所述网关订阅信息,确定待连接的能力网关地址,包括:
根据所述应用标识、能力标识和所述网关订阅信息,确定所述网关订阅信息中与所述应用标识和能力标识相匹配的可用网关列表;其中,所述可用网关列表中存储有至少一个能力网关地址;
根据预设网关分组和权重公式筛选所述可用网关列表,得到最优能力网关地址;
将所述最优能力网关地址作为待连接的能力网关地址。
3.根据权利要求2所述的方法,其特征在于,所述根据预设网关分组和权重公式筛选所述可用网关列表,得到最优能力网关地址之前,所述方法还包括:
获取能力网关集群的日志统计数据;其中,所述日志统计数据包括每一能力网关地址的实际调用量;
根据所述日志统计数据中每一能力网关地址的实际调用量,确定每一能力网关地址的实际调用量占比;
若所述能力网关地址的实际调用量占比与预设网关分组和权重公式中能力网关地址的预分配权重占比之差大于预设偏差阈值,则将所述能力网关地址的实际调用量占比作为预设网关分组和权重公式中能力网关地址的预分配权重占比。
4.根据权利要求1所述的方法,其特征在于,所述若所述接入方式为软件开发工具包接入,则获取客户端的网关订阅信息之后,所述方法还包括:
若未获取到客户端的网关订阅信息,则根据所述应用标识、能力标识和网关接入代理服务器,确定待连接的能力网关地址和权限信息;其中,所述网关接入代理服务器中预存储有应用标识、能力标识以及能力网关地址和权限信息的对应关系。
5.根据权利要求1所述的方法,其特征在于,还包括:
若所述接入方式为非软件开发工具包接入,则根据所述应用标识、能力标识和网关接入代理服务器,确定待连接的能力网关地址和权限信息;其中,所述网关接入代理服务器中预存储有应用标识、能力标识以及能力网关地址和权限信息的对应关系。
6.根据权利要求1所述的方法,其特征在于,若所述接入方式为软件开发工具包接入,则所述方法还包括:
监测能力网关集群的健康状态;
若所述能力网关集群中存在非健康状态的能力网关,则将非健康状态的能力网关以网关订阅推送方式发送至客户端,以触发客户端删除网关订阅信息中与非健康状态的能力网关对应的能力网关地址。
7.根据权利要求1所述的方法,其特征在于,若所述接入方式为软件开发工具包接入,则所述方法还包括:
监测能力网关集群的新增数据信息;其中,所述新增数据信息包括新增网关注册信息和/或网关变更信息;
若所述能力网关集群中存在新增数据信息,则将所述新增数据信息以网关订阅推送方式发送至客户端,以触发客户端更新网关订阅信息中与所述新增数据信息对应的能力网关地址;其中,所述更新网关订阅信息包括根据新增网关注册信息在网关订阅信息中新增能力网关地址和权限信息,和/或,根据网关变更信息在网关订阅信息中变更能力网关地址和权限信息。
8.一种调度网关,其特征在于,包括:
获取模块,用于获取客户端对能力网关集群的接入请求;其中,所述接入请求包括接入方式、应用标识和能力标识,所述接入方式包括软件开发工具包接入和非软件开发工具包接入,所述能力网关集群包括至少一个能力网关地址;
处理模块,用于若所述接入方式为软件开发工具包接入,则触发获取模块获取客户端的网关订阅信息,并根据所述应用标识、能力标识和所述网关订阅信息,确定待连接的能力网关地址和权限信息;其中,所述网关订阅信息中预存储有应用标识、能力标识以及能力网关地址和权限信息的对应关系;
发送模块,用于向客户端发送待连接的能力网关地址和权限信息,以使客户端向与所述待连接的能力网关地址对应的能力网关集群发送认证请求,并根据接收的认证请求响应结果完成鉴权认证。
9.一种服务器,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至7中任一项所述的方法。
10.一种多网关集群协同系统,其特征在于,包括:客户端、调度网关以及能力网关集群;所述调度网关分别与所述客户端和能力网关集群通信连接;所述调度网关用于实现如权利要求1至7中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至7任一项所述的方法。
CN202310821976.4A 2023-07-05 2023-07-05 多网关调度处理方法、设备、系统、服务器及存储介质 Pending CN117014189A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310821976.4A CN117014189A (zh) 2023-07-05 2023-07-05 多网关调度处理方法、设备、系统、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310821976.4A CN117014189A (zh) 2023-07-05 2023-07-05 多网关调度处理方法、设备、系统、服务器及存储介质

Publications (1)

Publication Number Publication Date
CN117014189A true CN117014189A (zh) 2023-11-07

Family

ID=88571949

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310821976.4A Pending CN117014189A (zh) 2023-07-05 2023-07-05 多网关调度处理方法、设备、系统、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN117014189A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117978809A (zh) * 2024-04-01 2024-05-03 深圳竹云科技股份有限公司 网关节点推荐方法、装置、计算机设备和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117978809A (zh) * 2024-04-01 2024-05-03 深圳竹云科技股份有限公司 网关节点推荐方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
US20200029110A1 (en) Bandwidth Control Method and Apparatus, and Device
CN109618002B (zh) 一种微服务网关优化方法、装置及存储介质
EP3734913A1 (en) Communication method and communication apparatus
CN104168333B (zh) Proxzone服务平台的工作方法
US20050235000A1 (en) Aaa server system for efficient control and address assignment
US20230018257A1 (en) Alias management method and device
CN112118315A (zh) 数据处理系统、方法、装置、电子设备和存储介质
EP3291592B1 (en) Monitoring management method and apparatus
CN117014189A (zh) 多网关调度处理方法、设备、系统、服务器及存储介质
CN112953840A (zh) 一种限流控制方法、网关设备及限流控制系统
CN105554142B (zh) 消息推送的方法、装置及系统
CN102045321A (zh) 软件下载的流量控制方法及流量控制系统
KR101028298B1 (ko) 통신 네트워크에서 데이터 처리 장치를 분배하는 방법 및 시스템
CN110417905B (zh) 一种合约发布方法、装置、设备和联盟链系统
CN109413117B (zh) 分布式数据计算方法、装置、服务器及计算机存储介质
CN115102999B (zh) DevOps系统、服务提供方法、存储介质和电子装置
CN115242718B (zh) 集群限流方法、装置、设备及介质
CN116389385A (zh) 一种系统资源处理方法、装置、存储介质及设备
CN113660353B (zh) 基于蓝牙Mesh的Provisioner地址管理的方法、装置、设备和介质
CN116567094A (zh) 一种基于微服务系统的服务信息处理方法
CN108199882B (zh) 分布式数据库的节点分配方法、装置、储存介质和设备
CN114173396B (zh) 终端联网时间的确定方法和装置、电子设备和存储介质
CN110995890B (zh) 域名请求的调度方法及装置
CN108156002B (zh) 信息处理方法、装置及系统
CN113645478B (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