CN114979150B - 一种分布式集群节点管理方法、系统、设备及介质 - Google Patents

一种分布式集群节点管理方法、系统、设备及介质 Download PDF

Info

Publication number
CN114979150B
CN114979150B CN202210828015.1A CN202210828015A CN114979150B CN 114979150 B CN114979150 B CN 114979150B CN 202210828015 A CN202210828015 A CN 202210828015A CN 114979150 B CN114979150 B CN 114979150B
Authority
CN
China
Prior art keywords
event
node
client
request
connection
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.)
Active
Application number
CN202210828015.1A
Other languages
English (en)
Other versions
CN114979150A (zh
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.)
Beijing Changting Future Technology Co ltd
Original Assignee
Beijing Changting Future Technology 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 Beijing Changting Future Technology Co ltd filed Critical Beijing Changting Future Technology Co ltd
Priority to CN202210828015.1A priority Critical patent/CN114979150B/zh
Publication of CN114979150A publication Critical patent/CN114979150A/zh
Application granted granted Critical
Publication of CN114979150B publication Critical patent/CN114979150B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)

Abstract

本发明实施例提供了一种分布式集群节点管理方法、系统、设备及介质,通过切换主动关系,让各个节点主动来管理节点订阅配置变更的通知,同时让各个节点来管理节点主动拉取配置。节点管理端不需要关注推送的结果,转由各节点自己保证,在每次心跳上报的时候都会检测当前的配置版本,如果版本落后则会触发一次推送通知,所以不存在推送结果的获取问题。在节点数量增加的时候不需要管理节点持续维护长连接,同时各类型的消息直接也通过不同的通道来进行推送,不存在消息互相阻塞的情况。

Description

