CN114650291A - 订阅信息处理方法及装置、服务节点、存储介质 - Google Patents
订阅信息处理方法及装置、服务节点、存储介质 Download PDFInfo
- Publication number
- CN114650291A CN114650291A CN202011497654.1A CN202011497654A CN114650291A CN 114650291 A CN114650291 A CN 114650291A CN 202011497654 A CN202011497654 A CN 202011497654A CN 114650291 A CN114650291 A CN 114650291A
- Authority
- CN
- China
- Prior art keywords
- subscription
- service node
- information
- client terminal
- service
- 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.)
- Granted
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 51
- 238000003672 processing method Methods 0.000 title claims abstract description 36
- 238000004891 communication Methods 0.000 claims abstract description 112
- 230000004044 response Effects 0.000 claims abstract description 35
- 238000000034 method Methods 0.000 claims description 69
- 238000012545 processing Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 18
- 238000010276 construction Methods 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
- 230000003993 interaction Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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/14—Session management
- H04L67/141—Setup of application sessions
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种订阅信息处理方法及装置、服务节点、存储介质,通过向注册服务器发送注册请求,接收注册完成响应,根据所述注册完成响应与通信集群中已注册的第二服务节点建立通信连接可以简单实现通信集群的水平热扩展;当通信集群建立成功时,获取与自身对应的第一客户终端的第一订阅数据,并获取第二服务节点各自的第二订阅数据,并基于第一订阅数据和第二订阅数据构建第一订阅数据库,当接收到业务信息时,基于第一订阅数据库,将业务信息推送给目标客户终端。该方案的订阅信息转发都是指向的,提高了集群内订阅信息转发效率,降低了风险,在业务信息推送时只需要遍历一次订阅数据库便可进行业务信息的推送,提高了资源利用率。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种订阅信息处理方法及装置、服务节点、存储介质。
背景技术
MQTT(Message Queuing Telemetry Transport消息队列遥测传输)协议是20世纪90年代后期由万国商业机器公司(International Business Machines Corporation,IBM)发明,它足够轻量的特性非常适用于低功耗、资源受限的嵌入式设备,迅速成为物联网通信系统中使用最为广泛的协议之一。物联网场景下,动辄数以百万计的连接需求使支撑物联网场景的消息系统必须具有横向扩展能力,也就是集群部署能力,才能够满足日益增加的设备。
现有技术中,使用存储器作为消息总线构建集群,存储器和多个服务节点连接。每个服务节点,通过存储器来交换信息、消息转发。一个服务节点将消息发送给存储器,存储器在自身数据库中找到对应的服务节点,然后进行消息发送。
然而,服务节点将定阅数据以主题过滤器和订阅数据的形式存在存储器中,在进行主题匹配时的程序复杂,高并发下效率极低。另外使用存储器作为消息总线,增加了延迟和消息丢失的风险,占用了大量的CPU、网络带宽资源。
发明内容
本发明提供一种订阅信息处理方法及装置、服务节点、存储介质可以通过简单配置服务节点,实现服务节点的水平扩展,使得集群内订阅信息转发效率提高,降低了风险,提高了资源利用率。
本发明的技术方案是这样实现的:
本发明实施例提供了一种订阅信息处理方法,应用于第一服务节点,包括:向注册服务器发送注册请求;接收所述注册服务器针对所述注册请求发送的注册完成响应,根据所述注册完成响应与通信集群中已注册的第二服务节点建立通信连接;当与所述第二服务节点建立通信连接成功时,获取与自身对应的第一客户终端的第一订阅数据,并向所述第二服务节点发出订阅信息请求;接收所述第二服务节点针对所述订阅信息请求反馈的各自的第二订阅数据,并基于所述第一订阅数据和所述第二订阅数据构建所述第一服务节点的第一订阅数据库;当接收到被订阅的业务信息时,基于所述第一订阅数据库,将所述业务信息推送给目标客户终端,所述目标客户终端为所述客户终端中订阅了所述业务信息的终端。
本发明实施例提供了一种订阅信息处理方法,应用于第二服务节点,包括:当与第一服务节点建立通信连接成功时,接收所述第一服务节点发送的订阅信息请求;所述第一服务节点为新注册成功的服务节点;根据所述订阅信息请求,向所述第一服务节点反馈自身对应的第二客户终端的第二订阅数据,供所述第一服务节点构建第一订阅数据库;以及基于所述第一订阅数据库,进行业务信息的推送。
本发明实施例提供了一种订阅信息处理装置,应用于第一服务节点,包括:第一发送单元,用于向注册服务器发送注册请求,并在与第二服务节点建立通信连接成功时,向所述第二服务节点发出订阅信息请求;第一接收单元,用于接收所述注册服务器针对所述注册请求发送的注册完成响应、接收与自身对应的第一客户终端的第一订阅数据和所述第二服务节点针对所述订阅信息请求反馈的各自的第二订阅数据;通信单元,用于根据所述注册完成响应与通信集群中已注册的所述第二服务节点建立通信连接;数据处理单元,用于基于所述第一订阅数据和所述第二订阅数据构建所述第一服务节点的第一订阅数据库;所述第一发送单元,还用于当接收到被订阅的业务信息时,基于所述第一订阅数据库,将所述业务信息推送给目标客户终端,所述目标客户终端为所述第一客户终端和所述第二客户终端中订阅了所述业务信息的终端。
本发明实施例提供了一种订阅信息处理装置,应用于第二服务节点,包括:第二接收单元,用于当与第一服务节点建立通信连接成功时,接收所述第一服务节点发送的订阅信息请求;所述第一服务节点为新注册成功的服务节点;第二发送单元,用于根据所述订阅信息请求,向所述第一服务节点反馈自身对应的第二客户终端的第二订阅数据,供所述第一服务节点构建第一订阅数据库;及基于所述第一订阅数据库,进行业务信息的推送。
本发明实施例提供了一种服务节点,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的步骤。
本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的步骤。
本发明实施例提供了一种通信集群,包括:第一服务节点、第二服务节点、第一客户终端、第二客户终端和注册服务器;其中,所述第二服务节点是与所述注册服务器已经注册的节点;所述第一服务节点,用于向所述注册服务器发送注册请求;所述注册服务器,用于针对所述注册请求向所述第一服务节点发送的注册完成响应,所述第一服务节点根据所述注册完成响应与所述第二服务节点建立通信连接;所述第一服务节点,还用于当与所述第二服务节点建立通信连接成功时,获取与自身对应的第一客户终端的第一订阅数据,并向所述第二服务节点发出订阅信息请求;所述第二服务节点,用于并根据所述订阅信息请求,向所述第一服务节点反馈自身对应的第二客户终端的第二订阅数据;所述第一服务节点,还用于基于所述第一订阅数据和所述第二订阅数据构建所述第一服务节点的第一订阅数据库;当所述第一服务节点接收到被订阅的业务信息时,基于所述第一订阅数据库将所述业务信息推送给目标客户终端;所述目标客户终端为所述第一客户终端和所述第二客户终端中订阅了所述业务信息的终端;所述第一客户终端,用于向所述第一服务节点发送自身的第一订阅数据;所述第二客户终端,用于向所述第二服务节点发送自身的第二订阅数据。
本发明实施例提供了一种订阅信息处理方法及装置、服务节点、存储介质实施例中,通过向注册服务器发送注册请求,接收所述注册服务器发送的注册完成响应,根据所述注册完成响应与通信集群中已注册的第二服务节点建立通信连接可以实现通信集群的水平热扩展,扩展过程简单;当通信集群建立成功时,获取与自身对应的第一客户终端的第一订阅数据,并向所述第二服务节点发出订阅信息请求;第二服务节点针对所述订阅信息请求反馈的各自的第二订阅数据,并基于所述第一订阅数据和所述第二订阅数据构建所述第一服务节点的第一订阅数据库;当接收到被订阅的业务信息时,基于所述第一订阅数据库,将所述业务信息推送给目标客户终端。所以集群内的订阅信息转发都是指向的,提高了集群内订阅信息转发效率,降低了风险,在业务信息推送时只需要遍历一次订阅数据库便可进行业务信息的推送,提高了资源利用率。
附图说明
图1为本发明实施例提供的通信集群的结构示意图;
图2为本发明实施例提供的一种订阅信息处理方法的流程图一;
图3为本发明实施例提供的一种订阅信息处理方法的流程图二;
图4为本发明实施例提供的一种订阅信息处理方法的流程图三;
图5为本发明实施例提供的一种订阅信息处理方法的流程图四;
图6为本发明实施例还提供的一种订阅信息处理方法的流程图一;
图7为本发明实施例还提供的一种订阅信息处理方法的流程图二;
图8为本发明实施例还提供的一种订阅信息处理方法的流程图三;
图9为本发明实施例还提供的一种订阅信息处理方法的流程图四;
图10为本发明实施例提供的订阅信息处理方法交互图一;
图11为本发明实施例提供的订阅数据库的结构示意图;
图12为本发明实施例提供的订阅信息处理装置的结构示意图;
图13为本发明实施例提供的订阅信息处理装置的结构示意图;
图14为本发明实施例中提供的服务节点的一种硬件实体示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和实施例对本发明的技术方案进一步详细阐述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
如果发明文件中出现“第一/第二”的类似描述则增加以下的说明,在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
本实施例提供一种通信系统的通信集群,可以解决MQTT集群方案存在配置服务节点过程复杂,水平扩展难度大的问题。请参阅图1,为本发明提供的通信集群的结构示意图。
本实施例的通信集群包括了:第一注册服务器Z1、第二注册服务器Z2、第一服务节点N1和第二服务节点N2。其中,第一服务节点N1尚未与第二服务节点N2建立连接构成集群。第一注册服务器Z1和第二注册服务器Z2之间相互独立,不进行通讯。在通信集群形成之前,需要在每一个服务节点和注册服务器之间建立通信连接。在本实施例中,通信集群包括了两个注册服务器的目的在于,加强了服务节点和注册服务器的连接稳定性,防止特殊情况下某一个注册服务器和服务节点通讯中断,从而通信集群被破坏。
在一些实施例中。第二服务节点N2为通信集群中与第一注册服务器Z1和第二注册服务器Z2已经建立通信连接的服务节点。第二服务节点N2每隔第一预定时长分别向第一注册服务器Z1、第二注册服务器Z2发送注册请求。其中,的第一预定时长可以是设定的10秒、20秒、30秒的短时长。第一注册服务器Z1、第二注册服务器Z2接收第二服务节点N2发送的注册请求。第一注册服务器Z1、第二注册服务器Z2每隔第二预定时长向第二服务节点N2反馈注册完成响应。其中,第二预定时长大于第一预定时长,第二预定时长可以为40秒、100秒或者120秒。第二服务节点N2接收第一注册服务器Z1、第二注册服务器Z2反馈的注册完成响应。第二服务节点N2根据注册完成响应与通信集群中已注册的服务节点建立通信连接。在本实施例中通信集群中已经注册的服务节点只包括了第二服务节点N2。
在上述实施例中,第二服务节点N2向两个注册服务器每隔第一预定时长发送的注册请求包括了:第二服务节点N2的IP地址信息与监听接口信息。其中,IP地址信息用于注册服务器找到对应的服务节点,监听接口信息用于与对应的服务节点建立通信。
在上述实施例中,第一注册服务器Z1、第二注册服务器Z2每隔第二预定时长向第二服务节点N2反馈的注册完成响应中包括了一个数据表,该数据表的内容包括了在第二预定时长内向第一注册服务器Z1和第二注册服务器Z2发送注册请求的服务节点的IP地址信息与监听接口信息。在本实施例中,也就是包括了第二服务节点N2的IP地址信息与监听接口信息。
在上述实施例中,第二服务节点N2每隔第一预定时长分别向第一注册服务器Z1、第二注册服务器Z2发送注册请求。第一注册服务器Z1、第二注册服务器Z2接收第二服务节点N2发送的注册请求之后。第一注册服务器Z1、第二注册服务器Z2形成包括了第二服务节点N2的IP地址信息与监听接口信息的数据表。第二服务节点N2每隔第三预定时长主动通过第一注册服务器Z1、第二注册服务器Z2获取该数据表。
在一些实施例中,第一服务节点N1作为新扩展的服务节点加入第二服务节点N2已经形成的通信集群。第一服务节点N1向第一注册服务器Z1、第二注册服务器Z2发送注册请求。注册请求包括了第一服务节点N1的IP地址信息与监听接口信息。第一注册服务器Z1、第二注册服务器Z2接收到注册请求后。第一注册服务器Z1、第二注册服务器Z2形成包括了第一服务节点N1、第二服务节点N2的IP地址信息与监听接口信息的数据表。并向第一服务节点N1、第二服务节点N2反馈包括了该数据表的注册完成响应。第一服务节点N1接收到该数据表后基于数据表中的第二服务节点N2的IP地址信息与监听接口信息。第一服务节点N1分别与第二服务节点N2建立TCP连接。相互连接的第一服务节点N1、第二服务节点N2形成了通信系统的集群。当第一服务节点N1与第二服务节点N2建立通信连接成功时,第一服务节点N1获取与自身对应的客户终端C1的第一订阅数据,并向第二服务节点N2发出订阅信息请求。第二服务节点N2接收订阅信息请求并根据所述订阅信息请求向第一服务节点N1反馈第二服务节点N2对应的客户终端C2、客户终端C3的第二订阅数据。第一服务节点N1接收第二订阅数据,并基于第一订阅数据和第二订阅数据构建第一服务节点N1的第一订阅数据库。当第一服务节点N1接收到被订阅的业务信息时,基于第一订阅数据库将业务信息推送给目标客户终端。其中,目标客户终端为客户终端C1、客户终端C2、客户终端C3中订阅了该业务信息的终端。
当在第二预定时长内第一服务节点N1未向第一注册服务器Z1、第二注册服务器Z2发送注册请求。则第一注册服务器Z1、第二注册服务器Z2断开与第一服务节点N1的TCP连接。并在形成的数据表中删除第一服务节点N1的IP地址信息与监听接口信息。此时数据表中包括了第二服务节点N2的IP地址信息与监听接口信息的数据表。在一些实施例中,注册服务器的数量可以为大于1的其他任何整数,服务节点的数量不定,以注册服务器能够配置的最大服务节点数量为限。
本发明实施例中提供的通信集群通过第一服务节点向预定的两个注册服务器发送注册请求,两个注册服务器每隔第二预定时长向第一服务节点、第二服务节点和第三服务节点发送注册完成响应,第一服务节点、第二服务节点和第三服务节基于注册完成响应相互建立连接形成集群。该技术方案形成的通信集群过程简单,实现了第一服务节点的水平热扩展。当通信集群建立成功时,获取与自身对应的客户终端的第一订阅数据,并向第二服务节点和第三服务节发出订阅信息请求;第二服务节点和第三服务节针对订阅信息请求反馈的各自的第二订阅数据,第一服务节点基于所述第一订阅数据和所述第二订阅数据构建所述第一服务节点的第一订阅数据库;当接收到被订阅的业务信息时,基于所述第一订阅数据库,将所述业务信息推送给目标客户终端。所以集群内的订阅信息转发都是指向的,提高了集群内订阅信息转发效率,降低了风险,在业务信息推送时只需要遍历一次订阅数据库便可进行业务信息的推送,提高了资源利用率。
本发明实施例提供了一种订阅信息的处理方法,应用在第一服务节点中。请参阅图2,为本发明实施例提供的一种订阅信息处理方法的流程图一。
步骤S01,向注册服务器发送注册请求。
本发明实施例的应用场景为一种通信集群。通信集群中包括了第一服务节点、注册服务器和第二服务节点。其中,第二服务节点是通信集群中除了第一服务节点的其他的服务节点。第二服务节点可以为多个。第二服务节点是已经在注册服务器注册了的服务节点。且第二服务节点之间相互连接构成通信集群。第一服务节点作为新扩展的服务节点加入通信集群。第一服务节点首先向注册服务器发送注册请求。注册请求包括了第一服务节点的IP地址信息与监听接口信息。其中,IP地址信息用于注册服务器找到第一服务节点,监听接口信息用于注册服务器与第一服务节点建立通信。
在本发明实施例中,第二服务节点的数量可以为大于1的其他任何整数。注册服务器的数量为大于2的其他任何整数。注册服务器的数量大于2的目的在于,可以加强了服务节点和注册服务器的连接稳定性,防止特殊情况下某一个注册服务器和服务节点通讯中断,从而通信集群被破坏。
步骤S02,接收注册服务器针对注册请求发送的注册完成响应,根据注册完成响应与通信集群中已注册的第二服务节点建立通信连接。
注册服务器接收到第一服务节点发送的注册请求后。注册服务器形成包括了第一服务节点和第二服务节点的IP地址信息与监听接口信息的数据表。并向第一服务节点和第二服务节点分别反馈包括了该数据表的注册完成响应。第一服务节点接收到该数据表后基于数据表中的第二服务节点的IP地址信息与监听接口信息,分别与第二服务节点建立TCP连接。相互连接的第一服务节点、第二服务节点形成了通信系统的通信集群。
步骤S03,当与第二服务节点建立通信连接成功时,获取与自身对应的第一客户终端的第一订阅数据,并向第二服务节点发出订阅信息请求。
当第一服务节点与第二服务节点建立通信连接成功时。第一服务节点获取与自身对应的第一客户终端的第一订阅数据。第一服务节点向第二服务节点发送一个订阅信息请求。第一服务节点发送订阅信息请求的目的在于,第一服务节点通过订阅信息请求获取通信集群内第二服务节点对应的第二客户终端的第二订阅数据。其中第一订阅数据包括:第一服务节点对应的第一客户终端的订阅信息、第一服务节点对应的第一客户终端的标识信息、第一服务节点的IP地址信息。
在本发明实施例中,第一服务节点和第二服务节点包括:基站、数据中心、服务中心。第一客户终端包括手机、平板电脑或PDA、台式机、PC机、智能TV等类型。其中订阅信息的类型包括体育、军事、娱乐、影视、新闻等类型。订阅信息的信息结构可以为“A/X/B”,其中A为订阅信息的类型,例如体育,X为订阅信息的小类,例如足球,B为具体的事件,例如欧冠联赛的新闻消息。
步骤S04,接收第二服务节点针对订阅信息请求反馈的各自的第二客户终端的第二订阅数据,并基于第一订阅数据和第二订阅数据构建第一服务节点的第一订阅数据库。
当第二服务节点接收到第一服务节点发送的订阅信息请求时。第二服务节点将事先已经获取了的第二服务节点对应的第二客户终端的第二订阅数据反馈给第一服务节点。第二订阅数据包括第二服务节点对应的第二客户终端的订阅信息、第二服务节点对应的第二客户终端的标识信息、第二服务节点的IP地址信息。
第一服务节点获取到了第二订阅数据之后,基于之前已经获取了的第一订阅数据构建第一服务节点的第一订阅数据库。第一订阅数据库可以存储在第一服务节点所在服务器的存储中心。第一订阅数据库的结构可以为订阅树结构或者订阅表结构,在此不做限定。
在本发明实施例中,第二客户终端包括手机、平板电脑或PAD、台式机、PC机、智能TV等类型。
步骤S05,当接收到被订阅的业务信息时,基于所述第一订阅数据库,将所述业务信息推送给目标客户终端。
具体请参阅图1,为本发明实施例提供的通信集群第一实施例的结构示意图。
在通信集群内的第一服务节点N1的第一订阅数据库构建完成后。第一服务节点N1接收到了一条业务信息。该业务信息可以是通信集群内的任何一个客户终端发出的。所以第一服务节点N1遍历第一订阅数据库,在第一订阅数据库查找到了订阅该业务信息的目标客户终端的标识信息。第一服务节点N1基于目标客户终端的标识信息将业务信息发送给目标客户终端。其中,目标客户终端可以是通信集群中任意一个订阅了本条业务信息的客户终端。
本实施例提供的订阅信息处理方法,通过第一服务节点与注册服务器的通信交互,使得第一服务节点添加进通信集群,通过获取第二服务节点的第二订阅数据,第一服务节点构建好自己的第一订阅数据库,一客户终端通过服务节点发布一条业务信息,第一服务节点在第一订阅数据库中查找出订阅业务信息的目标客户终端,并将订阅信息发送给订阅业务信息的目标客户终端。该订阅信息处理方法可以实现通信集群的水平热扩展,并且当接收到业务信息后每次业务信息的转发都是指向的,且只需要遍历一次第一数据库,使得集群内订阅信息转发效率高风险小,提高了资源利用率高。
进一步地,如图3所示,在S03之后,本发明实施例提供的一种订阅信息处理方法还包括:S11。具体如下:
S11,将第一订阅数据发送给第二服务节点,供第二服务节点更新各自的订阅数据库。
在第一服务节点从第一客户终端获取到了第一订阅数据之后,第一服务节点还需要将第一订阅数据发送给第二服务节点,供第二服务节点更新自身对应的第二订阅数据库。当第二服务节点接收到业务信息后,第二服务节点可以基于第二订阅数据库查找到订阅了该业务信息的目标客户终端。并将该业务信息发送给目标客户终端。
进一步地,如图3所示,S05还可以通过S12-S13实现,本发明实施例提供的一种订阅信息处理方法还包括:S12-S13。具体如下:
S12,当接收到被订阅的业务信息时,遍历第一订阅数据库,查找出订阅了业务信息的第一目标客户终端的标识信息。
S12,基于第一目标客户终端的标识信息,将业务信息发送给所述第一目标客户终端。
第一服务节点获取到了任意一个客户终端发送的业务信息。第一服务节点遍历第一订阅数据库,查找出订阅了该业务信息的第一目标客户终端的标识信息。此时,第一目标客户终端可以为与第一服务节点对应的任意一个订阅了该业务信息的客户终端。
业务信息的发送过程具体请参阅表一。表一为服务节点对应的客户终端、订阅信息表。同时请继续参阅图1,为本发明提供的通信集群的结构示意图。同时请参阅图11为,本发明提供的订阅数据库的结构示意图。其中第二服务节点N2、第三服务节点N3为除了第一服务节点N1的其他服务节点。
表一
当客户终端C2连接到第二服务节点N2时。客户终端C2发布主题为“A/X/B”的业务信息,第一服务节点N1接收到主题为“A/X/B”的业务信息。第一服务节点N1遍历第一订阅数据库进行业务信息的发送。具体匹配过程如下所示:
首先进入第一服务节点N1的第一订阅数据库的Root节点,查找和“A”匹配的子节点,发现只有节点A匹配。
进入A节点,查找和“X”匹配的子节点。发现“+”节点和“#”节点。
进入“+”节点,查找匹配的子节点,找到B节点。B节点对应的是客户终端C1,第一服务节点N1获取客户终端C1的ID信息,第一服务节点N1将主题为“A/X/B”的业务信息发送给客户终端C1,客户终端C1为第一目标客户终端,业务信息发送完成。
进一步地,如图4所示,在S04之后,本发明实施例提供的一种订阅信息处理方法还包括:S14-S16。具体如下:
S14,接收与自身对应的第一客户终端发送的订阅数据更新信息。
当通信集群的第一服务节点构建第一订阅数据库完成后,在进行业务信息的发送之前还包括了订阅数据更新。第一服务节点对应的第一客户终端向第一服务节点发送了一条订阅数据更新信息。订阅数据更新信息包括第一服务节点对应的第一客户终端的新增订阅或者取消订阅的订阅信息。
S15,基于订阅数据更新信息更新第一订阅数据库。
第一服务节点接收到订阅数据更新信息后,第一服务节点基于订阅数据更新信息在第一订阅数据库中添加第一客户终端新增的订阅信息或者在第一订阅数据库中删除第一客户终端的取消订阅的订阅信息。
S16,将订阅数据更新信息广播给第二服务节点,供第二服务节点更新各自的订阅数据库。
在第一服务节点更新完第一订阅数据库之后,第一服务节点还需要将订阅数据更新信息通过广播的方式发送给第二服务节点。第二服务节点接收到订阅数据更新信息之后更新自身的第二订阅数据库。
进一步地,如图4所示,S05还可以通过S17-S18实现,本发明实施例提供的一种订阅信息处理方法还包括:S17-S18。具体如下:
S17,当接收到被订阅的业务信息时,遍历第一订阅数据库,查找出订阅了业务信息的目标服务节点的地址信息。
第一服务节点获取到了任意一个客户终端发送的业务信息。第一服务节点遍历第一订阅数据库,查找出订阅了该业务信息的第二目标客户终端对应的目标服务节点的地址信息。其中,目标服务节点为第二服务节点中的至少一个。
S18,基于目标服务节点的地址信息,将业务信息转发给目标服务节点,供目标服务节点遍历自身的订阅数据库,查找出订阅了业务信息的第二目标客户终端的标识信息,并基于第二目标客户终端的标识信息,将业务信息发送给第二目标客户终端。
第一服务节点基于目标服务节点的地址信息,将业务信息转发给目标服务节点。目标服务节点接收到业务信息后遍历自身的第二订阅数据库,查找出订阅了业务信息的第二目标客户终端的标识信息,并基于第二目标客户终端的标识信息,将业务信息发送给第二目标客户终端。其中,第二目标客户终端为目标服务节点对应的至少一个客户终端。
业务信息的发送过程具体请参阅表一。表一为服务节点对应的客户终端、订阅信息表。同时请继续参阅图1,为本发明提供的通信集群的结构示意图。同时请继续参阅图11为,本发明提供的订阅数据库的结构示意图。其中第二服务节点N2、第三服务节点N3为其他服务节点。
当客户终端C2连接到第二服务节点N2时,客户终端C2发布主题为“A/X/B”的业务信息,第一服务节点N1接收到主题为“A/X/B”的业务信息。第一服务节点N1遍历第一订阅数据库进行业务信息的发送。具体匹配过程如下所示:
首先进入第一服务节点N1的第一订阅数据库的Root节点,查找和“A”匹配的子节点,发现只有节点A匹配。
进入A节点,查找和“X”匹配的子节点。发现“+”节点和“#”节点。
如上述步骤所述,先进入“+”节点,第一服务节点N1将主题为“A/X/B”的业务信息发送给客户终端C1。
再进入“#”节点,查找匹配的子节点,找到和“#”节点对应的第三服务节点N3,第三服务节点就为目标服务节点。第一服务节点N1将主题为“A/X/B”的业务信息转发给第三服务节点N3。第三服务节点N3在自身的第二订阅数据库中查找出对应的客户终端C4,客户终端C4就为第二目标客户终端。第三服务节点N3客户终端C4的ID信息,将主题为“A/X/B”的业务信息发送给客户终端C4,业务信息发送完成。
进一步地,如图5所示,在S04之后,本发明实施例提供的一种订阅信息处理方法还包括:S21-S26。具体如下:
S21,接收下线客户终端的下线请求。
第一服务节点连接了多个第一客户终端。在通信集群建立之后,还未发送业务信息之前,某个第一客户终端也就是下线客户终端需要关闭或者进行断电更新,因此下线客户终端需要与第一服务节点断开。在下线客户终端与第一服务节点断开之前,下线客户终端向第一服务节点发送下线请求。下线请求中携带了下线客户终端的标识信息也就是ID信息。第一服务节点接收下线客户终端的下线请求。
S22,将目标订阅数据和下线客户终端的标识信息进行映射后,存储在外部数据库中,并从第一订阅数据库中删除目标订阅数据。
下线客户终端在第一订阅数据库中有对应自身的目标订阅数据。目标订阅数据包括:下线客户终端的订阅信息、下线客户终端的ID信息和与下线客户终端连接的第一服务节点的IP地址信息。第一服务节点将目标订阅数据和下线客户终端的标识信息进行映射后,存储在外部数据库中。其中,外部数据库为与第一服务节点连接的一个外部存储中心。第一服务节点还需要在第一订阅数据库中删除下线客户终端的目标订阅数据。
S23,将目标订阅数据发送给第二服务节点,供第二服务节点在自身订阅数据库中删除所述目标订阅数据。
在第一服务节点在第一订阅数据库中删除下线客户终端的目标订阅数据。之后第一服务节点将目标订阅数据发送给第二服务节点,第二服务节点在自身第二订阅数据库中删除目标订阅数据。
S24,当接收到下线客户终端与第一服务节点的再次连接请求时,基于再次连接请求中的下线客户终端的标识信息,从外部数据库中获取目标订阅数据,并基于目标订阅数据更新第一订阅数据库。
当下线客户终端重新开启或者更新完成,下线客户终端向第一服务节点的发送再次连接请求。再次连接请求中携带了下线客户终端的标识信息。
第一服务节点基于下线客户终端的标识信息,从外部数据库中获取目标订阅数据,并基于目标订阅数据更新第一订阅数据库。
S25,将目标订阅数据广播给第二服务节点,供第二服务节点更新各自的订阅数据库。
第一服务节点将目标订阅数据广播给第二服务节点,第二服务节点接收到目标订阅数据后,更新第二订阅数据库。
本发明实施例通过向注册服务器发送注册请求,接收所述注册服务器发送的注册完成响应,根据所述注册完成响应与通信集群中已注册的第二服务节点建立通信连接可以实现通信集群的水平热扩展,扩展过程简单;当通信集群建立成功时,第一服务节点获取与自身对应的第一客户终端的第一订阅数据,并获取服务节点反馈的各自的第二订阅数据,第一服务节点基于所述第一订阅数据和所述第二订阅数据构建所述第一服务节点的第一订阅数据库;当第一服务节点接收到被订阅的业务信息时,基于所述第一订阅数据库,将业务信息推送给目标客户终端。所以通信集群内的订阅信息转发效率高,转发风险较低,在业务信息推送时只需要遍历一次订阅数据库便可进行业务信息的推送,提高了资源利用率。
本发明实施例还提供了一种订阅信息的处理方法,应用在第二服务节点中。请参阅图6,为本发明实施例还提供的一种订阅信息处理方法的流程图一。
S101,当与第一服务节点建立通信连接成功时,接收第一服务节点发送的订阅信息请求。
基于前述实施例的描述,第一服务节点与第二服务节点建立通信连接成功时,第一服务节点向第二服务节点发送了订阅信息请求。第一服务节点发送订阅信息请求的目的在于,第一服务节点通过订阅信息请求获取通信集群内第二服务节点对应的第二客户终端的第二订阅数据。第二服务节点接收第一服务节点发送的订阅信息请求。
S102,根据订阅信息请求,向第一服务节点反馈自身对应的第二客户终端的第二订阅数据。
当第二服务节点接收到第一服务节点发送的订阅信息请求时。第二服务节点将事先已经获取了的第二服务节点对应的第二客户终端的第二订阅数据反馈给第一服务节点。第一服务节点接收第二订阅数据基于第一订阅数据构建自身的订阅数据库。第二订阅数据包括第二服务节点对应的第二客户终端的订阅信息、第二服务节点对应的第二客户终端的标识信息、第二服务节点的IP地址信息。
在第一服务节点接收到业务信息后,第一服务节点基于第一订阅数据库将业务信息发送给目标客户终端。其中目标客户终端可以为第一客户终端或者第二客户终端中订阅了该业务信息的终端。
当第一服务节点接收到业务信息后,第一服务节点还可以在第一订阅数据库中找到了目标服务节点的地址信息。目标服务节点也就是第二服务节点中的一个。第一服务节点将业务信息转发给目标服务节点。目标服务节点接收第一业务节点转发的业务信息,遍历第二订阅数据库,查找出订阅了业务信息的第二目标客户终端的标识信息。
目标服务节点基于第二目标客户终端的标识信息,将业务信息发送给第二目标客户终端。业务信息的发送完成。
进一步地,如图7所示,在S01之后,本发明实施例提供的一种订阅信息处理方法还包括:S112-S113。具体如下:
S112,接收第一服务节点发送的第一订阅数据。
在上一实施例中,第一服务节点从第一客户终端获取了第一订阅数据,并将第一订阅数据发送给第二服务节点。第二服务节点接收第一订阅数据。
S113,基于第一订阅数据,更新自身对应的第二订阅数据库。
第二服务节点基于第一订阅数据更新第二服务节点对应的第二订阅数据库。其中第一订阅数据包括了第一客户终端的订阅信息、第一客户终端的ID信息,第一客户终端连接的第一服务节点的IP地址信息。第二服务节点将第一订阅数据添加进第一订阅数据库。
进一步地,如图8所示,在S02之后,本发明实施例提供的一种订阅信息处理方法还包括:S116-S117。具体如下:
S116,接收第一服务节点发送的订阅数据更新信息。
当通信集群的第一服务节点构建第一订阅数据库完成后,在进行业务信息的发送之前还包括了订阅数据更新。第一服务节点对应的第一客户终端向第一服务节点发送了一条订阅数据更新信息。订阅数据更新信息包括第一服务节点对应的第一客户终端的新增订阅或者取消订阅的订阅信息。在第一服务节点更新完第一订阅数据库之后,第一服务节点还需要将订阅数据更新信息通过广播的方式发送给第二服务节点。第二服务节点接收第一服务节点发送的订阅数据更新信息。
S117,基于订阅数据更新信息,更新自身的第二订阅数据库。
第二服务节点基于订阅数据更新信息,在第二订阅数据库添加第一客户终端新增的订阅信息或者在第二订阅数据库中删除第一客户终端的取消订阅的订阅信息。
进一步地,如图9所示,在S02之后,本发明实施例提供的一种订阅信息处理方法还包括:S118-S118。具体如下:
S118,接收第一服务节点广播的目标订阅数据。
当下线客户终端重新开启或者更新完成,下线客户终端向第一服务节点的发送再次连接请求。第一服务节点基于下线客户终端的标识信息,从外部数据库中获取目标订阅数据,第一服务节点将目标订阅数据广播给第二服务节点。第二服务节点接收第一服务节点广播的目标订阅数据。
S119,基于目标订阅数据,更新自身的第二订阅数据库。
第二服务节点在自身的第二订阅数据库中添加下线客户终端的订阅数据。
本实施例中当通信集群建立成功时,接收第一服务节点发送的订阅信息请求,根据订阅信息请求,向第一服务节点反馈自身对应的第二客户终端的第二订阅数据,供第一服务节点构建第一订阅数据库及基于第一订阅数据库,进行业务信息的推送;当接收到被订阅的业务信息时,基于所述第一订阅数据库,将所述业务信息推送给目标客户终端。所以集群内的订阅信息转发都是指向的,提高了集群内订阅信息转发效率,降低了风险,在业务信息推送时只需要遍历一次订阅数据库便可进行业务信息的推送,提高了资源利用率。
本发明实施例还提供了一种订阅信息处理方法。请参阅图10,为本发明实施例提供的订阅信息处理方法交互图一。
S51,第一服务节点向注册服务器发送注册请求。
具体实施过程如图2中的S01所述,请参照S01。
S52,第一服务节点接收注册服务器针对注册请求发送的注册完成响应。
具体实施过程如图2中的S02所述,请参照S02。
S53,第一服务节点根据注册完成响应与通信集群中已注册的第二服务节点建立通信连接。
具体实施过程如图2中的S02所述,请参照S02。
S54,第一服务节点获取与自身对应的第一客户终端的第一订阅数据。
具体实施过程如图2中的S03所述,请参照S03。
S55,第一服务节点向第二服务节点发出订阅信息请求。
具体实施过程如图2中的S03所述,请参照S03。
S56,第二服务节点根据订阅信息请求,向第一服务节点反馈自身对应的第二客户终端的第二订阅数据。
具体实施过程如图2中的S04所述,请参照S04。
S57,第一服务节点基于第一订阅数据和第二订阅数据构建第一服务节点的第一订阅数据库。
具体实施过程如图2中的S04所述,请参照S04。
S58,第一服务节点接收到被订阅的业务信息时,基于所述第一订阅数据库,将所述业务信息推送给目标客户终端。
业务信息的发送过程具体请参阅表一。表一为服务节点对应的客户终端、订阅信息表。同时请继续参阅图1,为本发明提供的通信集群的结构示意图。同时请继续参阅图11为,本发明提供的订阅数据库的结构示意图。
首先进入第一服务节点N1的第一订阅数据库的Root节点,查找和“A”匹配的子节点,发现只有节点A匹配。
进入A节点,查找和“X”匹配的子节点。发现“+”节点和“#”节点。
进入“+”节点,查找匹配的子节点,找到B节点。B节点对应的是客户终端C1,第一服务节点N1获取客户终端C1的ID信息,第一服务节点N1将主题为“A/X/B”的业务信息发送给客户终端C1,客户终端C1为第一目标客户终端。
再进入“#”节点,查找匹配的子节点,找到和“#”节点对应的第三服务节点N3,第三服务节点就为目标服务节点。第一服务节点N1将主题为“A/X/B”的业务信息转发给第三服务节点N3。第三服务节点N3在自身的第二订阅数据库中查找出对应的客户终端C4,客户终端C4就为第二目标客户终端。第三服务节点N3客户终端C4的ID信息,将主题为“A/X/B”的业务信息发送给客户终端C4,业务信息发送完成。
本实施例通过第一服务节点向注册服务器发送注册请求,接收所述注册服务器发送的注册完成响应,第一服务节点根据所述注册完成响应与通信集群中已注册的第二服务节点建立通信连接可以实现通信集群的水平热扩展,扩展过程简单;当通信集群建立成功时,第一服务节点获取与自身对应的第一客户终端的第一订阅数据,并向第二服务节点发出订阅信息请求,第二服务节点针对订阅信息请求反馈的各自的第二订阅数据,第一服务节点基于第一订阅数据和第二订阅数据构建第一服务节点的第一订阅数据库。当第一服务节点接收到被订阅的业务信息时,基于第一订阅数据库,将业务信息推送给目标客户终端。本订阅信息的转发方案订阅信息转发都是指向的,提高了集群内订阅信息转发效率,降低了风险,在业务信息推送时只需要遍历一次订阅数据库便可进行业务信息的推送,提高了资源利用率。
本发明还提供了一种订阅信息处理装置,应用与第一服务节点。请参阅图12,为本发明实施例提供的订阅信息处理装置1的结构示意图。
订阅信息处理装置1,包括:第一发送单元10,用于向注册服务器发送注册请求,并在与第二服务节点建立通信连接成功时,向第二服务节点发出订阅信息请求;
第一接收单元11,用于接收注册服务器针对注册请求发送的注册完成响应、接收与自身对应的第一客户终端的第一订阅数据和第二服务节点针对订阅信息请求反馈的各自的第二订阅数据;
通信单元12,用于根据注册完成响应与通信集群中已注册的第二服务节点建立通信连接;
数据处理单元13,用于基于第一订阅数据和第二订阅数据构建第一服务节点的第一订阅数据库;
第一发送单元10,还用于当接收到被订阅的业务信息时,基于第一订阅数据库,将业务信息推送给目标客户终端,目标客户终端为第一客户终端和第二客户终端中订阅了业务信息的终端。
本发明实施例提供的订阅信息处理装置,可以通过通信单元简单的与第二服务节点建立连接,形成通信集群。并且订阅信息处理装置通过第一发送单元和第一接收单元,获取到了第一订阅数据和第二订阅数据。第一服务节点的数据处理单元基于第一订阅数据和第二订阅数据构建第一订阅数据库,在订阅信息处理装置接收到业务信息后,订阅信息处理装置基于第一订阅数据库将业务信息发送给目标客户终端。完成订阅信息的转发,整个转发过程简单,提高了资源利用率。
本发明还提供了一种订阅信息处理装置,应用于第二服务节点。请参阅图13,为本发明实施例提供的订阅信息处理装置2的结构示意图。
订阅信息处理装置2,包括:第二接收单元22,用于当与第一服务节点建立通信连接成功时,接收第一服务节点发送的订阅信息请求;第一服务节点为新注册成功的服务节点;
第二发送单元21,用于根据订阅信息请求,向第一服务节点反馈自身对应的第二客户终端的第二订阅数据,供第一服务节点构建第一订阅数据库;及基于第一订阅数据库,进行业务信息的推送。
本发明实施例提供的订阅信息处理装置通过其他接收单元接收第一服务节点的订阅信息请求,其他发送单元发送第二服务节点针对订阅信息请求反馈的第二订阅数据。第二订阅数据可以帮助第一服务节点构建第一订阅数据库,在第一服务节点转发业务信息的过程中,第二服务节点起到了帮助第一服务节点,完成第一订阅数据库,并帮助第一服务节点发送订阅信息的功能。使得订阅信息的转发简单高效。
需要说明的是,本发明实施例中,如果以软件功能模块的形式实现上述的集群构建及订阅信息处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台服务节点(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。
对应地,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的步骤。
对应地,本发明实施例提供一种服务节点,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本发明存储介质和设备实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。
需要说明的是,图14为本发明实施例提供的服务节点的一种硬件实体示意图,如图14所示,该服务节点800的硬件实体包括:处理器801、通信接口802和存储器803,其中
处理器801通常控制服务节点800的总体操作。
通信接口802可以使服务节点通过网络与其他节点或服务器通信。
存储器803配置为存储由处理器801可执行的指令和应用,还可以缓存待处理器801以及服务节点800中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random AccessMemory,RAM)实现。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (15)
1.一种订阅信息处理方法,应用于第一服务节点,其特征在于,包括:
向注册服务器发送注册请求;
接收所述注册服务器针对所述注册请求发送的注册完成响应,根据所述注册完成响应与通信集群中已注册的第二服务节点建立通信连接;
当与所述第二服务节点建立通信连接成功时,获取与自身对应的第一客户终端的第一订阅数据,并向所述第二服务节点发出订阅信息请求;
接收所述第二服务节点针对所述订阅信息请求反馈的各自的第二客户终端的第二订阅数据,并基于所述第一订阅数据和所述第二订阅数据构建所述第一服务节点的第一订阅数据库;
当接收到被订阅的业务信息时,基于所述第一订阅数据库,将所述业务信息推送给目标客户终端,所述目标客户终端为所述第一客户终端和所述第二客户终端中订阅了所述业务信息的终端。
2.根据权利要求1所述的订阅信息处理方法,其特征在于,所述基于所述第一订阅数据和所述第二订阅数据构建所述第一服务节点的第一订阅数据库之后,所述方法还包括:
接收与自身对应的所述第一客户终端发送的订阅数据更新信息;
基于所述订阅数据更新信息更新所述第一订阅数据库;所述订阅数据更新信息包括所述第一服务节点对应的客户终端的新增订阅/取消订阅的订阅信息;
将所述订阅数据更新信息广播给所述第二服务节点,供所述第二服务节点更新各自的订阅数据库。
3.根据权利要求1所述的订阅信息处理方法,其特征在于,所述基于所述第一订阅数据和所述第二订阅数据构建所述第一服务节点的第一订阅数据库之后,所述方法还包括:
接收下线客户终端的下线请求;所述下线客户终端为所述客户终端中下线的终端;所述下线请求中携带了所述下线客户终端的标识信息;
将目标订阅数据和所述下线客户终端的标识信息进行映射后,存储在外部数据库中,并从所述第一订阅数据库中删除所述目标订阅数据,所述目标订阅数据为所述第一订阅数据库中与所述下线客户终端对应的数据;
将所述目标订阅数据发送给所述第二服务节点,供所述第二服务节点在自身订阅数据库中删除所述目标订阅数据。
4.根据权利要求3所述的订阅信息处理方法,其特征在于,所述将目标订阅数据和所述下线客户终端的标识信息进行映射后,存储在外部数据库中,并从所述第一订阅数据库中删除所述目标订阅数据之后,所述方法还包括:
当接收到所述下线客户终端与所述第一服务节点的再次连接请求时,基于所述再次连接请求中的下线客户终端的标识信息,从所述外部数据库中获取所述目标订阅数据,并基于所述目标订阅数据更新所述第一订阅数据库;所述再次连接请求中携带了所述下线客户终端的标识信息;
将所述目标订阅数据广播给所述第二服务节点,供所述第二服务节点更新各自的订阅数据库。
5.根据权利要求1所述的订阅信息处理方法,其特征在于,所述第一订阅数据包括:所述第一服务节点对应的第一客户终端的订阅信息、所述第一服务节点对应的第一客户终端的标识信息、所述第一服务节点的地址信息;
所述第二订阅数据包括所述第二服务节点对应的第二客户终端的订阅信息、所述第二服务节点对应的第二客户终端的标识信息、所述第二服务节点的地址信息。
6.根据权利要求1-5任一项所述的订阅信息处理方法,其特征在于,所述基于所述第一订阅数据库,将所述业务信息推送给目标客户终端,包括:
遍历所述第一订阅数据库,查找出订阅了所述业务信息的第一目标客户终端的标识信息;
基于所述第一目标客户终端的标识信息,将所述业务信息发送给所述第一目标客户终端。
7.根据权利要求6所述的订阅信息处理方法,其特征在于,所述遍历所述第一订阅数据库之后,所述方法还包括:
查找出订阅了所述业务信息的目标服务节点的地址信息;其中,所述目标服务节点为所述第二服务节点中的至少一个;
基于目标服务节点的地址信息,将所述业务信息转发给所述目标服务节点,供所述目标服务节点遍历自身的订阅数据库,查找出订阅了所述业务信息的第二目标客户终端的标识信息,并基于所述第二目标客户终端的标识信息,将所述业务信息发送给所述第二目标客户终端;其中,所述第二目标客户终端为所述目标服务节点对应的至少一个客户终端。
8.一种订阅信息处理方法,应用于第二服务节点,其特征在于,包括:
当与第一服务节点建立通信连接成功时,接收所述第一服务节点发送的订阅信息请求;所述第一服务节点为新注册成功的服务节点;
根据所述订阅信息请求,向所述第一服务节点反馈自身对应的第二客户终端的第二订阅数据,供所述第一服务节点构建第一订阅数据库;以及基于所述第一订阅数据库,进行业务信息的推送。
9.根据权利要求8所述的订阅信息处理方法,其特征在于,所述根据所述订阅信息请求,向所述第一服务节点反馈自身对应的第二客户终端的第二订阅数据之后,所述方法还包括:
接收所述第一服务节点发送的订阅数据更新信息;
基于所述订阅数据更新信息,更新自身的第二订阅数据库。
10.根据权利要求8所述的订阅信息处理方法,其特征在于,所述根据所述订阅信息请求,向所述第一服务节点反馈自身对应的第二客户终端的第二订阅数据之后,所述方法还包括:
接收所述第一服务节点广播的目标订阅数据,所述目标订阅数据为下线客户终端存储在所述外部数据库中的数据;
基于所述目标订阅数据,更新自身的第二订阅数据库。
11.根据权利要求8-10任一项所述的订阅信息处理方法,其特征在于,所述以及基于所述第一订阅数据库,进行业务信息的推送,包括:
接收所述第一业务节点发送的业务信息,遍历所述第二订阅数据库,查找出订阅了所述业务信息的第二目标客户终端的标识信息;
基于所述第二目标客户终端的标识信息,将所述业务信息发送给所述第二目标客户终端。
12.一种订阅信息处理装置,其特征在于,应用于第一服务节点,包括:
第一发送单元,用于向注册服务器发送注册请求,并在与第二服务节点建立通信连接成功时,向所述第二服务节点发出订阅信息请求;
第一接收单元,用于接收所述注册服务器针对所述注册请求发送的注册完成响应、接收与自身对应的第一客户终端的第一订阅数据和所述第二服务节点针对所述订阅信息请求反馈的各自的第二客户终端的第二订阅数据;
通信单元,用于根据所述注册完成响应与通信集群中已注册的所述第二服务节点建立通信连接;
数据处理单元,用于基于所述第一订阅数据和所述第二订阅数据构建所述第一服务节点的第一订阅数据库;
所述第一发送单元,还用于当接收到被订阅的业务信息时,基于所述第一订阅数据库,将所述业务信息推送给目标客户终端,所述目标客户终端为所述第一客户终端和所述第二客户终端中订阅了所述业务信息的终端。
13.一种订阅信息处理装置,其特征在于,应用于第二服务节点,包括:
第二接收单元,用于当与第一服务节点建立通信连接成功时,接收所述第一服务节点发送的订阅信息请求;所述第一服务节点为新注册成功的服务节点;
第二发送单元,用于根据所述订阅信息请求,向所述第一服务节点反馈自身对应的第二客户终端的第二订阅数据,供所述第一服务节点构建第一订阅数据库;及于基于所述第一订阅数据库,进行业务信息的推送。
14.一种服务节点,其特征在于,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至7;或者8至11任一项所述方法中的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7;或者8至11任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011497654.1A CN114650291B (zh) | 2020-12-17 | 2020-12-17 | 订阅信息处理方法及装置、服务节点、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011497654.1A CN114650291B (zh) | 2020-12-17 | 2020-12-17 | 订阅信息处理方法及装置、服务节点、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114650291A true CN114650291A (zh) | 2022-06-21 |
CN114650291B CN114650291B (zh) | 2024-05-07 |
Family
ID=81990642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011497654.1A Active CN114650291B (zh) | 2020-12-17 | 2020-12-17 | 订阅信息处理方法及装置、服务节点、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114650291B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022392A (zh) * | 2022-06-24 | 2022-09-06 | 浪潮软件集团有限公司 | 面向iot的分布式发布订阅服务方法和系统 |
CN116881571A (zh) * | 2023-07-27 | 2023-10-13 | 广东麦视互联网科技有限公司 | 基于微服务的数据挖掘方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120258747A1 (en) * | 2011-04-06 | 2012-10-11 | Samsung Electronics Co., Ltd. | Server cluster and method for push notification service |
CN108134830A (zh) * | 2017-12-20 | 2018-06-08 | 马上消费金融股份有限公司 | 基于消息队列的负载均衡方法、系统、装置及存储介质 |
CN109191008A (zh) * | 2018-09-30 | 2019-01-11 | 江苏农牧科技职业学院 | 一种用于水产品质量安全监管系统的微服务框架系统 |
CN110245191A (zh) * | 2019-06-18 | 2019-09-17 | 政采云有限公司 | 数据处理方法及装置 |
CN110247842A (zh) * | 2019-06-28 | 2019-09-17 | 江苏物联网研究发展中心 | 一种基于消息订阅机制的通讯方法 |
CN110505312A (zh) * | 2019-09-09 | 2019-11-26 | 合肥移瑞通信技术有限公司 | 一种可云端部署的物联网平台管理系统 |
US20200349569A1 (en) * | 2019-05-01 | 2020-11-05 | Sony Corporation | Transaction security on distributed-ledger based maas platform |
-
2020
- 2020-12-17 CN CN202011497654.1A patent/CN114650291B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120258747A1 (en) * | 2011-04-06 | 2012-10-11 | Samsung Electronics Co., Ltd. | Server cluster and method for push notification service |
CN108134830A (zh) * | 2017-12-20 | 2018-06-08 | 马上消费金融股份有限公司 | 基于消息队列的负载均衡方法、系统、装置及存储介质 |
CN109191008A (zh) * | 2018-09-30 | 2019-01-11 | 江苏农牧科技职业学院 | 一种用于水产品质量安全监管系统的微服务框架系统 |
US20200349569A1 (en) * | 2019-05-01 | 2020-11-05 | Sony Corporation | Transaction security on distributed-ledger based maas platform |
CN110245191A (zh) * | 2019-06-18 | 2019-09-17 | 政采云有限公司 | 数据处理方法及装置 |
CN110247842A (zh) * | 2019-06-28 | 2019-09-17 | 江苏物联网研究发展中心 | 一种基于消息订阅机制的通讯方法 |
CN110505312A (zh) * | 2019-09-09 | 2019-11-26 | 合肥移瑞通信技术有限公司 | 一种可云端部署的物联网平台管理系统 |
Non-Patent Citations (1)
Title |
---|
郑啸;罗军舟;曹玖新;宋爱波;: "基于发布/订阅机制的Web服务QoS信息分发模型", 计算机研究与发展, no. 06, 15 June 2010 (2010-06-15) * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022392A (zh) * | 2022-06-24 | 2022-09-06 | 浪潮软件集团有限公司 | 面向iot的分布式发布订阅服务方法和系统 |
CN115022392B (zh) * | 2022-06-24 | 2024-04-30 | 浪潮软件集团有限公司 | 面向iot的分布式发布订阅服务方法和系统 |
CN116881571A (zh) * | 2023-07-27 | 2023-10-13 | 广东麦视互联网科技有限公司 | 基于微服务的数据挖掘方法及系统 |
CN116881571B (zh) * | 2023-07-27 | 2024-01-12 | 广东麦视互联网科技有限公司 | 基于微服务的数据挖掘方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114650291B (zh) | 2024-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9591524B2 (en) | Method and apparatus for transmitting data in network system, and data transmission system | |
CN101356769B (zh) | 一种在对等内容分布云中的一节点上形成分组的方法 | |
CN114650291B (zh) | 订阅信息处理方法及装置、服务节点、存储介质 | |
CN102224715A (zh) | 低资源设备中的优化轮询 | |
US20140075039A1 (en) | Networking method, server device, client device, and network system | |
US20200221162A1 (en) | Method and apparatus for providing information associated with media content | |
CN103973461A (zh) | 一种通知消息的推送方法及消息服务器 | |
US20150269257A1 (en) | Finding services in a service-oriented architecture (soa) network | |
CN106934689A (zh) | 基于即时通讯聊天室的商品推送系统及方法 | |
CN114338063B (zh) | 消息队列系统、业务处理方法及计算机可读存储介质 | |
US20220263920A1 (en) | Resource subscription method, device, and storage medium | |
WO2017101309A1 (zh) | 一种推送预约消息的方法及装置 | |
WO2020094021A1 (zh) | 一种微服务架构下的通信方法及系统 | |
CN112769671B (zh) | 消息处理方法、装置与系统 | |
EP3847831B1 (en) | Cache and multicast techniques to reduce bandwidth utilization | |
CN102404616A (zh) | 基于数字电视网络进行数据云推送的方法及系统 | |
CN102185701A (zh) | 一种实现群组信息交互的方法及系统 | |
KR20150016949A (ko) | 소셜 미디어 제품 예약 | |
CN113612825A (zh) | 物联网消息中间件服务器集群扩展方法及系统 | |
CN114422591B (zh) | 点对点通信方法、数据通信系统、计算机设备、存储介质 | |
CN106487637B (zh) | 一种应用消息的处理系统、方法及应用设备 | |
CN114501053B (zh) | 直播流获取方法及装置 | |
CN114979097B (zh) | 基于mqtt的消息推送方法、装置及电子设备 | |
JP6584316B2 (ja) | 近接性サービス発見のための方法及び装置 | |
CN110401881A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |