CN111669315B - 消息推送方法、装置、系统、电子设备及可读存储介质 - Google Patents
消息推送方法、装置、系统、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN111669315B CN111669315B CN202010501608.8A CN202010501608A CN111669315B CN 111669315 B CN111669315 B CN 111669315B CN 202010501608 A CN202010501608 A CN 202010501608A CN 111669315 B CN111669315 B CN 111669315B
- Authority
- CN
- China
- Prior art keywords
- message
- module
- service
- pushing
- message pushing
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000004891 communication Methods 0.000 claims abstract description 76
- 238000012545 processing Methods 0.000 claims description 28
- 238000001514 detection method Methods 0.000 claims description 17
- 238000013507 mapping Methods 0.000 claims description 17
- 238000013475 authorization Methods 0.000 claims description 14
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000013461 design Methods 0.000 abstract description 36
- 238000011084 recovery Methods 0.000 abstract description 23
- 238000010586 diagram Methods 0.000 description 18
- 238000007726 management method Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/214—Monitoring or handling of messages using selective forwarding
-
- 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
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- 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
-
- 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/50—Network services
- H04L67/55—Push-based network services
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering 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)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开实施例公开了一种消息推送方法、装置、系统、电子设备及可读存储介质,消息推送方法包括:通过节点层服务根据第一标识信息从第一消息推送服务申请令牌;通过前端服务根据从所述节点层服务获取的令牌与所述第一消息推送服务建立通信连接;通过所述前端服务利用从后端服务提供到所述第一消息推送服务的消息进行消息推送,从而实现消息推送服务和业务后端服务的完全解耦剥离,方便系统的复用设计,实现消息推送的准确性和安全性,以及在不稳定网络环境下的快速通信恢复。
Description
技术领域
本公开涉及互联网技术领域,具体涉及消息推送方法、装置、系统、电子设备及可读存储介质。
背景技术
很多线上平台具有百万级以上的海量用户,而消息对用户的触达显得尤为重要。很多场景中,后端的业务执行完成后,需要对前端用户进行消息触达,保证消息高效、安全、可靠地推送到前端用户。相关技术中业务系统和消息推送系统耦合过于紧密,消息推送系统对网络可靠性要求过高,在分布式业务场景中消息推送不稳定。
发明内容
为了解决相关技术中的问题,本公开实施例提供消息推送方法、装置、系统、电子设备及可读存储介质。
第一方面,本公开实施例中提供了一种消息推送方法,包括:
通过节点层服务根据第一标识信息从第一消息推送服务申请令牌;
通过前端服务根据从所述节点层服务获取的令牌与所述第一消息推送服务建立通信连接;
通过所述前端服务利用从后端服务提供到所述第一消息推送服务的消息进行消息推送。
结合第一方面,本公开在第一方面的第一种实现方式中,所述通过所述前端服务利用从后端服务提供到所述第一消息推送服务的消息进行消息推送,还包括:
通过后端服务向第二消息推送服务推送消息;
通过所述第二消息推送服务将所述消息推送到所述第一消息推送服务;
通过所述第一消息推送服务将所述消息推送到所述前端服务。
结合第一方面或第一方面的第一种实现方式,本公开在第一方面的第二种实现方式中,还包括:
检测所述第一消息推送服务和所述第二消息推送服务的消息推送状态,判断所述消息的推送是否成功。
结合第一方面或第一方面的第一种实现方式,本公开在第一方面的第三种实现方式中,所述第一标识信息是与所述第一消息推送服务相关的对象的标识信息。
结合第一方面的第三种实现方式,本公开在第一方面的第四种实现方式中,所述令牌的权限是按照所述第一推送消息服务的主题划分的读权限和/或写权限。
结合第一方面的第四种实现方式,本公开在第一方面的第五种实现方式中,所述第一推送消息服务的主题是与所述第一消息推送服务相关的对象申请的主题。
结合第一方面,本公开在第一方面的第六种实现方式中,所述第一消息推送服务是基于发布/订阅范式的消息协议服务。
结合第一方面或第一方面的第一种实现方式,本公开在第一方面的第七种实现方式中,所述第二消息推送服务是消息通信中间件服务。
结合第一方面,本公开在第一方面的第八种实现方式中,还包括:通过节点层服务管理令牌。
结合第一方面的第八种实现方式,本公开在第一方面的第九种实现方式中,还包括:通过所述节点层服务控制所述第一消息推送服务的主题和所述令牌间的映射关系和/或所述令牌的权限。
第二方面,本公开实施例中提供了一种消息推送装置,包括:前端模块、第一消息推送模块、节点层模块和后端模块,
其中,所述第一消息推送模块根据第一标识信息从所述节点层模块申请令牌,
其中,所述前端模块根据从所述节点层模块获取的令牌与所述第一消息推送模块建立通信连接,
其中,所述前端模块利用从所述后端模块提供到所述第一消息推送模块的消息进行消息推送。
结合第二方面,本公开在第二方面的第一种实现方式中,还包括第二消息推送模块,
其中,所述后端模块向所述第二消息推送模块推送消息;
其中,所述第二消息推送模块将所述消息推送到所述第一消息推送模块;
其中,所述第一消息推送模块将所述消息推送到所述前端模块。
结合第二方面或第二方面的第一种实现方式,本公开在第二方面的第二种实现方式中,还包括:
检测模块,被配置为检测所述第一消息推送模块和所述第二消息推送模块的消息推送状态,判断所述消息的推送是否成功。
结合第二方面或第二方面的第一种实现方式,本公开在第二方面的第三种实现方式中,所述第一标识信息是与所述第一消息推送模块相关的对象的标识信息。
结合第二方面的第三种实现方式,本公开在第二方面的第四种实现方式中,所述令牌的权限是按照所述第一推送消息模块的主题划分的读权限和/或写权限。
结合第二方面的第四种实现方式,本公开在第二方面的第五种实现方式中,所述第一推送消息模块的主题是与所述第一消息推送模块相关的对象申请的主题。
结合第二方面,本公开在第二方面的第六种实现方式中,所述第一消息推送模块是基于发布/订阅范式的消息协议服务模块。
结合第二方面或第二方面的第一种实现方式,本公开在第二方面的第七种实现方式中,所述第二消息推送模块是消息通信中间件服务模块。
结合第二方面,本公开在第二方面的第八种实现方式中,所述节点层模块被配置为管理令牌。
结合第二方面的第八种实现方式,本公开在第二方面的第九种实现方式中,所述节点层模块控制所述第一消息推送模块的主题和所述令牌间的映射关系和/或所述令牌的权限。
第三方面,本公开实施例中提供了一种消息推送系统,包括:前端模块、第一消息推送模块、第二消息推送模块、节点层模块、后端模块、检测模块,其中,
所述第一消息推送模块根据第一标识信息向所述节点层模块申请令牌,并将所述消息推送到所述前端服务模块;
所述前端模块根据从所述节点层模块获取的令牌与所述第一消息推送模块建立通信连接;
所述后端模块向所述第二消息推送模块推送消息;
所述第二消息推送模块将所述消息推送到所述第一消息推送模块;
所述节点层模块用于管理令牌;
检测模块用于检测所述第二消息推送模块和所述第一消息推送模块的状态,判断所述消息的推送是否成功。
第四方面,本公开实施例中提供了一种消息推送系统,包括:前端设备、云平台和处理系统,其中,
所述处理系统产生被推送的所述消息,并且根据第一标识信息从所述云平台申请令牌,
所述前端设备根据从所述处理系统获取的令牌与所述云平台建立通信连接,并且通过所述通信连接接收消息,
所述云平台将所述消息从所述处理系统推送到所述前端设备。
第五方面,本公开实施例中提供了一种电子设备,包括存储器和处理器;其中,
所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如第一方面、第一方面的第一种实现方式到第九种实现方式任一项所述的方法。
第六方面,本公开实施例中提供了一种可读存储介质,其上存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现如第一方面、第一方面的第一种实现方式到第九种实现方式任一项所述的方法。
本公开实施例提供的技术方案可以包括以下有益效果:
根据本公开实施例提供的技术方案,通过通过节点层服务根据第一标识信息从第一消息推送服务申请令牌;通过前端服务根据从所述节点层服务获取的令牌与所述第一消息推送服务建立通信连接;通过所述前端服务利用从后端服务提供到所述第一消息推送服务的消息进行消息推送,从而实现消息推送服务和业务后端服务的完全解耦剥离,方便系统的复用设计,实现消息推送的准确性和安全性,以及在不稳定网络环境下的快速通信恢复。
根据本公开实施例提供的技术方案,通过所述通过所述前端服务利用从后端服务提供到所述第一消息推送服务的消息进行消息推送,还包括:通过后端服务向第二消息推送服务推送消息;通过所述第二消息推送服务将所述消息推送到所述第一消息推送服务;通过所述第一消息推送服务将所述消息推送到所述前端服务,从而实现消息推送服务和业务后端服务的完全解耦剥离,方便系统的复用设计,实现消息推送的准确性和安全性,以及在不稳定网络环境下的快速通信恢复。
根据本公开实施例提供的技术方案,通过还包括:检测所述第一消息推送服务和所述第二消息推送服务的消息推送状态,判断所述消息的推送是否成功,从而对消息推送服务进行可靠的管理。
根据本公开实施例提供的技术方案,通过所述第一标识信息是与所述第一消息推送服务相关的对象的标识信息,从而实现消息推送的准确性和安全性。
根据本公开实施例提供的技术方案,通过所述令牌的权限是按照所述第一推送消息服务的主题划分的读权限和/或写权限,从而实现消息推送的准确性和安全性。
根据本公开实施例提供的技术方案,通过所述第一推送消息服务的主题是与所述第一消息推送服务相关的对象申请的主题,从而实现消息推送的准确性和安全性。
根据本公开实施例提供的技术方案,通过所述第一消息推送服务是基于发布/订阅范式的消息协议服务,从而实现消息推送服务和业务后端服务的完全解耦剥离,方便系统的复用设计,以及实现在不稳定网络环境下的快速通信恢复。
根据本公开实施例提供的技术方案,通过所述第二消息推送服务是消息通信中间件服务,从而实现消息推送服务和业务后端服务的完全解耦剥离,方便系统的复用设计,以及实现在不稳定网络环境下的快速通信恢复。
根据本公开实施例提供的技术方案,通过还包括:通过节点层服务管理令牌,从而将授权流程与业务后端系统解耦,方便系统的复用设计,提高消息推送服务的可靠性和安全性。
根据本公开实施例提供的技术方案,通过还包括:通过所述节点层服务控制所述第一消息推送服务的主题和所述令牌间的映射关系和/或所述令牌的权限,从而将授权流程与业务后端系统解耦,方便系统的复用设计,提高消息推送服务的可靠性和安全性。
根据本公开实施例提供的技术方案,通过包括:前端模块、第一消息推送模块、节点层模块和后端模块,其中,所述第一消息推送模块根据第一标识信息从所述节点层模块申请令牌,其中,所述前端模块根据从所述节点层模块获取的令牌与所述第一消息推送模块建立通信连接,其中,所述前端模块利用从所述后端模块提供到所述第一消息推送模块的消息进行消息推送,从而实现消息推送服务和业务后端服务的完全解耦剥离,方便系统的复用设计,实现消息推送的准确性和安全性,以及在不稳定网络环境下的快速通信恢复。
根据本公开实施例提供的技术方案,通过还包括第二消息推送模块,其中,所述后端模块向所述第二消息推送模块推送消息;其中,所述第二消息推送模块将所述消息推送到所述第一消息推送模块;其中,所述第一消息推送模块将所述消息推送到所述前端模块,从而实现消息推送服务和业务后端服务的完全解耦剥离,方便系统的复用设计,实现消息推送的准确性和安全性,以及在不稳定网络环境下的快速通信恢复。
根据本公开实施例提供的技术方案,通过还包括:检测模块,被配置为检测所述第一消息推送模块和所述第二消息推送模块的消息推送状态,判断所述消息的推送是否成功,从而对消息推送服务进行可靠的管理。
根据本公开实施例提供的技术方案,通过所述第一标识信息是与所述第一消息推送模块相关的对象的标识信息,从而实现消息推送的准确性和安全性。
根据本公开实施例提供的技术方案,通过所述令牌的权限是按照所述第一推送消息模块的主题划分的读权限和/或写权限,从而实现消息推送的准确性和安全性。
根据本公开实施例提供的技术方案,通过所述第一推送消息模块的主题是与所述第一消息推送模块相关的对象申请的主题,从而实现消息推送的准确性和安全性。
根据本公开实施例提供的技术方案,通过所述第一消息推送模块是基于发布/订阅范式的消息协议服务模块,从而实现消息推送服务和业务后端服务的完全解耦剥离,方便系统的复用设计,以及实现在不稳定网络环境下的快速通信恢复。
根据本公开实施例提供的技术方案,通过所述第二消息推送模块是消息通信中间件服务模块,从而实现消息推送服务和业务后端服务的完全解耦剥离,方便系统的复用设计,以及实现在不稳定网络环境下的快速通信恢复。
根据本公开实施例提供的技术方案,通过所述节点层模块被配置为管理令牌,从而将授权流程与业务后端系统解耦,方便系统的复用设计,提高消息推送服务的可靠性和安全性。
根据本公开实施例提供的技术方案,通过所述节点层模块控制所述第一消息推送模块的主题和所述令牌间的映射关系和/或所述令牌的权限,从而将授权流程与业务后端系统解耦,方便系统的复用设计,提高消息推送服务的可靠性和安全性。
根据本公开实施例提供的技术方案,通过前端模块、第一消息推送模块、第二消息推送模块、节点层模块、后端模块、检测模块,其中,所述第一消息推送模块根据第一标识信息向所述节点层模块申请令牌,并将所述消息推送到所述前端服务模块;所述前端模块根据从所述节点层模块获取的令牌与所述第一消息推送模块建立通信连接;所述后端模块向所述第二消息推送模块推送消息;所述第二消息推送模块将所述消息推送到所述第一消息推送模块;所述节点层模块用于管理令牌;检测模块用于检测所述第二消息推送模块和所述第一消息推送模块的状态,判断所述消息的推送是否成功,从而实现消息推送服务和业务后端服务的完全解耦剥离,方便系统的复用设计,实现消息推送的准确性和安全性,以及在不稳定网络环境下的快速通信恢复。
根据本公开实施例提供的技术方案,通过前端设备、云平台和处理系统,其中,所述处理系统产生被推送的所述消息,并且根据第一标识信息从所述云平台申请令牌,所述前端设备根据从所述处理系统获取的令牌与所述云平台建立通信连接,并且通过所述通信连接接收消息,所述云平台将所述消息从所述处理系统推送到所述前端设备,从而实现消息推送和业务后端服务的完全解耦剥离,方便系统的复用设计,实现消息推送的准确性和安全性,以及在不稳定网络环境下的快速通信恢复。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
图1示出根据本公开一实施方式的消息推送方法的流程图;
图2示出图1所示实施方式中的步骤S103的流程图;
图3示出根据本公开另一实施方式的消息推送方法的流程图;
图4示出根据本公开一实施方式的消息推送装置的结构框图;
图5示出根据本公开另一实施方式的消息推送装置的结构框图;
图6示出根据本公开又一实施方式的消息推送装置的结构框图;
图7示出根据本公开一实施方式的消息推送系统的结构框图;
图8示出根据本公开一实施方式的消息推送系统的实施场景的示例性示意图;
图9示出根据本公开一实施方式的电子设备的结构框图;
图10是适于用来实现根据本公开一实施方式的消息推送方法的计算机系统的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的标签、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他标签、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的标签可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
线上平台具有百万级以上的海量用户,而消息对用户的触达显得尤为重要。很多场景中,后端的业务执行完成后,需要对前端用户进行消息触达,保证消息高效、安全、可靠地推送到用户的前端服务设备。
相关技术中的消息推送方案采用http长连接、前后端间的websocket通信、http短轮询/长轮询或html5 SSE(Server-Sent Event)的机制,业务系统和消息推送系统耦合过于紧密,消息推送系统对网络可靠性要求过高,在分布式业务场景中消息推送不稳定。而且在相关技术中,由于推送系统中接入层瓶颈的存在,造成推送的消息必须经过接入层,接入层负载较重。而在分布式接入层中如果异步任务处理和前端服务设备建立连接的服务器不在一个机房或者一台服务器,则意味着处理完成的消息需要以广播的形式通知到所有的接入层机器,再根据维护在接入层机器内的http长连接映射关系处理决定由哪台接入层服务器向前端推送消息,接入层通信负载量很重。接入层中的消息通信连接一旦中断就无法恢复,可靠性较差。而且还需要在接入层的多个服务器间进行流量负载均衡,增加系统复杂度和实现成本。
为了解决上述问题,本公开提出一种消息推送方法、装置、系统、电子设备及可读存储介质。
根据本公开实施例提供的技术方案,通过通过节点层服务根据第一标识信息从第一消息推送服务申请令牌;通过前端服务根据从所述节点层服务获取的令牌与所述第一消息推送服务建立通信连接;通过所述前端服务利用从后端服务提供到所述第一消息推送服务的消息进行消息推送,从而实现消息推送服务和业务后端服务的完全解耦剥离,方便系统的复用设计,实现消息推送的准确性和安全性,以及在不稳定网络环境下的快速通信恢复。
图1示出根据本公开一实施方式的消息推送方法的流程图。如图1所示,消息推送方法包括步骤S101、S102、S103。
在步骤S101中,通过节点层服务根据第一标识信息从第一消息推送服务申请令牌。
在步骤S102中,通过前端服务根据从所述节点层服务获取的令牌与所述第一消息推送服务建立通信连接。
在步骤S103中,通过所述前端服务利用从后端服务提供到所述第一消息推送服务的消息进行消息推送。
在本公开的一个实施例中,节点层服务通过第一标识信息从第一消息推送服务申请令牌,在节点层服务获取到令牌后,通过从节点层服务获取的令牌进行前端服务和第一消息推送服务间通信的权限管理。第一标识信息可以是例如前端服务设备的设备识别码或者使用前端服务设备的用户的用户id。前端服务根据令牌与第一消息推送服务建立通信连接。后端服务将消息推送到第一消息推送服务,第一消息推送服务再在令牌的权限管理下将消息推送到前端服务。第一消息推送服务可以在系统设计中重复使用,并且由于数据包轻量化的特点在不稳定的网络环境下快速恢复通信。而令牌的权限管理作用防止了消息被非法用户截取或使用,保证了消息推送的安全性。
图2示出图1所示实施方式中的步骤S103的流程图。如图2所示,图1中的步骤S103可以包括步骤S201、S202、S203。
在步骤S201中,通过后端服务向第二消息推送服务推送消息。
在步骤S202中,通过第二消息推送服务将消息推送到第一消息推送服务。
在步骤S203中,通过第一消息推送服务将消息推送到前端服务。
在本公开的一个实施例中,后端服务向第二消息推送服务推送消息,第二消息推送服务将消息推送到第一消息推送服务,第一消息推送服务将消息推送到前端服务。通过这种方式,实现第二消息推送服务、第一消息推送服务和后端服务的业务系统间的解耦。第二消息推送服务面向后端服务,可以通过消息重传的机制实现网络连接中断后的重新连接。第一消息推送服务具有小数据包的轻量化特点,实现对海量前端服务设备的快速消息推送和用户触达,以及连接中断后的快速恢复。
根据本公开实施例提供的技术方案,通过所述通过所述前端服务利用从后端服务提供到所述第一消息推送服务的消息进行消息推送,还包括:通过后端服务向第二消息推送服务推送消息;通过所述第二消息推送服务将所述消息推送到所述第一消息推送服务;通过所述第一消息推送服务将所述消息推送到所述前端服务,从而实现消息推送服务和业务后端服务的完全解耦剥离,方便系统的复用设计,实现消息推送的准确性和安全性,以及在不稳定网络环境下的快速通信恢复。
图3示出根据本公开另一实施方式的消息推送方法的流程图。如图3所示,消息推送服务除了包括与图1中相同的步骤S101、S102、S103,还包括步骤S301。
在步骤S301中,检测第一消息推送服务和第二消息推送服务的消息推送状态,判断消息的推送是否成功。
在本公开的一个实施例中,通过检测第一消息推送服务和第二消息推送服务的消息推送状态,可以判断消息的推送是否成功。当消息推送不成功时,及时进行连接重建和重传,保证消息推送服务的可靠性。判断消息的推送是否成功可以通过对推送的消息给予回执的方式实现,也可以通过其它方式实现,本公开对此不再赘述。
根据本公开实施例提供的技术方案,通过还包括:检测第一消息推送服务和第二消息推送服务的消息推送状态,判断消息的推送是否成功,从而对消息推送服务进行可靠的管理。
在本公开的一个实施例中,第一标识信息是与第一消息推送服务相关的对象的标识信息。
在本公开的一个实施例中,第一标识信息是与第一消息推送服务相关的前端服务的标识信息或者使用前端服务的用户的标识信息,例如前端服务设备的设备识别码或者使用前端服务设备的用户的用户id。例如,前端服务设备的设备可以是台式计算机、便携式计算机、平板电脑、手机等各种设备,这些设备会有自身的识别识别码,可以作为第一标识信息。
根据本公开实施例提供的技术方案,通过第一标识信息是与第一消息推送服务相关的对象的标识信息,从而实现消息推送的准确性和安全性。
在本公开的一个实施例中,令牌的权限是按照第一推送消息服务的主题划分的读权限和/或写权限。
在本公开的一个实施例中,前端设备和第一推送消息服务间的通信连接所使用的令牌的令牌的权限是按照第一推送消息服务的主题划分的权限,可以是只读权限,或者只写权限,或者同时读写的权限。每个前端服务设备或者使用前端服务设备的用户可以申请独立的主题。主题可以分为三级,从而保证消息推送的准确性,保证消息按照相应级别的主题推送到准确的前端服务设备或者使用前端服务设备的用户,而不会发生错误投递。而且令牌的使用权限可以按照主题的级别划分,保证了令牌使用和消息投递的安全性。主题也可以分为两级、四级或者更多级别,本公开对此不再赘述。级别设置和读写权限设置可以组合使用,例如每个级别中可以设置只读权限、只写权限、同时读写权限中的部分或者全部权限,本公开对此不再赘述。
根据本公开实施例提供的技术方案,通过令牌的权限是按照第一推送消息服务的主题划分的读权限和/或写权限,从而实现消息推送的准确性和安全性。
在本公开的一个实施例中,第一推送消息服务的主题是与第一消息推送服务相关的对象申请的主题。
在本公开的一个实施例中,第一推送消息服务的主题是与第一消息推送服务相关的前端服务设备或者使用前端服务设备的用户申请的主题。第一推送消息服务的主题也可以是其它对象申请的主题,本公开对此不再赘述。
根据本公开实施例提供的技术方案,通过第一推送消息服务的主题是与第一消息推送服务相关的对象申请的主题,从而实现消息推送的准确性和安全性。
在本公开的一个实施例中,第一消息推送服务是基于发布/订阅范式的消息协议服务。
在本公开的一个实施例中,第一消息推送服务可以是基于发布/订阅范式的消息协议服务,例如消息队列遥测传输(MQTT,Message Queuing Telemetry Transport)服务。前端服务根据令牌与MQTT服务建立通信连接。MQTT服务与业务后端服务完全无关,实现消息推送服务和业务后端服务的完全解耦剥离。同一MQTT服务可以适用于多种不同的业务后端服务,方便系统的复用设计。MQTT是轻量级发布/订阅型消息协议,对前端服务设备的硬件要求较低,而且由于其轻量、传输数据包较短的特点,适用于海量的前端服务设备环境和恶劣的网络环境,当消息推送的传输链路中断后较易快速恢复。第一消息推送服务也可以是其它基于发布/订阅范式的消息协议服务,例如增加Observe option的CoAP(Constrained Application Protocol)协议服务,本公开在此不再赘述。
根据本公开实施例提供的技术方案,通过第一消息推送服务是基于发布/订阅范式的消息协议服务,从而实现消息推送服务和业务后端服务的完全解耦剥离,方便系统的复用设计,以及实现在不稳定网络环境下的快速通信恢复。
在本公开的一个实施例中,第二消息推送服务可以是消息通信中间件服务。
在本公开的一个实施例中,第二消息推送服务可以是消息通信中间件服务。消息通信中间件服务与业务后端服务完全解耦剥离,同一消息通信中间件服务可以适用于多种不同的业务后端服务,方便系统的复用设计。消息通信中间件服务可以支持分布式后端服务的消息队列,例如支持分布式的集群,可以通过消息重传的机制实现前端服务设备在网络不稳定条件下断网再连接后的消息再次推送,从而实现快速的通信恢复。第二消息推送服务可以是各种开源或闭源的消息通信中间件服务,例如利用高级消息队列协议(AMQP)实现的消息队列服务等,本公开对此不再赘述。
根据本公开实施例提供的技术方案,通过第二消息推送服务是消息通信中间件服务,从而实现消息推送服务和业务后端服务的完全解耦剥离,方便系统的复用设计,以及实现在不稳定网络环境下的快速通信恢复。
在本公开的一个实施例中,消息推送方法还包括:通过节点层服务管理令牌。
在本公开的一个实施例中,节点层服务从第一消息推送服务获取令牌,并且将令牌提供给前端服务,还可以使用节点层服务管理令牌,保证令牌管理的可靠性,从而提高消息推送服务的可靠性和安全性。节点层服务复用性高,可以区分不同的第一消息推送服务(例如,MQTT服务)实例,以基础服务的思维统一对接入方提供令牌认证和获取服务,这样整个授权流程可以完全从业务后端服务中解耦。节点层服务通过令牌实现对消息推送的授权、鉴权管理,且与业务后端服务完全解耦剥离,方便系统的复用设计。
根据本公开实施例提供的技术方案,通过还包括:通过节点层服务管理令牌,从而将授权流程与业务后端系统解耦,方便系统的复用设计,提高消息推送服务的可靠性和安全性。
在本公开的一个实施例中,消息推送方法还包括:通过节点层服务控制第一消息推送服务的主题与令牌间的映射关系和/或令牌的权限。
在本公开的一个实施例中,节点层服务可以控制例如MQTT服务的第一消息推送服务的主题与令牌间的映射关系,方便令牌对不同主题的管理。节点层服务也可以控制令牌的权限,例如读、写权限,从而通过控制令牌的权限控制不同主题的权限。通过节点层服务控制主题与令牌间的映射关系和令牌权限,提高了消息推送服务的可靠性和安全性。节点层服务还可以控制令牌的其它功能,本公开对此不再赘述。
根据本公开实施例提供的技术方案,通过还包括:通过节点层服务控制第一消息推送服务的主题与令牌间的映射关系和/或令牌的权限,从而将授权流程与业务后端系统解耦,方便系统的复用设计,提高消息推送服务的可靠性和安全性。
在本公开的一个实施例中,消息推送装置包括:前端模块、第一消息推送模块、节点层模块和后端模块,其中,所述第一消息推送模块根据第一标识信息从所述节点层模块申请令牌,其中,所述前端模块根据从所述节点层模块获取的令牌与所述第一消息推送模块建立通信连接,其中,所述前端模块利用从所述后端模块提供到所述第一消息推送模块的消息进行消息推送。
图4示出根据本公开一实施方式的消息推送装置的结构框图。如图4所示,消息推送装置400包括:前端模块401、第一消息推送模块402、节点层模块403和后端模块404。
在本公开的一个实施例中,第一消息推送模块402通过第一标识信息从节点层模块403申请令牌,通过令牌进行前端模块401和第一消息推送模块402间通信的权限管理。第一标识信息可以是例如前端模块401的设备识别码或者使用前端模块401的用户的用户id。前端模块401根据从节点层模块403获取的令牌与第一消息推送模块402建立通信连接。后端模块404将消息推送到第一消息推送模块402,第一消息推送模块402再在令牌的权限管理下将消息推送到前端模块401。第一消息推送模块402可以在系统设计中重复使用,并且由于数据包轻量化的特点在不稳定的网络环境下快速恢复通信。而令牌的权限管理作用防止了消息被非法用户截取或使用,保证了消息推送的安全性。
根据本公开实施例提供的技术方案,通过包括:前端模块、第一消息推送模块、节点层模块和后端模块,其中,所述第一消息推送模块根据第一标识信息从所述节点层模块申请令牌,其中,所述前端模块根据从所述节点层模块获取的令牌与所述第一消息推送模块建立通信连接,其中,所述前端模块利用从所述后端模块提供到所述第一消息推送模块的消息进行消息推送,从而实现消息推送服务和业务后端服务的完全解耦剥离,方便系统的复用设计,实现消息推送的准确性和安全性,以及在不稳定网络环境下的快速通信恢复。
在本公开的一个实施例中,消息推送装置还包括第二消息推送模块,其中,后端模块向第二消息推送模块推送消息;其中,第二消息推送模块将消息推送到第一消息推送模块;其中,第一消息推送模块将消息推送到前端模块。
图5示出根据本公开另一实施方式的消息推送装置的结构框图。
如图5所示,消息推送装置500除了包括图4中相同的前端模块401、第一消息推送模块402、节点层模块403和后端模块404之外,还包括第二消息推送模块501。
在本公开的一个实施例中,后端模块404将消息推送至第二消息推送模块501,第二消息推送模块501将消息推送至第一消息推送模块402,第一消息推送模块402将消息推送至前端模块401。第一消息推送模块402、第二消息推送模块501与后端模块404完全解耦剥离,实现消息推送服务与后端服务间的解耦,方便系统的复用设计。第一消息推送模块402与第二消息推送模块501间也完全解耦,方便系统的复用设计。
根据本公开实施例提供的技术方案,通过还包括第二消息推送模块,其中,后端模块向第二消息推送模块推送消息;其中,第二消息推送模块将消息推送到第一消息推送模块;其中,第一消息推送模块将消息推送到前端模块,从而实现消息推送服务和业务后端服务的完全解耦剥离,方便系统的复用设计,实现消息推送的准确性和安全性,以及在不稳定网络环境下的快速通信恢复。
在本公开的一个实施例中,消息推送装置还包括:检测模块,被配置为检测第一消息推送模块和第二消息推送模块的消息推送状态,判断消息的推送是否成功。
图6示出根据本公开又一实施方式的消息推送装置的结构框图。
如图6所示,消息推送装置600除了包括图5中相同的前端模块401、第一消息推送模块402、节点层模块403和后端模块404、第二消息推送模块501,还包括检测模块601。
在本公开的一个实施例中,通过检测第一消息推送模块402和第二消息推送模块501的消息推送状态,可以判断消息的推送是否成功。当消息推送不成功时,及时进行连接重建和重传,保证消息推送服务的可靠性。判断消息的推送是否成功可以通过对推送的消息给予回执的方式实现,也可以通过其它方式实现,本公开对此不再赘述。
根据本公开实施例提供的技术方案,通过还包括:检测模块,被配置为检测第一消息推送模块和第二消息推送模块的消息推送状态,判断消息的推送是否成功,从而对消息推送服务进行可靠的管理。
在本公开的一个实施例中,第一标识信息是与第一消息推送模块相关的对象的标识信息。
在本公开的一个实施例中,第一标识信息是与第一消息推送模块相关的前端模块的标识信息或者使用前端模块的用户的标识信息,例如前端模块的设备识别码或者使用前端模块的用户的用户id。
根据本公开实施例提供的技术方案,通过第一标识信息是与第一消息推送模块相关的对象的标识信息,从而实现消息推送的准确性和安全性。
在本公开的一个实施例中,令牌的权限是按照第一推送消息模块的主题划分的读权限和/或写权限。
在本公开的一个实施例中,令牌的权限可以是只读权限、只写权限或者读写权限。主题可以分为多级,从而保证消息推送的准确性。令牌的使用权限可以按照主题的级别划分,保证了令牌使用和消息投递的安全性。
根据本公开实施例提供的技术方案,通过令牌的权限是按照第一推送消息模块的主题划分的读权限和/或写权限,从而实现消息推送的准确性和安全性。
在本公开的一个实施例中,第一推送消息模块的主题是与第一消息推送模块相关的对象申请的主题。
在本公开的一个实施例中,第一推送消息模块的主题是与第一消息推送模块相关的前端模块或者使用前端模块的用户申请的主题。第一推送消息模块的主题也可以是其它对象申请的主题,本公开对此不再赘述。
根据本公开实施例提供的技术方案,通过第一推送消息模块的主题是与第一消息推送模块相关的对象申请的主题,从而实现消息推送的准确性和安全性。
在本公开的一个实施例中,第一消息推送模块是基于发布/订阅范式的消息协议服务模块。
在本公开的一个实施例中,第一消息推送模块可以是基于发布/订阅范式的消息协议服务模块,例如MQTT协议模块,或者增加Observe option的CoAP(ConstrainedApplication Protocol)协议模块,或者其它协议模块,本公开在此不再赘述。
根据本公开实施例提供的技术方案,通过第一消息推送模块是基于发布/订阅范式的消息协议服务模块,从而实现消息推送服务和业务后端服务的完全解耦剥离,方便系统的复用设计,以及实现在不稳定网络环境下的快速通信恢复。
在本公开的一个实施例中,第二消息推送模块是消息通信中间件服务模块。
在本公开的一个实施例中,第二消息推送模块可以是各种开源或闭源的消息通信中间件服务模块,例如利用高级消息队列协议(AMQP)实现的消息队列服务模块等,本公开对此不再赘述。
根据本公开实施例提供的技术方案,通过第二消息推送模块是消息通信中间件服务模块,从而实现消息推送服务和业务后端服务的完全解耦剥离,方便系统的复用设计,以及实现在不稳定网络环境下的快速通信恢复。
在本公开的一个实施例中,节点层模块403被配置为管理令牌。
节点层模块403被配置为管理令牌,例如前端模块401和第一消息推送模块402间通信所使用的令牌。
根据本公开实施例提供的技术方案,通过所述节点层模块被配置为管理令牌,从而将授权流程与业务后端系统解耦,方便系统的复用设计,提高消息推送服务的可靠性和安全性。
在本公开的一个实施例中,节点层模块控制第一消息推送模块的主题与令牌间的映射关系和/或令牌的权限。
在本公开的一个实施例中,节点层模块可以控制例如MQTT协议的第一消息推送模块的主题与令牌间的映射关系,方便令牌对不同主题的管理。节点层模块也可以控制令牌的权限,例如读、写权限,从而通过控制令牌的权限控制不同主题的权限。
根据本公开实施例提供的技术方案,通过节点层模块控制第一消息推送模块的主题与令牌间的映射关系和/或令牌的权限,从而将授权流程与业务后端系统解耦,方便系统的复用设计,提高消息推送服务的可靠性和安全性。
在本公开的一个实施例中,消息推送系统包括:前端模块、第一消息推送模块、第二消息推送模块、节点层模块、后端模块、检测模块,其中,所述第一消息推送模块根据第一标识信息向所述节点层模块申请令牌,并将所述消息推送到所述前端服务模块;所述前端模块根据从所述节点层模块获取的令牌与所述第一消息推送模块建立通信连接;所述后端模块向所述第二消息推送模块推送消息;所述第二消息推送模块将所述消息推送到所述第一消息推送模块;所述节点层模块用于管理令牌;检测模块用于检测所述第二消息推送模块和所述第一消息推送模块的状态,判断所述消息的推送是否成功。
如图6所示,消息推送装置600包括:前端模块401、第一消息推送模块402、第二消息推送模块501、节点层模403、后端模块404、检测模块601。
第一消息推送模块402根据第一标识信息向节点层模块403申请令牌,并将消息推送到前端服务模块401。前端模块401根据从节点层模块403获取的令牌与第一消息推送模块402建立通信连接;后端模块404向第二消息推送模块501推送消息;第二消息推送模块501将消息推送到第一消息推送模块402;节点层模块403用于管理令牌;检测模块601检测第二消息推送模块501和第一消息推送模块402的状态,判断消息的推送是否成功。
根据本公开实施例提供的技术方案,通过前端模块、第一消息推送模块、第二消息推送模块、节点层模块、后端模块、检测模块,其中,所述第一消息推送模块根据第一标识信息向所述节点层模块申请令牌,并将所述消息推送到所述前端服务模块;所述前端模块根据从所述节点层模块获取的令牌与所述第一消息推送模块建立通信连接;所述后端模块向所述第二消息推送模块推送消息;所述第二消息推送模块将所述消息推送到所述第一消息推送模块;所述节点层模块用于管理令牌;检测模块用于检测所述第二消息推送模块和所述第一消息推送模块的状态,判断所述消息的推送是否成功,从而实现消息推送服务和业务后端服务的完全解耦剥离,方便系统的复用设计,实现消息推送的准确性和安全性,以及在不稳定网络环境下的快速通信恢复。
本领域技术人员可以理解,参照图4至图6描述的技术方案的可以与参照图1至图3描述的实施例结合,从而具备参照图1至图3描述的实施例所实现的技术效果。具体内容可以参照以上根据图1至图3进行的描述,其具体内容在此不再赘述。
图7示出根据本公开一实施方式的消息推送系统的结构框图。
如图7所示,消息推送系统700包括:前端设备701、云平台702和处理系统703。处理系统703产生被推送的消息,并且根据第一标识信息从云平台702申请令牌,前端设备701根据从处理系统703获取的令牌与云平台702建立通信连接,并且通过通信连接接收消息,云平台702将所述消息从处理系统703推送到所述前端设备701。
本领域技术人员可以理解,参照图7描述的技术方案的可以与参照图1至图6描述的实施例结合,从而具备参照图1至图6描述的实施例所实现的技术效果。具体内容可以参照以上根据图1至图6进行的描述,其具体内容在此不再赘述。
图8示出根据本公开一实施方式的消息推送系统的实施场景的示例性示意图。
如图8所示,消息推送系统800包括:前端设备801、云平台820、处理系统830。
云平台820包括:消息协议服务模块802、消息通信中间件服务模块803、对象存储808,消息协议服务模块802可以是MQTT服务模块,消息通信中间件服务模块803可以是利用高级消息队列协议(AMQP)实现的消息队列服务模块,对象存储808可以是操作支持系统(Operation Support System,OSS)。
处理系统830包括:后端模块804、节点层模块805、消息操作后端模块806、队列模型消息中间件807、消息操作接口模块809、令牌数据库810、消息数据库811,后端模块804可以是后端消息投递服务模块,队列模型消息中间件807可以是分布式消息中间件。
在步骤S801中,消息协议服务模块802通过TCP协议从节点层模块805申请令牌。在步骤S802中,前端设备801从节点层模块805通过HTTP协议获取令牌。在步骤S803中,前端设备801通过Web Socket与消息协议服务模块802进行令牌认证。在步骤S804中,消息协议服务模块802向前端设备801进行消息推送,并在步骤S805中获取消息推送回执。
在步骤S806中,消息通信中间件服务模块803向消息协议服务模块802进行消息推送,并获取消息推送回执。在步骤S807中,后端模块804向消息通信中间件服务模块803进行消息推送,并在步骤S808中获取消息推送回执。在步骤S809中,消息操作后端模块806对后端模块804进行消息上报,并在步骤S810中获取消息上报成功或者失败的结果。在步骤S811中,消息操作后端模块806向对象存储808进行文件上传。在步骤S812中,队列模型消息中间件807向消息操作后端模块806进行任务下载,并在步骤S813中得到异步任务。在步骤S814中,前端设备801向消息操作接口模块809发起下载任务。在步骤S815中,消息操作接口模块809向令牌数据库810存储令牌。在步骤S816中,消息操作后端模块806向消息数据库811存储消息。
根据本公开实施例提供的技术方案,通过前端设备、云平台和处理系统,其中,所述处理系统产生被推送的所述消息,并且根据第一标识信息从所述云平台申请令牌,所述前端设备根据从所述处理系统获取的令牌与所述云平台建立通信连接,并且通过所述通信连接接收消息,所述云平台将所述消息从所述处理系统推送到所述前端设备,从而实现消息推送和业务后端服务的完全解耦剥离,方便系统的复用设计,实现消息推送的准确性和安全性,以及在不稳定网络环境下的快速通信恢复。
图8所示的消息推送系统的实施场景仅仅是示例,本领域技术人员可以根据本公开实施例的教导以各种方式实现消息推送系统。
图9示出根据本公开一实施方式的电子设备的结构框图。
本公开实施方式还提供了一种电子设备,如图9所示,包括至少一个处理器901;以及与至少一个处理器901通信连接的存储器902;其中,存储器902存储有可被至少一个处理器901执行的指令,指令被至少一个处理器901执行以实现以下步骤:
通过节点层服务根据第一标识信息从第一消息推送服务申请令牌;
通过前端服务根据从所述节点层服务获取的令牌与所述第一消息推送服务建立通信连接;
通过所述前端服务利用从后端服务提供到所述第一消息推送服务的消息进行消息推送。
在本公开的一个实施例中,所述通过所述前端服务利用从后端服务提供到所述第一消息推送服务的消息进行消息推送,还包括:
通过后端服务向第二消息推送服务推送消息;
通过所述第二消息推送服务将所述消息推送到所述第一消息推送服务;
通过所述第一消息推送服务将所述消息推送到所述前端服务。
在本公开的一个实施例中,指令被至少一个处理器901执行以实现的步骤还包括:
检测所述第一消息推送服务和所述第二消息推送服务的消息推送状态,判断所述消息的推送是否成功。
在本公开的一个实施例中,所述第一标识信息是与所述第一消息推送服务相关的对象的标识信息。
在本公开的一个实施例中,所述令牌的权限是按照所述第一推送消息服务的主题划分的读权限和/或写权限。
在本公开的一个实施例中,所述第一推送消息服务的主题是与所述第一消息推送服务相关的对象申请的主题。
在本公开的一个实施例中,所述第一消息推送服务是基于发布/订阅范式的消息协议服务。
在本公开的一个实施例中,所述第二消息推送服务是消息通信中间件服务。
在本公开的一个实施例中,指令被至少一个处理器901执行以实现的步骤还包括:通过节点层服务管理令牌。
在本公开的一个实施例中,指令被至少一个处理器901执行以实现的步骤还包括:通过所述节点层服务控制所述第一消息推送服务的主题和所述令牌间的映射关系和/或所述令牌的权限。
图10是适于用来实现根据本公开一实施方式的消息推送方法的计算机系统的结构示意图。
如图10所示,计算机系统1000包括处理单元1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行上述附图所示的实施方式中的各种处理。在RAM1003中,还存储有系统1000操作所需的各种程序和数据。处理单元1001、ROM1002以及RAM1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。其中,所述处理单元1001可实现为CPU、GPU、TPU、FPGA、NPU等处理单元。
特别地,根据本公开的实施方式,上文参考附图描述的方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行附图中的方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。
附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述节点中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (20)
1.一种消息推送方法,其特征在于,包括:
通过节点层服务根据第一标识信息从第一消息推送服务申请令牌;
通过前端服务根据从所述节点层服务获取的令牌与所述第一消息推送服务建立通信连接;
通过所述前端服务利用从后端服务提供到所述第一消息推送服务的消息进行消息推送,
所述通过所述前端服务利用从后端服务提供到所述第一消息推送服务的消息进行消息推送,包括:
通过后端服务向第二消息推送服务推送消息;
通过所述第二消息推送服务将所述消息推送到所述第一消息推送服务;
通过所述第一消息推送服务将所述消息推送到所述前端服务,
所述第二消息推送服务具有重传机制实现网络连接中断后的重新连接,
所述节点层服务控制所述第一消息推送服务的主题和所述令牌间的映射关系和/或所述令牌的权限,
所述节点层服务通过所述令牌实现对消息推送的授权、鉴权管理,并且所述节点层服务和所述后端服务解耦。
2.根据权利要求1所述的方法,其特征在于,还包括:
检测所述第一消息推送服务和所述第二消息推送服务的消息推送状态,判断所述消息的推送是否成功。
3.根据权利要求1所述的方法,其特征在于,所述第一标识信息是与所述第一消息推送服务相关的对象的标识信息。
4.根据权利要求3所述的方法,其特征在于,所述令牌的权限是按照所述第一消息推送服务的主题划分的读权限和/或写权限。
5.根据权利要求4所述的方法,其特征在于,所述第一推送消息服务的主题是与所述第一消息推送服务相关的对象申请的主题。
6.根据权利要求1所述的方法,其特征在于,所述第一消息推送服务是基于发布/订阅范式的消息协议服务。
7.根据权利要求1所述的方法,其特征在于,所述第二消息推送服务是消息通信中间件服务。
8.根据权利要求1所述的方法,其特征在于,还包括:
通过节点层服务管理令牌。
9.一种消息推送装置,其特征在于,包括:前端模块、第一消息推送模块、第二消息推送模块、节点层模块和后端模块,
其中,所述第一消息推送模块根据第一标识信息从所述节点层模块申请令牌,
其中,所述前端模块根据从所述节点层模块获取的令牌与所述第一消息推送模块建立通信连接,
其中,所述前端模块利用从所述后端模块提供到所述第一消息推送模块的消息进行消息推送,
其中,所述后端模块向所述第二消息推送模块推送消息;
其中,所述第二消息推送模块将所述消息推送到所述第一消息推送模块;
其中,所述第一消息推送模块将所述消息推送到所述前端模块,
所述第二消息推送模块具有重传机制实现网络连接中断后的重新连接,
所述节点层模块控制所述第一消息推送模块的主题和所述令牌间的映射关系和/或所述令牌的权限,
所述节点层模块通过所述令牌实现对消息推送的授权、鉴权管理,并且所述节点层模块和所述后端模块解耦。
10.根据权利要求9所述的装置,其特征在于,还包括:
检测模块,被配置为检测所述第一消息推送模块和所述第二消息推送模块的消息推送状态,判断所述消息的推送是否成功。
11.根据权利要求9所述的装置,其特征在于,所述第一标识信息是与所述第一消息推送模块相关的对象的标识信息。
12.根据权利要求11所述的装置,其特征在于,所述令牌的权限是按照所述第一消息推送 模块的主题划分的读权限和/或写权限。
13.根据权利要求12所述的装置,其特征在于,所述第一推送消息模块的主题是与所述第一消息推送模块相关的对象申请的主题。
14.根据权利要求9所述的装置,其特征在于,所述第一消息推送模块是基于发布/订阅范式的消息协议服务模块。
15.根据权利要求9所述的装置,其特征在于,所述第二消息推送模块是消息通信中间件服务模块。
16.根据权利要求9所述的装置,其特征在于,所述节点层模块被配置为管理令牌。
17.一种消息推送系统,其特征在于,包括:前端模块、第一消息推送模块、第二消息推送模块、节点层模块、后端模块、检测模块,其中,
所述第一消息推送模块根据第一标识信息向所述节点层模块申请令牌,并将所述消息推送到所述前端模块;
所述前端模块根据从所述节点层模块获取的令牌与所述第一消息推送模块建立通信连接;
所述后端模块向所述第二消息推送模块推送消息;
所述第二消息推送模块将所述消息推送到所述第一消息推送模块;
所述第一消息推送模块将所述消息推送到所述前端模块;
所述节点层模块用于管理令牌;
检测模块用于检测所述第二消息推送模块和所述第一消息推送模块的状态,判断所述消息的推送是否成功,
所述第二消息推送模块具有重传机制实现网络连接中断后的重新连接,
所述节点层模块控制所述第一消息推送模块的主题和所述令牌间的映射关系和/或所述令牌的权限,
所述节点层模块通过所述令牌实现对消息推送的授权、鉴权管理,并且所述节点层模块和所述后端模块解耦。
18.一种消息推送系统,包括:前端设备、云平台和处理系统,其中,
所述处理系统产生被推送的所述消息,并且根据第一标识信息从所述云平台申请令牌,
所述前端设备根据从所述处理系统获取的令牌与所述云平台建立通信连接,并且通过所述通信连接接收消息,
所述云平台将所述消息从所述处理系统推送到所述前端设备,
所述处理系统中的节点层模块控制第一消息推送模块的主题和令牌间的映射关系和/或所述令牌的权限,
所述节点层模块通过所述令牌实现对消息推送的授权、鉴权管理,并且所述节点层模块和所述处理系统中的后端模块解耦。
19.一种电子设备,其特征在于,包括存储器和处理器;其中,
所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如权利要求1-8任一项所述的方法。
20.一种可读存储介质,其上存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010501608.8A CN111669315B (zh) | 2020-06-04 | 2020-06-04 | 消息推送方法、装置、系统、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010501608.8A CN111669315B (zh) | 2020-06-04 | 2020-06-04 | 消息推送方法、装置、系统、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111669315A CN111669315A (zh) | 2020-09-15 |
CN111669315B true CN111669315B (zh) | 2022-11-18 |
Family
ID=72386253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010501608.8A Active CN111669315B (zh) | 2020-06-04 | 2020-06-04 | 消息推送方法、装置、系统、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111669315B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112311868B (zh) * | 2020-10-27 | 2023-02-03 | 上海淇馥信息技术有限公司 | 消息触达方法、装置和电子设备 |
CN113162989A (zh) * | 2021-03-29 | 2021-07-23 | 华东师范大学 | 一种基于MQTT-WebSocket的消息收发方法 |
CN114047882A (zh) * | 2021-11-18 | 2022-02-15 | 中国科学院计算机网络信息中心 | 一种单桶读写权限分离的身份认证方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111131501A (zh) * | 2019-12-31 | 2020-05-08 | 郑州信大捷安信息技术股份有限公司 | 一种基于mqtt协议的消息推送系统及方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101877188B1 (ko) * | 2014-07-21 | 2018-07-10 | 콘비다 와이어리스, 엘엘씨 | Mqtt 프로토콜을 이용한 서비스 층 상호연동 |
US10645181B2 (en) * | 2016-12-12 | 2020-05-05 | Sap Se | Meta broker for publish-subscribe-based messaging |
KR102004160B1 (ko) * | 2016-12-22 | 2019-07-26 | 경희대학교 산학협력단 | 사물인터넷 환경에서 클라이언트 식별자를 이용하여 클라이언트 노드들을 논리적으로 그룹화하는 장치 및 방법 |
US20200067903A1 (en) * | 2018-08-24 | 2020-02-27 | International Business Machines Corporation | Integration of Publish-Subscribe Messaging with Authentication Tokens |
CN109862063A (zh) * | 2018-11-12 | 2019-06-07 | 平安科技(深圳)有限公司 | 基于mqtt的发布订阅匹配方法、装置及存储介质 |
-
2020
- 2020-06-04 CN CN202010501608.8A patent/CN111669315B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111131501A (zh) * | 2019-12-31 | 2020-05-08 | 郑州信大捷安信息技术股份有限公司 | 一种基于mqtt协议的消息推送系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111669315A (zh) | 2020-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111669315B (zh) | 消息推送方法、装置、系统、电子设备及可读存储介质 | |
CN110311983B (zh) | 服务请求的处理方法、装置、系统、电子设备及存储介质 | |
CN109995877B (zh) | 信息推送方法和装置 | |
CN111447185B (zh) | 一种推送信息的处理方法及相关设备 | |
CN108681777B (zh) | 一种基于分布式系统的机器学习程序运行的方法和装置 | |
CN113157466A (zh) | 一种消息推送方法、装置、系统、电子设备和存储介质 | |
CN111163130B (zh) | 一种网络服务系统及其数据传输方法 | |
MX2013011250A (es) | Proporcion de un servicio de testigo. | |
CN108924036B (zh) | 用于分配资源、领取资源的方法和设备 | |
CN102946405A (zh) | Smb2扩展 | |
CN110874232B (zh) | 虚拟机组件升级方法、设备和计算机可读存储介质 | |
CN111970240A (zh) | 集群纳管方法、装置及电子设备 | |
CN111857772B (zh) | 终端边缘应用程序远程传输及动态加载方法及设备 | |
CN113206877A (zh) | 一种会话保持方法及装置 | |
EP3276914A1 (en) | Data sharing method and device for virtual desktop | |
CN113992352A (zh) | 一种消息推送方法、装置、电子设备及存储介质 | |
US11381665B2 (en) | Tracking client sessions in publish and subscribe systems using a shared repository | |
CN114979144B (zh) | 云边通信方法、装置及电子设备 | |
CN113079085B (zh) | 商服交互方法、装置、设备及存储介质 | |
CN110809759A (zh) | 用于管理客户端-服务器系统中的网络通知的技术 | |
CN114257632A (zh) | 断线重连的方法、装置、电子设备及可读存储介质 | |
CN114793232A (zh) | 业务处理方法、装置、电子设备及存储介质 | |
CN113472598A (zh) | 云服务方法、电子设备和计算机可读存储介质 | |
US9154548B2 (en) | Auditable distribution of a data file | |
CN111226242B (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 |