一种分布式集群节点管理方法、系统、设备及介质
技术领域
本发明实施例涉及分布式节点管理技术领域,具体涉及一种分布式集群节点管理方法、系统、设备及介质。
背景技术
在分布式系统设计中,对各节点管理存在以下至少两个场景需要考虑:1)各节点状态监控,2)配置下发到各个节点。传统分布式集群管理是管理节点和各节点分别建立长连接的方式来进行通信,存在如下几点问题:
(1)当节点数量增加时,长连接的方式性能不够;
(2)没有连接复用,各类型消息可能会相互阻塞;
(3)无法获取配置推送的结果。
发明内容
为此,本发明实施例提供一种分布式集群节点管理方法、系统、设备及介质,以解决传统管理节点向各个节点主动推送事件配置变更信息效果差的技术问题。
为了实现上述目的,本发明实施例提供如下技术方案:
根据本发明实施例的第一方面,本申请实施例提供了一种分布式集群节点管理方法,所述方法包括:
从节点客户端接收事件监听请求,创建对应的事件队列;
从应用客户端接收事件发布请求,判断是否存在新发布的事件内容;
如果存在新发布的事件内容,将新发布的事件内容分别追加至Redis中各个目标节点的事件队列中,按事件类型持久化存储事件内容;
基于所述事件监听请求,实时监测是否发生事件配置变更;
如果发生事件配置变更,向所述节点客户端推送事件通知;
由所述节点客户端根据所述事件通知拉取配置信息。
进一步地,基于所述事件监听请求,实时监测是否发生事件配置变更,包括:
基于所述事件监听请求,与所述节点客户端建立连接;
根据所述事件监听请求中的事件类型,在数据库中查找是否存在对应事件的新发布内容。
进一步地,基于所述事件监听请求,与所述节点客户端建立连接,包括:
在首次收到事件监听请求后,注册节点客户端,并将内存中维护的节点信息引用计数加1;
与所述节点客户端建立连接;
与最后一个节点客户端断开连接后,所述节点信息的引用计数为0,删除与所述事件监听请求对应的连接;
其中,允许不同的节点客户端重复使用相同的事件监听请求进行连接。
进一步地,所述方法还包括:
启动第一计时器,对与所述节点客户端建立连接进行计时;
启动subscribe例程、sendLoop例程、recvLoop例程;
通过所述subscribe例程订阅与节点名称相同的Redis Channel,用于接收事件信息;
通过所述sendLoop例程将接收到的事件信息作为所述事件通知以及WatchResponse_Ping发送至所述节点客户端;
通过所述recvLoop例程从所述节点客户端接收WatchRequest_Pong,并重置连接所述第一计时器;
连接所述第一计时器超时后,关闭与所述节点客户端的连接。
进一步地,所述方法还包括:
当发起事件监听请求以连接到节点接口时,在所述节点客户端启动第二计时器;
收到WatchResponse_Ping后重置所述第二计时器的时间;
超时后会主动关闭连接。
进一步地,将新发布的事件内容分别追加至Redis中各个目标节点的事件队列中,按事件类型持久化存储事件内容,包括:
如果存在新发布的事件内容,向PCH管道追加相对应的事件发布请求;
通过调度器对所述PCH管道中事件发布请求进行异步任务处理;
根据目标信息或事件类型信息发送到各个具体的Redis通道中。
进一步地,由所述节点客户端根据所述事件通知拉取配置信息,包括:
对不同类型的事件调用对应的拉取接口;
通过调用的拉取接口从对应的数据库字段中,获取到不同类型的事件配置信息;
根据不同的事件类型执行不同的动作。
根据本发明实施例的第二方面,本申请实施例提供了一种分布式集群节点管理系统,所述系统包括:应用客户端、节点管理端、节点客户端,
所述节点管理端包括:
创建模块,用于从所述节点客户端接收事件监听请求,创建对应的事件队列;
事件发布模块,用于从应用客户端接收事件发布请求,判断是否存在新发布的事件内容;如果存在新发布的事件内容,将新发布的事件内容分别追加至Redis中各个目标节点的事件队列中,按事件类型持久化存储事件内容;
事件监听模块,用于基于所述事件监听请求,实时监测是否发生事件配置变更;
事件推送模块,用于如果发生事件配置变更,向所述节点客户端推送事件通知;
所述节点客户端包括:事件拉取模块,用于根据所述事件通知拉取配置信息。
进一步地,基于所述事件监听请求,实时监测是否发生事件配置变更,包括:
基于所述事件监听请求,与所述节点客户端建立连接;
根据所述事件监听请求中的事件类型,在数据库中查找是否存在对应事件的新发布内容。
进一步地,基于所述事件监听请求,与所述节点客户端建立连接,包括:
在首次收到事件监听请求后,注册节点客户端,并将内存中维护的节点信息引用计数加1;
与所述节点客户端建立连接;
与最后一个节点客户端断开连接后,所述节点信息的引用计数为0,删除与所述事件监听请求对应的连接;
其中,允许不同的节点客户端重复使用相同的事件监听请求进行连接。
进一步地,所述节点管理端还用于:
启动第一计时器,对与所述节点客户端建立连接进行计时;
启动subscribe例程、sendLoop例程、recvLoop例程;
通过所述subscribe订阅与节点名称相同的Redis Channel,用于接收事件信息;
通过所述sendLoop例程将接收到的事件信息作为所述事件通知以及WatchResponse_Ping发送至所述节点客户端;
通过所述recvLoop例程从所述节点客户端接收WatchRequest_Pong,并重置连接所述第一计时器;
连接所述第一计时器超时后,关闭与所述节点客户端的连接。
进一步地,所述节点客户端还用于:
当发起事件监听请求以连接到节点接口时,在所述节点客户端启动第二计时器;
收到WatchResponse_Ping后重置所述第二计时器的时间;
超时后会主动关闭连接。
进一步地,将新发布的事件内容分别追加至Redis中各个目标节点的事件队列中,按事件类型持久化存储事件内容,包括:
如果存在新发布的事件内容,向PCH管道追加相对应的事件发布请求;
通过调度器对所述PCH管道中事件发布请求进行异步任务处理;
根据目标信息或事件类型信息发送到各个具体的Redis通道中。
进一步地,由所述节点客户端根据所述事件通知拉取配置信息,包括:
对不同类型的事件调用对应的拉取接口;
通过调用的拉取接口从对应的数据库字段中,获取到不同类型的事件配置信息;
根据不同的事件类型执行不同的动作。
根据本发明实施例的第三方面,提供了一种分布式集群节点管理设备,所述设备包括:处理器和存储器;
所述存储器用于存储一个或多个程序指令;
所述处理器,用于运行一个或多个程序指令,用以执行如上任一项所述的一种分布式集群节点管理方法的步骤。
根据本发明实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的一种分布式集群节点管理方法的步骤。
与现有技术相比,本申请实施例提供的一种分布式集群节点管理方法、系统、设备及介质,通过切换主动关系,让各个节点主动来管理节点订阅配置变更的通知,同时让各个节点来管理节点主动拉取配置。节点管理端不需要关注推送的结果,转由各节点自己保证,在每次心跳上报的时候都会检测当前的配置版本,如果版本落后则会触发一次推送通知,所以不存在推送结果的获取问题。在节点数量增加的时候不需要管理节点持续维护长连接,同时各类型的消息直接也通过不同的通道来进行推送,不存在消息互相阻塞的情况。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
图1为本发明实施例提供的一种分布式集群节点管理系统的逻辑结构示意图;
图2为本发明实施例提供的一种分布式集群节点管理方法的流程示意图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的目的在于:本发明实施例提供一种分布式集群节点管理方法、系统、设备及介质,通过切换主动关系,让各个节点主动来管理节点订阅配置变更的通知,同时让各个节点来管理节点主动拉取配置,而不是节点管理端往各个节点主动推送配置。
为了解决上述技术问题,如图1所示,本申请实施例提供了一种分布式集群节点管理系统,其具体包括:应用客户端1、节点管理端2、节点客户端3。
进一步地,节点管理端2包括:创建模块21、事件发布模块22、事件监听模块23、事件推送模块24。
具体地,创建模块21用于从节点客户端3接收事件监听请求,创建对应的事件队列;事件发布模块22用于从应用客户端1接收事件发布请求,判断是否存在新发布的事件内容;如果存在新发布的事件内容,将新发布的事件内容分别追加至Redis中各个目标节点的事件队列中,按事件类型持久化存储事件内容;事件监听模块23用于基于事件监听请求,实时监测是否发生事件配置变更;事件推送模块24用于如果发生事件配置变更,向节点客户端3推送事件通知。
节点客户端3包括:事件拉取模块31,用于根据事件通知拉取配置信息。
与现有技术相比,本申请实施例提供的一种分布式集群节点管理系统,通过切换主动关系,让各个节点主动来管理节点订阅配置变更的通知,同时让各个节点来管理节点主动拉取配置。节点管理端不需要关注推送的结果,转由各节点自己保证,在每次心跳上报的时候都会检测当前的配置版本,如果版本落后则会触发一次推送通知,所以不存在推送结果的获取问题。在节点数量增加的时候不需要管理节点持续维护长连接,同时各类型的消息直接也通过不同的通道来进行推送,不存在消息互相阻塞的情况。
与上述公开的一种分布式集群节点管理系统相对应,本发明实施例还公开了一种分布式集群节点管理方法。以下结合上述描述的一种分布式集群节点管理系统详细介绍本发明实施例中公开的一种分布式集群节点管理方法。
如图2所示,以下对本申请实施例提供的一种分布式集群节点管理方法具体步骤进行详细描述。
节点管理端2通过创建模块21从节点客户端3接收事件监听请求,创建对应的事件队列。
进一步地,节点(node)为网络连接的端点,或两条/多条线路的连接点。结点可以是处理器、控制器或工作站。结点随其功能不同而各不相同,他们可以通过链路互联在一起,在网络中用作控制点。在本发明实施例中,节点描述为节点管理端2。
节点管理端2通过事件发布模块22从应用客户端1接收事件发布请求,判断是否存在新发布的事件内容。
目前应用客户端1内封装了向节点管理端2单向推送配置信息的相关方法,供其他业务逻辑进行调用。
如果不存在新发布的事件内容,继续由事件发布模块22从应用客户端1接收事件发布请求。如果存在新发布的事件内容,将新发布的事件内容分别追加至Redis中各个目标节点的事件队列中,按事件类型持久化存储事件内容。
Redis是NoSQL数据库之一,Redis是一个使用ANSIC编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库。
节点管理端2收到事件发布请求后,判断是否有事件内容,如果有事件内容,则在数据库publish_content表中更新或创建对应的条目信息,配置的版本从事件内容中获取。
进一步地,在本发明实施例中,上述步骤具体包括:如果存在新发布的事件内容,向PCH管道追加相对应的事件发布请求;通过调度器对所述PCH管道中事件发布请求进行异步任务处理;根据目标信息或事件类型信息发送到各个具体的Redis通道中。
PCH(Paging Indicator Channel,寻呼信道),是用于传送与寻呼过程相关数据的下行传输信道,用于网络与终端进行初始化时。最简单的一个例子是向终端发起语音呼叫,网络将使用终端所在小区的寻呼信道向终端发送寻呼消息。
在本发明实施例中,调度器选用Dispatcher,Dispatcher是线程调度管理器,用在子线程刷新主线程(UI线程)(比如绑定的时候,属性更新的时候),在子线程里面起一个Dispatcher,将工作项目调度到UI线程,让主线程调度刷新UI的代码。
节点管理端2通过事件监听模块23基于事件监听请求,实时监测是否发生事件配置变更。
进一步地,在本发明实施例中,上述步骤具体包括:基于事件监听请求,与所述节点客户端建立连接;根据事件监听请求中的事件类型,在数据库中查找是否存在对应事件的新发布内容。
在本发明实施例中,基于事件监听请求通过是一个双向Stream API与节点客户端建立连接。更进一步地,基于所述事件监听请求,与所述节点客户端建立连接,具体包括:在首次收到事件监听请求后,注册节点客户端,并将内存中维护的节点信息引用计数加1;与节点客户端建立连接;与最后一个节点客户端断开连接后,所述节点信息的引用计数为0,删除与所述事件监听请求对应的连接;其中,允许不同的节点客户端重复使用相同的事件监听请求进行连接。
如果未发生事件配置变更,由事件监听模块23继续对事件配置变更进行监测。如果发生事件配置变更,节点管理端2通过事件推送模块24向节点客户端3推送事件通知。
具体地,在本发明实施例中,如果发生事件配置变更,从事件队列中对应消费者取出事件内容,并通过gRPC Stream发送给节点客户端。gRPC是一个高性能、开源和通用的RPC框架,面向移动和HTTP/2设计。
节点客户端3通过事件拉取模块31根据事件通知拉取配置信息。
进一步地,在本发明实施例中,不同类型事件的拉取细节不同,比如不同类型的事件对应的配置会存放在不同的数据库字段中。上述步骤包括:对不同类型的事件调用对应的拉取接口;通过调用的拉取接口从对应的数据库字段中,获取到不同类型的事件配置信息;根据不同的事件类型执行不同的动作,例如分别把事件配置信息分发的不同的下游服务中。
更具体地,在本发明实施例中,在节点管理端2,一种分布式集群节点管理方法还包括:启动第一计时器,对与所述节点客户端建立连接进行计时;启动subscribe例程、sendLoop例程、recvLoop例程;通过所述subscribe例程订阅与节点名称相同的RedisChannel,用于接收事件信息;通过所述sendLoop例程将接收到的事件信息作为所述事件通知以及WatchResponse_Ping发送至所述节点客户端;通过所述recvLoop例程从所述节点客户端接收WatchRequest_Pong,并重置连接所述第一计时器;连接所述第一计时器超时后,关闭与所述节点客户端的连接。
ping(Packet Internet Groper)是一种因特网包探索器,用于测试网络连接量的程序。Ping是工作在TCP/IP网络体系结构中应用层的一个服务命令,主要是向特定的目的主机发送ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo 请求报文,测试目的站是否可达及了解其有关状态。
更具体地,在本发明实施例中,在节点客户端3,一种分布式集群节点管理方法还包括:当发起事件监听请求以连接到节点接口时,在节点客户端启动第二计时器;收到WatchResponse_Ping后重置所述第二计时器的时间;超时后会主动关闭连接。其中,第二计时器为keepalive计时器,keepalive是在TCP中一个可以检测死连接的机制。
在本发明实施例中,在节点客户端3注册事件处理,支持同个事件多个Handler。其中,Handler包含线程队列和消息队列,实现异步的消息处理机制。调度消息和runnable对象去被执行,使动作在不同的线程中被执行。在发生配置变更时,节点客户端3收到通知,从节点管理端2拉取配置信息后,节点客户端3分发到Handler,通过一个通道(channel),保证顺序,也不希望阻塞。Handler根据需要进行内部处理或者更新其他服务。
与现有技术相比,本申请实施例提供的一种分布式集群节点管理方法,通过切换主动关系,让各个节点主动来管理节点订阅配置变更的通知,同时让各个节点来管理节点主动拉取配置。节点管理端不需要关注推送的结果,转由各节点自己保证,在每次心跳上报的时候都会检测当前的配置版本,如果版本落后则会触发一次推送通知,所以不存在推送结果的获取问题。在节点数量增加的时候不需要管理节点持续维护长连接,同时各类型的消息直接也通过不同的通道来进行推送,不存在消息互相阻塞的情况。
另外,本发明实施例还提供了一种分布式集群节点管理设备,所述设备包括:处理器和存储器;所述存储器用于存储一个或多个程序指令;所述处理器,用于运行一个或多个程序指令,用以执行如上任一项所述的一种分布式集群节点管理方法的步骤。
另外,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述一种分布式集群节点管理方法的步骤。
在本发明实施例中,处理器可以是一种集成电路芯片,具有信号的处理能力。处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific工ntegrated Circuit,简称ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。处理器读取存储介质中的信息,结合其硬件完成上述方法的步骤。
存储介质可以是存储器,例如可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。
其中,非易失性存储器可以是只读存储器(Read-Only Memory,简称ROM)、可编程只读存储器(Programmable ROM,简称PROM)、可擦除可编程只读存储器(Erasable PROM,简称EPROM)、电可擦除可编程只读存储器(Electrically EPROM,简称EEPROM)或闪存。
易失性存储器可以是随机存取存储器(Random Access Memory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,简称SRAM)、动态随机存取存储器(Dynamic RAM,简称DRAM)、同步动态随机存取存储器(Synchronous DRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,简称DDRSDRAM)、增强型同步动态随机存取存储器(EnhancedSDRAM,简称ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,简称DRRAM)。
本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

