CN115529314A - 一种基于Netty服务器集群的通讯方法 - Google Patents
一种基于Netty服务器集群的通讯方法 Download PDFInfo
- Publication number
- CN115529314A CN115529314A CN202211141341.1A CN202211141341A CN115529314A CN 115529314 A CN115529314 A CN 115529314A CN 202211141341 A CN202211141341 A CN 202211141341A CN 115529314 A CN115529314 A CN 115529314A
- Authority
- CN
- China
- Prior art keywords
- terminal equipment
- terminal
- netty server
- target
- netty
- 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
Links
- 238000004891 communication Methods 0.000 title claims abstract description 108
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012795 verification Methods 0.000 claims abstract description 74
- 230000004044 response Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
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)
- Telephonic Communication Services (AREA)
Abstract
本申请提供了一种基于Netty服务器集群的通讯方法,包括:负载均衡组件将接收到的终端设备发送的通讯请求转发至目标Netty服务器;目标Netty服务器创建与终端设备之间的通讯连接通道并生成当前终端连接信息;终端设备向负载均衡组件发送登录认证请求;负载均衡组件将登录认证请求通过通讯连接通道转发至目标Netty服务器;目标Netty服务器,通过RPC调用方式将接收到的登录认证请求传送至业务服务进行验证,并接收第一验证结果;目标Netty服务器对第一验证结果进行判断,以完成对终端连接信息的更新。本申请通过将单机Netty服务器以集群化的方式进行部署,解决单机Netty服务器连接终端数量的限制。
Description
技术领域
本申请涉及数据通讯技术领域,尤其涉及一种基于Netty服务器集群的通讯方法。
背景技术
Netty是由JBOSS提供的一个java开源框架,Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。
随着业务的不断发展,终端数量不断提升,单机Netty服务器所能承载的终端连接有限,无法满足大量终端的连接需求。
发明内容
有鉴于此,本申请的目的在于至少提供一种基于Netty服务器集群的通讯方法,通过将单机Netty服务器以集群化的方式进行部署,解决单机Netty服务器连接终端数量的限制。
本申请主要包括以下几个方面:
第一方面,本申请实施例提供一种基于Netty服务器集群的通讯方法,Netty服务器集群包括多个Netty服务器、负载均衡组件和缓存中间件,方法包括:
负载均衡组件根据预设负载均衡策略,将接收到的终端设备发送的通讯请求转发至目标Netty服务器;目标Netty服务器,创建与终端设备之间的通讯连接通道并生成对应的当前终端连接信息;终端设备响应于通讯连接触发事件,向负载均衡组件发送登录认证请求,并由负载均衡组件将登录认证请求通过通讯连接通道转发至目标Netty服务器;目标Netty服务器,通过RPC调用方式将登录认证请求传送至业务服务进行验证,并接收业务服务反馈的登录认证请求的第一验证结果;目标Netty服务器对第一验证结果进行判断,若第一验证结果为验证成功,则将当前终端连接信息发送至缓存中间件,以完成对终端设备对应的终端连接信息的更新。
在一种可能的实施方式中,登录认证请求携带终端设备的身份信息,第一验证结果还包括验证失败,其中,业务服务通过以下方式确定第一验证结果:根据终端设备的身份信息,判断是否存在该终端设备的注册信息;若存在该终端设备的注册信息,则第一验证结果为验证成功;若不存在该终端设备的注册信息,则第一验证结果为验证失败。
在一种可能的实施方式中,当前终端连接信息包括终端设备的当前连接对象和终端设备标识,其中,缓存中间件通过以下方式完成对终端设备对应的终端连接信息的更新:根据终端设备标识判断是否存在终端设备对应的历史终端连接信息;若不存在终端设备对应的历史终端连接信息,则保存当前终端连接信息,以完成对终端设备对应的终端连接信息的更新;若存在终端设备对应的历史终端连接信息,则判断终端设备对应的当前连接对象与历史终端连接信息所指示的终端设备的历史连接对象是否相同;若终端设备对应的当前连接对象与历史连接对象不相同,则使用当前连接终端连接信息替换历史终端连接信息,以完成对终端设备对应的终端连接信息的更新。
在一种可能的实施方式中,Netty服务器集群还包括消息中间件,其中,方法还包括:业务服务生成针对目标终端设备的消息指令,并将消息指令发布到消息中间件进行广播,消息指令携带终端设备标识和控制指令;各Netty服务器从消息中间件订阅消息指令;针对每个Netty服务器,判断该Netty服务器是否存在与终端设备标识对应的通讯连接通道;针对每个Netty服务器,若该Netty服务器存在与终端设备标识对应的通讯连接通道,则将控制指令通过对应的通讯连接通道下发至目标终端设备。
在一种可能的实施方式中,每个Netty服务器通过以下方式判断是否存在与终端设备标识对应的通讯连接通道:根据终端设备标识从缓存中间件中提取与该终端设备标识对应的终端连接信息;若能够从缓存中间件中提取出与该终端设备标识对应的终端连接信息,则确定该Netty服务器存在与终端设备标识对应的通讯连接通道;若不能从缓存中间件中提取出与该终端设备标识对应的终端连接信息,则确定该Netty服务器不存在与终端设备标识对应的通讯连接通道。
在一种可能的实施方式中,方法还包括:业务服务生成针对终端设备的消息指令,并将消息指令发送到缓存中间件,消息指令携带终端设备标识和控制指令;缓存中间件,判断是否存在与终端设备标识对应的通讯连接通道,若存在与终端设备标识对应的通讯连接通道,则将控制指令发送到通讯连接通道所指示的目标Netty服务器;目标Netty服务器通过通讯连接通道将控制指令下发至对应的终端设备。
在一种可能的实施方式中,方法还包括:终端设备生成业务请求,并将业务请求通过对应的通讯连接通道发送至与该终端设备相连接的目标Netty服务器,业务请求携带业务验证信息;目标Netty服务器通过RPC调用方式将业务请求发送至业务服务;业务服务对业务验证信息进行验证,并生成第二验证结果,通过RPC调用方式反馈至目标Netty服务器;业务服务对第二验证结果进行判断,若第二验证结果为验证成功,则生成与业务请求对应的业务响应,并发送到消息中间件进行广播,业务响应中携带该终端设备对应的终端设备标识。
第二方面,本申请实施例还提供一种基于Netty服务器集群,Netty服务器集群包括多个Netty服务器、负载均衡组件、缓存中间件和多个业务服务,负载均衡组件根据预设负载均衡策略,将接收到的终端设备发送的通讯请求转发至目标Netty服务器;所述目标Netty服务器,创建与终端设备之间的通讯连接通道并生成对应的当前终端连接信息;终端设备响应于通讯连接触发事件,向负载均衡组件发送登录认证请求,并由负载均衡组件将所述登录认证请求通过所述通讯连接通道转发至目标Netty服务器;所述目标Netty服务器,通过RPC调用方式将所述登录认证请求传送至业务服务进行验证,并接收业务服务反馈的所述登录认证请求的第一验证结果;所述目标Netty服务器对所述第一验证结果进行判断,若所述第一验证结果为验证成功,则将所述当前终端连接信息发送至缓存中间件,以完成对终端设备对应的终端连接信息的更新。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行上述第一方面或第一方面中任一种可能的实施方式中所述的通讯方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面或第一方面中任一种可能的实施方式中所述的通讯的步骤。
本申请提供了一种基于Netty服务器集群的通讯方法,包括:负载均衡组件根据预设负载均衡策略,将接收到的终端设备发送的通讯请求转发至目标Netty服务器;目标Netty服务器创建与终端设备之间的通讯连接通道并生成对应的当前终端连接信息;终端设备响应于通讯连接触发事件,向负载均衡组件发送登录认证请求;负载均衡组件将登录认证请求通过通讯连接通道转发至目标Netty服务器;目标Netty服务器,通过RPC调用方式将接收到的登录认证请求传送至业务服务进行验证,并接收第一验证结果;目标Netty服务器对第一验证结果进行判断,以完成对终端设备对应的终端连接信息的更新。本申请通过将单机Netty服务器以集群化的方式进行部署,解决单机Netty服务器连接终端数量的限制。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种基于Netty服务器集群的通讯方法的流程图;
图2示出了本申请实施例所提供的一种Netty服务器集群的结构示意图;
图3示出了本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中的附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应当理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的全部其他实施例,都属于本申请保护的范围。
随着通讯业务的不断发展,终端数量不断提升,单机Netty服务器所能承载的终端连接有限,无法满足大量终端的连接需求。
基于此,本申请实施例提供了一种基于Netty服务器集群的通讯方法,通过将单机Netty服务器以集群化的方式进行部署,解决单机Netty服务器连接终端数量的限制,具体如下:
请参阅图1,图1示出了本申请实施例所提供的一种基于Netty服务器集群的通讯方法的流程图。请参阅图2,图2示出了本申请实施例所提供的一种Netty服务器集群的结构示意图,如图1和图2所示,Netty服务器集群包括多个Netty服务器10、负载均衡组件20和缓存中间件30,本申请实施例提供的方法,包括以下步骤:
S100、负载均衡组件根据预设负载均衡策略,将接收到的终端设备发送的通讯请求转发至目标Netty服务器。
在一优选实施例中,如图2所示,多个终端设备40均可以向负载均衡组件发送通讯请求,终端设备40可以为充电桩,负载均衡组件20可以作为Netty服务器集群提供的统一对外接口,针对每个终端设备40,在其并未与Netty服务器集群建立连接之前,可以通过预先设置的负载均衡组件20的地址与负载均衡组件20建立连接,以向负载均衡组件20发送建立通讯连接的通讯请求。
负载均衡组件20在接收到终端设备40发送的通讯请求后,可以从多个Netty服务器10中,根据预先设置的负载均衡策略,选择一个目标Netty服务器使之与终端设备40建立通讯连接,并将通讯请求转发至目标Netty服务器,其中,通讯请求携带终端设备的身份信息,包括但不限于终端设备设备编号、终端设备标识,通讯请求还携带有终端设备40的终端设备标识、终端设备IP地址和终端设备端口号。
S110、目标Netty服务器创建与终端设备之间的通讯连接通道并生成对应的当前终端连接信息。
在一优选实施例中,当负载均衡组件20为终端设备40分配到目标Netty服务器后,目标Netty服务器会建立与终端设备40进行通讯的通讯连接通道,通讯连接通道建立完成后,会生成对应的当前终端连接信息,当前终端连接信息包括但不限于终端设备标识、通讯连接通道标识,终端设备IP地址和终端设备端口号、终端设备40所连接的Netty服务器IP地址和Netty服务器端口号。
S120、终端设备响应于通讯连接触发事件,向负载均衡组件发送登录认证请求,并由负载均衡组件将登录认证请求通过通讯连接通道转发至目标Netty服务器。
在一具体实施例中,当目标Netty服务器与终端设备40之间的通讯连接通道创建完成后,会在终端设备40生成通讯连接触发事件,终端设备40响应于通讯连接触发事件,会直接向负载均衡组件20发送登录认证请求,以对目标Netty服务器与终端设备40之间的通讯连接通道进行认证,其中,登录认证请求中携带终端设备40的身份信息。
S130、目标Netty服务器,通过RPC调用方式将登录认证请求传送至业务服务进行验证,并接收业务服务反馈的登录认证请求的第一验证结果。
具体的,如图2所示的业务服务50可以为与各终端设备40进行数据传输的终端设备管理平台。
在一优选实施例中,第一验证结果还包括验证失败,其中,业务服务50可以通过以下方式确定第一验证结果:
根据终端设备40的身份信息,判断是否存在该终端设备40的注册信息,若存在终端设备40的注册信息,则第一验证结果为验证成功,若不存在终端设备40的注册信息,则第一验证结果为验证失败。
具体的,在终端设备40与目标Netty服务器之间的通讯连接通道创建完成后,需要对通讯连接通道进行认证,即判断业务服务50是否存在终端设备40的注册信息,每个终端设备40在业务服务50上完成注册后,会生成对应的注册信息并添加终端设备40对应的身份信息,例如终端设备标识,此时,用户可以通过终端设备标识锁定对应的注册信息。
在一具体实施例中,终端设备40需要先在业务服务50完成终端设备信息的注册,只有在业务服务50完成注册的终端设备40,其对应的通讯连接通道才能够进行后续的数据传输。
S140、目标Netty服务器对第一验证结果进行判断,若第一验证结果为验证成功,则将当前终端连接信息发送至缓存中间件,以完成对终端设备对应的终端连接信息的更新。
在一优选实施例中,其中,缓存中间件30用于记录各Netty服务器所建立的通讯连接通道的终端连接信息,缓存中间件30提供有一对外接口,多个Netty服务器10均可以通过tcp连接方式连接到缓存中间件30提供的对外接口,以与缓存中间件30进行数据缓存与交互,各Netty服务器功能相同,共享缓存中间件30。
在一具体实施例中,在缓存中间件30中,可以以固定前缀加终端设备标识或终端设备编号为键,以终端连接信息的JSON形式为值,以键值对的形式对终端连接信息进行记录,且同一Netty服务器对应的终端连接信息被存储在同一数据组中,并添加对应的Netty服务器标识。
当前终端连接信息还包括终端设备的当前连接对象,当前连接对象即终端设备所连接的Netty服务器。
在一具体实施例中,终端设备40始终只能与一个Netty服务器10建立通讯连接通道,因此,需要在缓存中间件30完成对通讯连接通道对应的终端连接信息进行更新,只有被缓存中间件30所保存的终端连接信息对应的通讯连接通道才能进行后续的数据传输,具体的,缓存中间件30通过以下方式完成对终端设备40对应的终端连接信息的更新:
根据终端设备标识判断是否存在终端设备对应的历史终端连接信息,若不存在终端设备对应的历史终端连接信息,则保存当前终端连接信息,以完成对终端设备对应的终端连接信息的更新,若存在终端设备对应的历史终端连接信息,则判断终端设备对应的当前连接对象与历史终端连接信息所指示的终端设备的历史连接对象是否相同,若终端设备对应的当前连接对象与历史连接对象不相同,则使用当前连接终端连接信息替换历史终端连接信息,以完成对终端设备对应的终端连接信息的更新。
若终端设备对应的当前连接对象与历史连接对象相同,则判断当前终端连接信息与历史终端连接信息中,除连接对象之外的其它信息是否一致,若除连接对象之外的其它信息任意一项不一致,则使用当前终端连接信息对历史终端连接信息进行替换,以完成对终端设备对应的终端连接信息的更新,若除连接对象之外的其它信息全部一致,则不对当前终端连接信息进行进一步处理。
如图2所示,Netty服务器集群还包括消息中间件60,各Netty服务器10均通过消息中间件60提供的对外接口共同连接至同一消息中间件60。
其中,在每个终端设备与Netty服务器集群之间的通讯连接通道创建完成后,方法还包括:
业务服务50生成针对目标终端设备的消息指令,并将消息指令发布到消息中间件60进行广播,各Netty服务器10从消息中间件60订阅消息指令;针对每个Netty服务器10,判断该Netty服务器10是否存在与终端设备标识对应的通讯连接通道,若该Netty服务器10存在与终端设备标识对应的通讯连接通道,则将控制指令通过对应的通讯连接通道下发至目标终端设备。
在一优选实施例中,消息指令携带终端设备标识和控制指令,业务服务50在需要下发控制指令到某个特定终端设备的时候只需将消息指令发布到消息中间件60进行广播。
由业务服务50向消息中间件60发布消息指令,针对每个netty服务器10,在订阅接收消息指令后判断消息指令所指示的目标终端设备40是否与自身建立连接,即是否存在目标终端设备与自身之间连接的通讯连接通道,若目标终端设备40与自身建立连接,则将控制指令通过对应的通讯连接通道下发至目标终端设备,若目标终端设备40与自身未建立连接,则忽略该广播消息。
在一优选实施例中,每个Netty服务器通过以下方式判断是否存在与终端设备标识对应的通讯连接通道:
根据终端设备标识从缓存中间件中提取与该终端设备标识对应的终端连接信息,若能够从缓存中间件中提取出与该终端设备标识对应的终端连接信息,则确定该Netty服务器存在与终端设备标识对应的通讯连接通道,若不能从缓存中间件中提取出与该终端设备标识对应的终端连接信息,则确定该Netty服务器不存在与终端设备标识对应的通讯连接通道。
在一具体实施例中,由于各Netty服务器所创建的通讯连接通道对应的终端连接信息都被缓存至缓存中间件,因此,每个Netty服务器需要根据自身对应的Netty服务器从缓存中间件中提取对应的数据,并判断数据中是否存在与终端设备标识对应的通讯连接通道。
在另一优选实施例中,业务服务还可以通过以下方式与终端设备进行通讯:
业务服务50生成针对目标终端设备的消息指令,并将消息指令发送到缓存中间件,缓存中间件判断是否存在与终端设备标识对应的通讯连接通道,若存在与终端设备标识对应的通讯连接通道,则将控制指令发送到通讯连接通道所指示的目标Netty服务器,目标Netty服务器通过通讯连接通道将控制指令下发至目标终端设备。
具体的,业务服务在生成对应的消息指令后,可以将消息指令发布到消息中间件进行广播,也可以直接发送至缓存中间件,由缓存中间件转发至具体的目标Netty服务器,两种方式择一即可。
在另一优选实施例中,方法还包括:
终端设备生成业务请求,并将业务请求通过对应的通讯连接通道发送至与该终端设备相连接的目标Netty服务器,目标Netty服务器通过RPC调用方式将业务请求发送至业务服务,目标业务服务对业务验证信息进行验证,并生成第二验证结果,通过RPC调用方式反馈至目标Netty服务器,所述业务服务对第二验证结果进行判断,若第二验证结果为验证成功,则生成与业务请求对应的业务响应,并发送到消息中间件进行广播,业务响应中携带该终端设备对应的终端设备标识。
具体的,业务请求携带业务验证信息,当终端设备向业务服务发起针对目标业务的业务请求时,需要先对业务请求进行验证,即验证业务请求是否满足开启目标业务的预设条件,例如,目标业务为使用会员卡进行付款,则业务请求会携带会员卡***,业务服务会验证该会员卡***是否预先注册过,若预先注册过,则验证成功,若未注册过,则验证失败。
只有第二验证结果为验证成功,业务服务才会基于终端设备对应的业务响应,即将业务响应通过上述任一实施例的方式发送到终端设备,以便于终端设备进行后续操作。
若第二验证结果为验证失败,则忽略业务请求。
基于同一申请构思,请参阅图3,图3示出了本申请实施例提供的一种电子设备的结构示意图,电子设备200包括:处理器210、存储器220和总线230,所述存储器220存储有所述处理器210可执行的机器可读指令,当电子设备200运行时,所述处理器210与所述存储器220之间通过所述总线230进行通信,所述机器可读指令被所述处理器210运行时执行如上述实施例中任一所述的通讯方法的步骤。
基于同一申请构思,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述实施例提供的通讯方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应所述理解到,所揭露的***、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-ONly Memory,ROM)、随机存取存储器(RaNdom Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于Netty服务器集群的通讯方法,其特征在于,所述Netty服务器集群包括多个Netty服务器、负载均衡组件和缓存中间件,
所述方法包括:
负载均衡组件根据预设负载均衡策略,将接收到的终端设备发送的通讯请求转发至目标Netty服务器;
所述目标Netty服务器,创建与终端设备之间的通讯连接通道并生成对应的当前终端连接信息;
终端设备响应于通讯连接触发事件,向负载均衡组件发送登录认证请求,并由负载均衡组件将所述登录认证请求通过所述通讯连接通道转发至目标Netty服务器;
所述目标Netty服务器,通过RPC调用方式将所述登录认证请求传送至业务服务进行验证,并接收业务服务反馈的所述登录认证请求的第一验证结果;
所述目标Netty服务器对所述第一验证结果进行判断,若所述第一验证结果为验证成功,则将所述当前终端连接信息发送至缓存中间件,以完成对终端设备对应的终端连接信息的更新。
2.根据权利要求1所述的方法,其特征在于,所述登录认证请求携带终端设备的身份信息,所述第一验证结果还包括验证失败,
其中,所述业务服务通过以下方式确定所述第一验证结果:
根据终端设备的身份信息,判断是否存在该终端设备的注册信息;
若存在该终端设备的注册信息,则所述第一验证结果为验证成功;
若不存在该终端设备的注册信息,则所述第一验证结果为验证失败。
3.根据权利要求1所述的方法,其特征在于,所述当前终端连接信息包括终端设备的当前连接对象和终端设备标识,
其中,所述缓存中间件通过以下方式完成对终端设备对应的终端连接信息的更新:
根据终端设备标识判断是否存在终端设备对应的历史终端连接信息;
若不存在终端设备对应的历史终端连接信息,则保存当前终端连接信息,以完成对终端设备对应的终端连接信息的更新;
若存在终端设备对应的历史终端连接信息,则判断终端设备对应的当前连接对象与历史终端连接信息所指示的终端设备的历史连接对象是否相同;
若终端设备对应的当前连接对象与历史连接对象不相同,则使用当前连接终端连接信息替换历史终端连接信息,以完成对终端设备对应的终端连接信息的更新。
4.根据权利要求1所述的方法,其特征在于,所述Netty服务器集群还包括消息中间件,
其中,所述方法还包括:
业务服务生成针对目标终端设备的消息指令,并将所述消息指令发布到所述消息中间件进行广播,所述消息指令携带终端设备标识和控制指令;
各Netty服务器从消息中间件订阅所述消息指令;
针对每个Netty服务器,判断该Netty服务器是否存在与所述终端设备标识对应的通讯连接通道;
针对每个Netty服务器,若该Netty服务器存在与所述终端设备标识对应的通讯连接通道,则将所述控制指令通过对应的通讯连接通道下发至所述目标终端设备。
5.根据权利要求4所述的方法,其特征在于,每个Netty服务器通过以下方式判断是否存在与所述终端设备标识对应的通讯连接通道:
根据所述终端设备标识从缓存中间件中提取与该终端设备标识对应的终端连接信息;
若能够从缓存中间件中提取出与该终端设备标识对应的终端连接信息,则确定该Netty服务器存在与所述终端设备标识对应的通讯连接通道;
若不能从缓存中间件中提取出与该终端设备标识对应的终端连接信息,则确定该Netty服务器不存在与所述终端设备标识对应的通讯连接通道。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述业务服务生成针对终端设备的消息指令,并将所述消息指令发送到缓存中间件,所述消息指令携带终端设备标识和控制指令;
所述缓存中间件,判断是否存在与所述终端设备标识对应的通讯连接通道,若存在与所述终端设备标识对应的通讯连接通道,则将所述控制指令发送到所述通讯连接通道所指示的目标Netty服务器;
所述目标Netty服务器通过所述通讯连接通道将所述控制指令下发至对应的终端设备。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述终端设备生成业务请求,并将所述业务请求通过对应的通讯连接通道发送至与该终端设备相连接的目标Netty服务器,所述业务请求携带业务验证信息;
所述目标Netty服务器通过RPC调用方式将所述业务请求发送至业务服务;
所述业务服务对所述业务验证信息进行验证,并生成第二验证结果,通过RPC调用方式反馈至目标Netty服务器;
所述业务服务对第二验证结果进行判断,若所述第二验证结果为验证成功,则生成与所述业务请求对应的业务响应,并发送到消息中间件进行广播,所述业务响应中携带该终端设备对应的终端设备标识。
8.一种基于Netty服务器集群,其特征在于,所述Netty服务器集群包括多个Netty服务器、负载均衡组件、缓存中间件和多个业务服务,
负载均衡组件根据预设负载均衡策略,将接收到的终端设备发送的通讯请求转发至目标Netty服务器;
所述目标Netty服务器,创建与终端设备之间的通讯连接通道并生成对应的当前终端连接信息;
终端设备响应于通讯连接触发事件,向负载均衡组件发送登录认证请求,并由负载均衡组件将所述登录认证请求通过所述通讯连接通道转发至目标Netty服务器;
所述目标Netty服务器,通过RPC调用方式将所述登录认证请求传送至业务服务进行验证,并接收业务服务反馈的所述登录认证请求的第一验证结果;
所述目标Netty服务器对所述第一验证结果进行判断,若所述第一验证结果为验证成功,则将所述当前终端连接信息发送至缓存中间件,以完成对终端设备对应的终端连接信息的更新。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行如权利要求1至7任一所述的通讯方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述的通讯方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211141341.1A CN115529314A (zh) | 2022-09-20 | 2022-09-20 | 一种基于Netty服务器集群的通讯方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211141341.1A CN115529314A (zh) | 2022-09-20 | 2022-09-20 | 一种基于Netty服务器集群的通讯方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115529314A true CN115529314A (zh) | 2022-12-27 |
Family
ID=84698541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211141341.1A Pending CN115529314A (zh) | 2022-09-20 | 2022-09-20 | 一种基于Netty服务器集群的通讯方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115529314A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107222460A (zh) * | 2017-05-03 | 2017-09-29 | 飞天诚信科技股份有限公司 | 一种服务器数据存储空间共享的方法及装置 |
US20170295175A1 (en) * | 2015-04-17 | 2017-10-12 | Tencent Technology (Shenzhen) Company Limited | Authentication method and device |
CN108650262A (zh) * | 2018-05-09 | 2018-10-12 | 聚龙股份有限公司 | 一种基于微服务架构的云平台扩展方法及*** |
CN109547458A (zh) * | 2018-12-10 | 2019-03-29 | 平安科技(深圳)有限公司 | 登录验证方法、装置、计算机设备及存储介质 |
CN110247917A (zh) * | 2019-06-20 | 2019-09-17 | 北京百度网讯科技有限公司 | 用于认证身份的方法和装置 |
CN112738021A (zh) * | 2020-12-02 | 2021-04-30 | 海能达通信股份有限公司 | 单点登录方法、终端、应用服务器、认证服务器及介质 |
CN113055367A (zh) * | 2021-03-08 | 2021-06-29 | 浪潮云信息技术股份公司 | 一种微服务网关鉴权的实现方法及*** |
CN113783695A (zh) * | 2021-08-03 | 2021-12-10 | 西北大学 | 一种微服务架构的客户端信息认证方法及*** |
CN114024972A (zh) * | 2021-10-28 | 2022-02-08 | 平安科技(深圳)有限公司 | 一种长连接通信方法、***、装置、设备及存储介质 |
CN114915656A (zh) * | 2021-12-29 | 2022-08-16 | 南京四维智联科技有限公司 | 一种车联网终端接入方法、装置、存储介质及电子设备 |
-
2022
- 2022-09-20 CN CN202211141341.1A patent/CN115529314A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170295175A1 (en) * | 2015-04-17 | 2017-10-12 | Tencent Technology (Shenzhen) Company Limited | Authentication method and device |
CN107222460A (zh) * | 2017-05-03 | 2017-09-29 | 飞天诚信科技股份有限公司 | 一种服务器数据存储空间共享的方法及装置 |
CN108650262A (zh) * | 2018-05-09 | 2018-10-12 | 聚龙股份有限公司 | 一种基于微服务架构的云平台扩展方法及*** |
CN109547458A (zh) * | 2018-12-10 | 2019-03-29 | 平安科技(深圳)有限公司 | 登录验证方法、装置、计算机设备及存储介质 |
CN110247917A (zh) * | 2019-06-20 | 2019-09-17 | 北京百度网讯科技有限公司 | 用于认证身份的方法和装置 |
CN112738021A (zh) * | 2020-12-02 | 2021-04-30 | 海能达通信股份有限公司 | 单点登录方法、终端、应用服务器、认证服务器及介质 |
CN113055367A (zh) * | 2021-03-08 | 2021-06-29 | 浪潮云信息技术股份公司 | 一种微服务网关鉴权的实现方法及*** |
CN113783695A (zh) * | 2021-08-03 | 2021-12-10 | 西北大学 | 一种微服务架构的客户端信息认证方法及*** |
CN114024972A (zh) * | 2021-10-28 | 2022-02-08 | 平安科技(深圳)有限公司 | 一种长连接通信方法、***、装置、设备及存储介质 |
CN114915656A (zh) * | 2021-12-29 | 2022-08-16 | 南京四维智联科技有限公司 | 一种车联网终端接入方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107018119B (zh) | 身份验证***、方法和平台 | |
CN108293181B (zh) | 一种通信标识绑定的处理方法及终端 | |
CN107135218B (zh) | 登录态获取、发送方法、凭证配置方法、客户端及服务器 | |
CN105337997B (zh) | 一种应用客户端的登录方法及相关设备 | |
CN108337210B (zh) | 设备配置方法及装置、*** | |
CN113132402B (zh) | 单点登录方法和*** | |
CN110365483B (zh) | 云平台认证方法、客户端、中间件及*** | |
CN102291452A (zh) | 基于云策略的虚拟机管理方法、云管理服务器及云*** | |
CN106254319B (zh) | 一种轻应用登录控制方法和装置 | |
CN110324184B (zh) | 服务扩容与迁移方法、装置、***、设备及可读存储介质 | |
CN109597643A (zh) | 应用灰度发布方法、装置、电子设备及存储介质 | |
CN108650098B (zh) | 用户自定义验证方式的方法及装置 | |
CN113505354B (zh) | 一种数据处理方法、装置及存储介质 | |
CN112968963B (zh) | 基于WebSocket进行用户强制实时下线的方法 | |
CN106487557A (zh) | 一种应用的业务更新方法、装置、服务器及终端设备 | |
CN113868602A (zh) | 应用授权方法、分布式集群***、电子设备和存储介质 | |
US8490155B2 (en) | Method and apparatus for detecting downloadable conditional access system host with duplicated secure micro | |
CN115529314A (zh) | 一种基于Netty服务器集群的通讯方法 | |
CN113765963A (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN106487637B (zh) | 一种应用消息的处理***、方法及应用设备 | |
CN113329045A (zh) | 文件下载方法、装置、计算机可读存储介质和计算机设备 | |
CN111541649A (zh) | 一种密码重置方法、装置、服务器及存储介质 | |
US10819695B2 (en) | Electronic device including local identity provider server for single sign on and related methods | |
CN111367573B (zh) | 设备登陆方法、装置、存储介质和计算机设备 | |
CN115943623A (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 |