Claims (8)

1.一种分布式集群节点管理方法,其特征在于,所述方法包括:
从节点客户端接收事件监听请求,创建对应的事件队列;
从应用客户端接收事件发布请求,判断是否存在新发布的事件内容;
如果存在新发布的事件内容,将新发布的事件内容分别追加至Redis中各个目标节点的事件队列中,按事件类型持久化存储事件内容;
基于所述事件监听请求,实时监测是否发生事件配置变更;
如果发生事件配置变更,向所述节点客户端推送事件通知;
由所述节点客户端根据所述事件通知拉取配置信息;
基于所述事件监听请求,实时监测是否发生事件配置变更,包括:
基于所述事件监听请求,与所述节点客户端建立连接;
根据所述事件监听请求中的事件类型,在数据库中查找是否存在对应事件的新发布内容;
由所述节点客户端根据所述事件通知拉取配置信息,包括:
对不同类型的事件调用对应的拉取接口;通过调用的拉取接口从对应的数据库字段中,获取到不同类型的事件配置信息;根据不同的事件类型执行不同的动作。
2.如权利要求1所述的一种分布式集群节点管理方法,其特征在于,基于所述事件监听请求,与所述节点客户端建立连接,包括:
在首次收到事件监听请求后,注册节点客户端,并将内存中维护的节点信息引用计数加1;
与所述节点客户端建立连接;
与最后一个节点客户端断开连接后,所述节点信息的引用计数为0,删除与所述事件监听请求对应的连接;
其中,允许不同的节点客户端重复使用相同的事件监听请求进行连接。
3.如权利要求2所述的一种分布式集群节点管理方法,其特征在于,所述方法还包括:
启动第一计时器,对与所述节点客户端建立连接进行计时;
启动subscribe例程、sendLoop例程、recvLoop例程;
通过所述subscribe例程订阅与节点名称相同的Redis Channel,用于接收事件信息;
通过所述sendLoop例程将接收到的事件信息作为所述事件通知以及WatchResponse_Ping发送至所述节点客户端;
通过所述recvLoop例程从所述节点客户端接收WatchRequest_Pong,并重置连接所述第一计时器;
连接所述第一计时器超时后,关闭与所述节点客户端的连接。
4.如权利要求3所述的一种分布式集群节点管理方法,其特征在于,所述方法还包括:
当发起事件监听请求以连接到节点接口时,在所述节点客户端启动第二计时器;
收到WatchResponse_Ping后重置所述第二计时器的时间;
超时后会主动关闭连接。
5.如权利要求1所述的一种分布式集群节点管理方法,其特征在于,将新发布的事件内容分别追加至Redis中各个目标节点的事件队列中,按事件类型持久化存储事件内容,包括:
如果存在新发布的事件内容,向PCH管道追加相对应的事件发布请求;
通过调度器对所述PCH管道中事件发布请求进行异步任务处理;
根据目标信息或事件类型信息发送到各个具体的Redis通道中。
6.一种分布式集群节点管理系统,其特征在于,所述系统包括:应用客户端、节点管理端、节点客户端;
所述节点管理端包括:
创建模块,用于从所述节点客户端接收事件监听请求,创建对应的事件队列;
事件发布模块,用于从应用客户端接收事件发布请求,判断是否存在新发布的事件内容;如果存在新发布的事件内容,将新发布的事件内容分别追加至Redis中各个目标节点的事件队列中,按事件类型持久化存储事件内容;
事件监听模块,用于基于所述事件监听请求,实时监测是否发生事件配置变更;
事件推送模块,用于如果发生事件配置变更,向所述节点客户端推送事件通知;
所述节点客户端包括:事件拉取模块,用于根据所述事件通知拉取配置信息;
事件监听模块,具体用于:
基于所述事件监听请求,与所述节点客户端建立连接;
根据所述事件监听请求中的事件类型,在数据库中查找是否存在对应事件的新发布内容;
事件拉取模块,具体用于:
对不同类型的事件调用对应的拉取接口;通过调用的拉取接口从对应的数据库字段中,获取到不同类型的事件配置信息;根据不同的事件类型执行不同的动作。
7.一种分布式集群节点管理设备,其特征在于,所述设备包括:处理器和存储器;
所述存储器用于存储一个或多个程序指令;
所述处理器,用于运行一个或多个程序指令,用以执行如权利要求1至5任一项所述的一种分布式集群节点管理方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述一种分布式集群节点管理方法的步骤。
CN202210828015.1A 2022-07-14 2022-07-14 一种分布式集群节点管理方法、系统、设备及介质 Active CN114979150B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210828015.1A CN114979150B (zh) 2022-07-14 2022-07-14 一种分布式集群节点管理方法、系统、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210828015.1A CN114979150B (zh) 2022-07-14 2022-07-14 一种分布式集群节点管理方法、系统、设备及介质

Publications (2)

Publication Number Publication Date
CN114979150A CN114979150A (zh) 2022-08-30
CN114979150B true CN114979150B (zh) 2022-10-28

Family

ID=82970309

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210828015.1A Active CN114979150B (zh) 2022-07-14 2022-07-14 一种分布式集群节点管理方法、系统、设备及介质

Country Status (1)

Country Link
CN (1) CN114979150B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109167810A (zh) * 2018-07-27 2019-01-08 阿里巴巴集团控股有限公司 监听、通知、刷新方法和装置、计算设备及存储介质
CN112286898A (zh) * 2020-12-24 2021-01-29 长沙树根互联技术有限公司 基于分布式文件边缘节点的配置文件方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9680692B2 (en) * 2013-01-23 2017-06-13 Facebook, Inc. Method and system for using a recursive event listener on a node in hierarchical data structure

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109167810A (zh) * 2018-07-27 2019-01-08 阿里巴巴集团控股有限公司 监听、通知、刷新方法和装置、计算设备及存储介质
CN112286898A (zh) * 2020-12-24 2021-01-29 长沙树根互联技术有限公司 基于分布式文件边缘节点的配置文件方法和装置

Also Published As

Publication number Publication date
CN114979150A (zh) 2022-08-30

Similar Documents

Publication Publication Date Title
US7992153B2 (en) Queuing for thread pools using number of bytes
US9548949B2 (en) Message handling multiplexer
AU2014215935B2 (en) A system and method for managing message queues in a peer-to-peer communication network
US20030182464A1 (en) Management of message queues
US7624147B2 (en) Efficient notification of new electronic mail arrival
CN111163159B (zh) 消息订阅方法、装置、服务器及计算机可读存储介质
WO2020259354A1 (zh) 队列调整方法、装置、设备及计算机可读存储介质
KR20110076954A (ko) 저자원 장치에서의 최적화 폴링
US9172765B2 (en) Polling-based secure network message notification system and method with performance enhancing features
CN111258723B (zh) 分布式系统的事务处理方法、装置、系统、介质及设备
Aijaz et al. Enabling high performance mobile web services provisioning
CN113422842A (zh) 一种考虑网络负载的分布式电力用电信息数据采集系统
US20080301706A1 (en) Flow control protocol
CN113965628A (zh) 消息调度方法、服务器和存储介质
CN111475315A (zh) 服务器及订阅通知推送控制、执行方法
CN114063936B (zh) 一种优化定时任务的方法、系统、设备和存储介质
CN111953785A (zh) 数据传输方法、系统及服务器
CN111124717A (zh) 消息投递方法、系统及计算机存储介质
US10129084B1 (en) Centralized parameter management system
CN114979150B (zh) 一种分布式集群节点管理方法、系统、设备及介质
CN113412478B (zh) 消息收发方法、通信装置以及程序
CN112965796B (zh) 一种任务调度系统、方法和装置
US7921227B2 (en) Concurrent stack
CN114500341A (zh) 广域网下的终端实时管控方法及管控服务端
Chen et al. A reliable messaging middleware for financial institutions

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