CN115878341A - 消息的订阅方法和装置、存储介质及电子装置 - Google Patents
消息的订阅方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN115878341A CN115878341A CN202111144915.6A CN202111144915A CN115878341A CN 115878341 A CN115878341 A CN 115878341A CN 202111144915 A CN202111144915 A CN 202111144915A CN 115878341 A CN115878341 A CN 115878341A
- Authority
- CN
- China
- Prior art keywords
- subscription
- message
- relationship
- subscriber
- consumption group
- 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
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000004590 computer program Methods 0.000 claims description 12
- 238000013475 authorization Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000012423 maintenance Methods 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种消息的订阅方法和装置、存储介质、电子装置,其中,上述方法包括:解析订阅方发送的订阅请求,以获取所述订阅请求中的订阅主题和消费组;确定所述消费组与所述订阅主题是否存在订阅关系,在确定所述订阅主题与所述消费组存在订阅关系的情况下,查询所述订阅主题对应的消息队列;根据所述消息队列执行相应的订阅程序,以订阅所述消息队列中的消息,采用上述技术方案,解决了业务方在订阅消息队列时,需要花费大量的时间编写不同的代码来实现数据订阅,代码维护成本高。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种消息的订阅方法和装置、存储介质及电子装置。
背景技术
消息队列是IOT领域非常重要的组件,每天都有着大量的设备、用户、业务消息等上报到消息系统,比如:设备状态、绑定设备、解绑设备等消息。针对不同的场景会使用到不同类型的消息队列,如Kafka,RocketMq等。大量的业务方经常需要从消息系统的多个消息队列中订阅数据来满足自己的业务需求,但是每种消息队列的订阅代码实现都不相同,如图3所示,即使是同一种类型的消息列队,不同的部署方式订阅代码也不相同,业务方在订阅时需要花费大量的时间编写不同的代码来订阅数据,导致代码维护成本较高,增加了人力成本。同时,现有的消息队列也没有提供主题topic级别的鉴权,无法保证让业务方只订阅自己的主题,数据的安全性很难保证。针对上述问题,如果能提供一种统一的订阅方式,屏蔽其不同消息队列底层实现,实现智能订阅,让订阅方只关注业务数据的处理,减少代码的维护成本,提高代码的可复用性。同时,再提供topic级别的鉴权,来保证数据订阅的安全性。
针对相关技术中,业务方在订阅消息队列时,需要花费大量的时间编写不同的代码来实现数据订阅,代码维护成本高,尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种消息的订阅方法和装置、存储介质及电子装置,以至少解决相关技术中,业务方在订阅消息队列时,需要花费大量的时间编写不同的代码来实现数据订阅,代码维护成本高。
根据本发明实施例的一个实施例,提供了一种消息的订阅方法,包括:解析订阅方发送的订阅请求,以获取所述订阅请求中的订阅主题和消费组;确定所述消费组与所述订阅主题是否存在订阅关系,在确定所述订阅主题与所述消费组存在订阅关系的情况下,查询所述订阅主题对应的消息队列;根据所述消息队列执行相应的订阅程序,以订阅所述消息队列中的消息。
在一个示例性实施例中,解析订阅方发送的订阅请求之前,所述方法还包括:接收所述订阅方发送的申请订阅消息,其中,所述申请订阅消息包括:待建立订阅关系的消费组、待建立订阅关系的订阅主题;根据所述申请订阅消息建立所述待建立订阅关系的消费组与待建立订阅关系的订阅主题的订阅关系;在成功授权所述待建立订阅关系的消费组与所述待建立订阅关系的订阅主题的订阅关系的情况下,向所述订阅方发送授权成功的第一提示信息,其中,所述第一提示信息用于指示所述待建立订阅关系的消费组与待建立订阅关系的订阅主题建立订阅关系。
在一个示例性实施例中,根据所述申请订阅消息建立所述待建立订阅关系的消费组与待建立订阅关系的订阅主题的订阅关系,包括:解析所述订阅方发送的申请订阅消息以获取所述订阅方的基本信息;确定在数据库中存储的白名单中是否存在与所述订阅方的基本信息一致的基本信息;在数据库中存储的白名单中存在与所述订阅方的基本信息一致的基本信息,建立所述待建立订阅关系的消费组与待建立订阅关系的订阅主题的订阅关系。
在一个示例性实施例中,根据所述申请订阅消息建立所述消费组与订阅主题的订阅关系之后,所述方法还包括:接收所述订阅方发送的取消订阅消息,其中,所述取消订阅消息包括:待取消订阅关系的消费组、待取消订阅关系的订阅主题;根据取消订阅消息解除所述待取消订阅关系的消费组与所述待取消订阅关系的订阅主题的订阅关系。
在一个示例性实施例中,根据所述消息队列执行相应的订阅程序,以订阅所述消息队列中的消息之后,所述方法还包括:接收所述消息队列发送的订阅结果;在所述订阅结果指示订阅成功的情况下,获取所述消息队列中的消息。
在一个示例性实施例中,获取所述消息队列中的消息,包括:监控所述消息队列的消息,以确定所述消息队列的消息是否发生更新;在所述消息队列的消息发生更新的情况下,获取更新后的消息,并将所述更新后的消息发送至所述订阅方。
在一个示例性实施例中,确定所述消费组与所述订阅主题是否存在订阅关系之后,所述方法还包括:在确定所述订阅主题与所述消费组不存在订阅关系的情况下,生成订阅失败的第二提示信息,其中,所述第二提示信息用于指示所述订阅主题与所述消费组不存在订阅关系;向所述订阅方发送所述第二提示信息,以使所述订阅方确定所述订阅方无权订阅所述消息队列。
根据本发明实施例的另一个实施例,还提供了一种消息的订阅装置,包括:解析模块,用于解析订阅方发送的订阅请求,以获取所述订阅请求中的订阅主题和消费组;查询模块,用于确定所述消费组与所述订阅主题是否存在订阅关系,在确定所述订阅主题与所述消费组存在订阅关系的情况下,查询所述订阅主题对应的消息队列;订阅模块,用于根据所述消息队列执行相应的订阅程序,以订阅所述消息队列中的消息。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述消息的订阅方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的消息的订阅方法。
在本发明实施例中,解析订阅方发送的订阅请求,以获取所述订阅请求中的订阅主题和消费组;确定所述消费组与所述订阅主题是否存在订阅关系,在确定所述订阅主题与所述消费组存在订阅关系的情况下,查询所述订阅主题对应的消息队列;根据所述消息队列执行相应的订阅程序,以订阅所述消息队列中的消息;即通过判断订阅主题与所述消费组是否存在订阅关系,在所述订阅主题与所述消费组存在订阅关系的情况下,根据对应的订阅程序进行订阅消息,采用上述技术方案,解决了业务方在订阅消息队列时,需要花费大量的时间编写不同的代码来实现数据订阅,代码维护成本高,进而业务方实现智能订阅,提高代码的可复用性,降低维护成本。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种消息的订阅方法的计算机终端的硬件结构框图;
图2是根据本发明实施例的消息的订阅方法的流程图;
图3是现有技术的消息的订阅方法的示意图;
图4是根据本发明可选实施例的消息的订阅方法的整体方案图;
图5是根据本发明可选实施例的消息的订阅方法的流程图;
图6是根据本发明实施例的一种消息的订阅装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的一种消息的订阅方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的消息的订阅方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种消息的订阅方法,应用于上述计算机终端,图2是根据本发明实施例的消息的订阅方法的流程图,该流程包括如下步骤:
步骤S202,解析订阅方发送的订阅请求,以获取所述订阅请求中的订阅主题和消费组;
步骤S204,确定所述消费组与所述订阅主题是否存在订阅关系,在确定所述订阅主题与所述消费组存在订阅关系的情况下,查询所述订阅主题对应的消息队列;
步骤S206,根据所述消息队列执行相应的订阅程序,以订阅所述消息队列中的消息。
通过上述步骤,解析订阅方发送的订阅请求,以获取所述订阅请求中的订阅主题和消费组;确定所述消费组与所述订阅主题是否存在订阅关系,在确定所述订阅主题与所述消费组存在订阅关系的情况下,查询所述订阅主题对应的消息队列;根据所述消息队列执行相应的订阅程序,以订阅所述消息队列中的消息;即通过判断订阅主题与所述消费组是否存在订阅关系,在所述订阅主题与所述消费组存在订阅关系的情况下,根据对应的订阅程序进行订阅消息,采用上述技术方案,解决了业务方在订阅消息队列时,需要花费大量的时间编写不同的代码来实现数据订阅,代码维护成本高,进而业务方实现智能订阅,提高代码的可复用性,降低维护成本。
也就是说,本发明实施例通过订阅方发起订阅请求,消息订阅系统会对订阅方进行鉴权,鉴权通过后,再根据订阅主题智能匹配出需要订阅的消息队列,最后实现对消息队列的订阅。
在一个示例性实施例中,解析订阅方发送的订阅请求之前,接收所述订阅方发送的申请订阅消息,其中,所述申请订阅消息包括:待建立订阅关系的消费组、待建立订阅关系的订阅主题;根据所述申请订阅消息建立所述待建立订阅关系的消费组与待建立订阅关系的订阅主题的订阅关系;在成功授权所述待建立订阅关系的消费组与所述待建立订阅关系的订阅主题的订阅关系的情况下,向所述订阅方发送授权成功的第一提示信息,其中,所述第一提示信息用于指示所述待建立订阅关系的消费组与待建立订阅关系的订阅主题建立订阅关系。
也就是说,可以通过以下方式建立消费组和订阅主题的订阅关系,具体的,订阅方向消息订阅系统发送申请订阅消息,同时通过申请订阅消息提供订阅信息,如消费组和订阅主题等,消息订阅系统在接收到申请订阅消息的情况下,解析申请订阅消息获取待建立订阅关系的消费组与待建立订阅关系的订阅主题,并建立待建立订阅关系的消费组与待建立订阅关系的订阅主题的订阅关系。
进一步的,在成功对待建立订阅关系的消费组与待建立订阅关系的订阅主题建立订阅关系的情况下,向订阅方发送授权成功的提示信息,以提示订阅方消费组和订阅主题已成功建立订阅关系,订阅方可以订阅订阅主题对应的消息队列。
在一个示例性实施例中,根据所述申请订阅消息建立所述待建立订阅关系的消费组与待建立订阅关系的订阅主题的订阅关系,包括:解析所述订阅方发送的申请订阅消息以获取所述订阅方的基本信息;确定在数据库中存储的白名单中是否存在与所述订阅方的基本信息一致的基本信息;在数据库中存储的白名单中存在与所述订阅方的基本信息一致的基本信息,建立所述待建立订阅关系的消费组与待建立订阅关系的订阅主题的订阅关系。
需要说明的是,订阅方向消息订阅系统发送申请订阅消息,同时通过申请订阅消提供订阅信息,订阅信息还包括:订阅方的基本信息;获取在消息订阅系统对应的数据库中存储的白名单,根据订阅方的基本信息确定白名单中是否存在与订阅方的基本信息一致的基本信息(也可以理解为白名单中是否存在订阅方),在确定白名单中存在与订阅方的基本信息一致的基本信息的情况下,建立所述待建立订阅关系的消费组与待建立订阅关系的订阅主题的订阅关系。
在一个示例性实施例中,根据所述申请订阅消息建立所述消费组与订阅主题的订阅关系之后,接收所述订阅方发送的取消订阅消息,其中,所述取消订阅消息包括:待取消订阅关系的消费组、待取消订阅关系的订阅主题;根据取消订阅消息解除所述待取消订阅关系的消费组与所述待取消订阅关系的订阅主题的订阅关系。
也就是说,可以通过以下方式取消消费组和订阅主题的订阅关系,具体的,订阅方向消息订阅系统发送取消订阅消息,同时通过取消订阅消息提供取消信息,如待取消订阅关系的消费组和待取消订阅关系的订阅主题等,消息订阅系统在接收到取消订阅消息的情况下,解析取消订阅消息获取待取消订阅关系的消费组和待取消订阅关系的订阅主题,并取消待取消订阅关系的消费组和待取消订阅关系的订阅主题的订阅关系。
进一步的,在成功取消待取消订阅关系的消费组和待取消订阅关系的订阅主题的订阅关系的情况下,向订阅方发送取消成功的提示信息,以提示订阅方消费组和订阅主题已成功取消订阅关系,订阅方禁止订阅订阅主题对应的消息队列。
在一个示例性实施例中,根据所述消息队列执行相应的订阅程序,以订阅所述消息队列中的消息之后,接收所述消息队列发送的订阅结果;在所述订阅结果指示订阅成功的情况下,获取所述消息队列中的消息。
换言之,根据获取到消息队列选择执行相应的订阅程序对消息队列进行订阅之后,消息队列将订阅结果反馈给消息订阅系统,当收到订阅成功的结果后,根据不同类型的消息队列,进行主动拉取或者监听消息队列的消息。
在一个示例性实施例中,获取所述消息队列中的消息,包括:监控所述消息队列的消息,以确定所述消息队列的消息是否发生更新;在所述消息队列的消息发生更新的情况下,获取更新后的消息,并将所述更新后的消息发送至所述订阅方。
也就是说,本发明实施例可以根据不同类型的消息队列,确定获取消息队列的消息的策略,策略包括:主动拉取消息队列、监听消息队列;在检测到消息队列的消息发生更新的情况下,向订阅方发送更新后的消息。
在一个示例性实施例中,确定所述消费组与所述订阅主题是否存在订阅关系之后,在确定所述订阅主题与所述消费组不存在订阅关系的情况下,生成订阅失败的第二提示信息,其中,所述第二提示信息用于指示所述订阅主题与所述消费组不存在订阅关系;向所述订阅方发送所述第二提示信息,以使所述订阅方确定所述订阅方无权订阅所述消息队列。
具体的,消息订阅系统对订阅方的订阅主题进行鉴权,判断消息组是否与订阅主题有订阅关系,如果无订阅关系则返回订阅失败的第二提示信息;如果无订阅关系,则允许订阅方继续进行订阅对应的消息队列。
为了更好的理解上述消息的订阅方法的过程,以下再结合可选实施例对上述消息的订阅的实现方法流程进行说明,但不用于限定本发明实施例的技术方案。
本发明实施例提出的是一种消息的订阅方法,如图4所示,图4是根据本发明可选实施例的消息的订阅方法的整体方案图,包括:订阅方发起订阅,消息订阅系统会对订阅方进行topic鉴权,鉴权通过后,再根据topic智能匹配出需要订阅的消息队列,最后对消息队列进行订阅。
在本实施例中提供了一种消息的订阅方法,图5是根据本发明实施例的消息的订阅方法的示意图,如图5所示,具体如下步骤:
步骤S501:订阅方向消息订阅系统发送申请订阅消息的请求,同时通过申请订阅消息提供订阅信息,如groupId(相当于上述实施例中的消费组)、topic(相当于上述实施例中的订阅主题);订阅方信息(相当于上述实施例中的订阅方的基本信息);
步骤S502:消息订阅系统为订阅方授权groupId与topic的订阅关系;
步骤S503:消息订阅系统授权成功后通知订阅方可以开始进行消息订阅;
步骤S504:订阅方调用消息订阅系统的订阅接口发起订阅请求,并只携带订阅参数:groupId及topic;
步骤S505:消息订阅系统对订阅方的topic进行鉴权,判断groupId是否与topic有订阅关系,如果groupId是否与topic没有订阅关系,则向订阅方返回订阅失败的提示信息;如果groupId与topic有订阅关系,则允许订阅方继续进行订阅;
步骤S506:消息订阅系统根据订阅方发送的topic,从数据库中智能匹配出实际要订阅的消息队列;
步骤S507:根据获取到消息队列选择执行相应的订阅程序对消息队列中的消息进行订阅;
步骤S508:消息队列将订阅结果反馈给消息订阅系统;
步骤S509:当消息订阅系统收到订阅成功的订阅结果后,根据不同类型的消息队列,进行主动拉取或者监听消息队列的消息;
步骤S510:接收消息队列的消息;
步骤S511:向订阅方发送消息队列的消息,以使订阅方接收到消息队列的消息后进行业务逻辑处理。
在本发明实施例中,解析订阅方发送的订阅请求,以获取所述订阅请求中的订阅主题和消费组;确定所述消费组与所述订阅主题是否存在订阅关系,在确定所述订阅主题与所述消费组存在订阅关系的情况下,查询所述订阅主题对应的消息队列;根据所述消息队列执行相应的订阅程序,以订阅所述消息队列中的消息;即通过判断订阅主题与所述消费组是否存在订阅关系,在所述订阅主题与所述消费组存在订阅关系的情况下,根据对应的订阅程序进行订阅消息,采用上述技术方案,解决了业务方在订阅消息队列时,需要花费大量的时间编写不同的代码来实现数据订阅,代码维护成本高,进而业务方实现智能订阅,提高代码的可复用性,降低维护成本。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
在本实施例中提供了一种消息的订阅装置,图6是根据本发明实施例的一种消息的订阅装置的结构框图;如图6所示,包括:
解析模块62,解析订阅方发送的订阅请求,以获取所述订阅请求中的订阅主题和消费组;
查询模块64,确定所述消费组与所述订阅主题是否存在订阅关系,在确定所述订阅主题与所述消费组存在订阅关系的情况下,查询所述订阅主题对应的消息队列;
订阅模块66,根据所述消息队列执行相应的订阅程序,以订阅所述消息队列中的消息。
通过上述模块,解析订阅方发送的订阅请求,以获取所述订阅请求中的订阅主题和消费组;确定所述消费组与所述订阅主题是否存在订阅关系,在确定所述订阅主题与所述消费组存在订阅关系的情况下,查询所述订阅主题对应的消息队列;根据所述消息队列执行相应的订阅程序,以订阅所述消息队列中的消息;即通过判断订阅主题与所述消费组是否存在订阅关系,在所述订阅主题与所述消费组存在订阅关系的情况下,根据对应的订阅程序进行订阅消息,采用上述技术方案,解决了业务方在订阅消息队列时,需要花费大量的时间编写不同的代码来实现数据订阅,代码维护成本高,进而业务方实现智能订阅,提高代码的可复用性,降低维护成本。
也就是说,本发明实施例通过订阅方发起订阅请求,消息订阅系统会对订阅方进行鉴权,鉴权通过后再根据订阅主题智能匹配出需要订阅的消息队列,最后实现对消息队列的订阅。
在一个示例性实施例中,上述装置还包括:建立模块,用于接收所述订阅方发送的申请订阅消息,其中,所述申请订阅消息包括:待建立订阅关系的消费组、待建立订阅关系的订阅主题;根据所述申请订阅消息建立所述待建立订阅关系的消费组与待建立订阅关系的订阅主题的订阅关系;在成功授权所述待建立订阅关系的消费组与所述待建立订阅关系的订阅主题的订阅关系的情况下,向所述订阅方发送授权成功的第一提示信息,其中,所述第一提示信息用于指示所述待建立订阅关系的消费组与待建立订阅关系的订阅主题建立订阅关系。
也就是说,可以通过以下方式建立消费组和订阅主题的订阅关系,具体的,订阅方向消息订阅系统发送申请订阅消息,同时通过申请订阅消息提供订阅信息,如消费组和订阅主题等,消息订阅系统在接收到申请订阅消息的情况下,解析申请订阅消息获取待建立订阅关系的消费组与待建立订阅关系的订阅主题,并建立待建立订阅关系的消费组与待建立订阅关系的订阅主题的订阅关系。
进一步的,在成功对待建立订阅关系的消费组与待建立订阅关系的订阅主题建立订阅关系的情况下,向订阅方发送授权成功的提示信息,以提示订阅方消费组和订阅主题已成功建立订阅关系,订阅方可以订阅订阅主题对应的消息队列。
在一个示例性实施例中,建立模块,还用于解析所述订阅方发送的申请订阅消息以获取所述订阅方的基本信息;确定在数据库中存储的白名单中是否存在与所述订阅方的基本信息一致的基本信息;在数据库中存储的白名单中存在与所述订阅方的基本信息一致的基本信息,建立所述待建立订阅关系的消费组与待建立订阅关系的订阅主题的订阅关系。
需要说明的是,订阅方向消息订阅系统发送申请订阅消息,同时通过申请订阅消提供订阅信息,订阅信息还包括:订阅方的基本信息;获取在消息订阅系统对应的数据库中存储的白名单,根据订阅方的基本信息确定白名单中是否存在与订阅方的基本信息一致的基本信息(也可以理解为白名单中是否存在订阅方),在确定白名单中存在与订阅方的基本信息一致的基本信息的情况下,建立所述待建立订阅关系的消费组与待建立订阅关系的订阅主题的订阅关系。
在一个示例性实施例中,建立模块,还用于接收所述订阅方发送的取消订阅消息,其中,所述取消订阅消息包括:待取消订阅关系的消费组、待取消订阅关系的订阅主题;根据取消订阅消息解除所述待取消订阅关系的消费组与所述待取消订阅关系的订阅主题的订阅关系。
也就是说,可以通过以下方式取消消费组和订阅主题的订阅关系,具体的,订阅方向消息订阅系统发送取消订阅消息,同时通过取消订阅消息提供取消信息,如待取消订阅关系的消费组和待取消订阅关系的订阅主题等,消息订阅系统在接收到取消订阅消息的情况下,解析取消订阅消息获取待取消订阅关系的消费组和待取消订阅关系的订阅主题,并取消待取消订阅关系的消费组和待取消订阅关系的订阅主题的订阅关系。
进一步的,在成功取消待取消订阅关系的消费组和待取消订阅关系的订阅主题的订阅关系的情况下,向订阅方发送取消成功的提示信息,以提示订阅方消费组和订阅主题已成功取消订阅关系,订阅方禁止订阅订阅主题对应的消息队列。
在一个示例性实施例中,上述装置还包括:获取模块,用于接收所述消息队列发送的订阅结果;在所述订阅结果指示订阅成功的情况下,获取所述消息队列中的消息。
换言之,根据获取到消息队列选择执行相应的订阅程序对消息队列进行订阅之后,消息队列将订阅结果反馈给消息订阅系统,当收到订阅成功的结果后,根据不同类型的消息队列,进行主动拉取或者监听消息队列的消息。
在一个示例性实施例中,获取模块,还用于监控所述消息队列的消息,以确定所述消息队列的消息是否发生更新;在所述消息队列的消息发生更新的情况下,获取更新后的消息,并将所述更新后的消息发送至所述订阅方。
也就是说,本发明实施例可以根据不同类型的消息队列,确定获取消息队列的消息的策略,策略包括:主动拉取消息队列、监听消息队列;在检测到消息队列的消息发生更新的情况下,向订阅方发送更新后的消息。
在一个示例性实施例中,上述装置还包括,发送模块,用于在确定所述订阅主题与所述消费组不存在订阅关系的情况下,生成订阅失败的第二提示信息,其中,所述第二提示信息用于指示所述订阅主题与所述消费组不存在订阅关系;向所述订阅方发送所述第二提示信息,以使所述订阅方确定所述订阅方无权订阅所述消息队列。
具体的,消息订阅系统对订阅方的订阅主题进行鉴权,判断消息组是否与订阅主题有订阅关系,如果无订阅关系则返回订阅失败的第二提示信息;如果无订阅关系,则允许订阅方继续进行订阅对应的消息队列。
本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,解析订阅方发送的订阅请求,以获取所述订阅请求中的订阅主题和消费组;
S2,确定所述消费组与所述订阅主题是否存在订阅关系,在确定所述订阅主题与所述消费组存在订阅关系的情况下,查询所述订阅主题对应的消息队列;
S3,根据所述消息队列执行相应的订阅程序,以订阅所述消息队列中的消息。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,解析订阅方发送的订阅请求,以获取所述订阅请求中的订阅主题和消费组;
S2,确定所述消费组与所述订阅主题是否存在订阅关系,在确定所述订阅主题与所述消费组存在订阅关系的情况下,查询所述订阅主题对应的消息队列;
S3,根据所述消息队列执行相应的订阅程序,以订阅所述消息队列中的消息。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(RandomAccess Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种消息的订阅方法,其特征在于,包括:
解析订阅方发送的订阅请求,以获取所述订阅请求中的订阅主题和消费组;
确定所述消费组与所述订阅主题是否存在订阅关系,在确定所述订阅主题与所述消费组存在订阅关系的情况下,查询所述订阅主题对应的消息队列;
根据所述消息队列执行相应的订阅程序,以订阅所述消息队列中的消息。
2.根据权利要求1所述的消息的订阅方法,其特征在于,解析订阅方发送的订阅请求之前,所述方法还包括:
接收所述订阅方发送的申请订阅消息,其中,所述申请订阅消息包括:待建立订阅关系的消费组、待建立订阅关系的订阅主题;
根据所述申请订阅消息建立所述待建立订阅关系的消费组与待建立订阅关系的订阅主题的订阅关系;
在成功授权所述待建立订阅关系的消费组与所述待建立订阅关系的订阅主题的订阅关系的情况下,向所述订阅方发送授权成功的第一提示信息,其中,所述第一提示信息用于指示所述待建立订阅关系的消费组与待建立订阅关系的订阅主题建立订阅关系。
3.根据权利要求2所述的消息的订阅方法,其特征在于,根据所述申请订阅消息建立所述待建立订阅关系的消费组与待建立订阅关系的订阅主题的订阅关系,包括:
解析所述订阅方发送的申请订阅消息以获取所述订阅方的基本信息;
确定在数据库中存储的白名单中是否存在与所述订阅方的基本信息一致的基本信息;
在数据库中存储的白名单中存在与所述订阅方的基本信息一致的基本信息,建立所述待建立订阅关系的消费组与待建立订阅关系的订阅主题的订阅关系。
4.根据权利要求2所述的消息的订阅方法,其特征在于,根据所述申请订阅消息建立所述消费组与订阅主题的订阅关系之后,所述方法还包括:
接收所述订阅方发送的取消订阅消息,其中,所述取消订阅消息包括:待取消订阅关系的消费组、待取消订阅关系的订阅主题;
根据取消订阅消息解除所述待取消订阅关系的消费组与所述待取消订阅关系的订阅主题的订阅关系。
5.根据权利要求1所述的消息的订阅方法,其特征在于,根据所述消息队列执行相应的订阅程序,以订阅所述消息队列中的消息之后,所述方法还包括:
接收所述消息队列发送的订阅结果;
在所述订阅结果指示订阅成功的情况下,获取所述消息队列中的消息。
6.根据权利要求5所述的消息的订阅方法,其特征在于,获取所述消息队列中的消息,包括:
监控所述消息队列的消息,以确定所述消息队列的消息是否发生更新;
在所述消息队列的消息发生更新的情况下,获取更新后的消息,并将所述更新后的消息发送至所述订阅方。
7.根据权利要求1所述的消息的订阅方法,其特征在于,确定所述消费组与所述订阅主题是否存在订阅关系之后,所述方法还包括:
在确定所述订阅主题与所述消费组不存在订阅关系的情况下,生成订阅失败的第二提示信息,其中,所述第二提示信息用于指示所述订阅主题与所述消费组不存在订阅关系;
向所述订阅方发送所述第二提示信息,以使所述订阅方确定所述订阅方无权订阅所述消息队列。
8.一种消息的订阅装置,其特征在于,包括:
解析模块,用于解析订阅方发送的订阅请求,以获取所述订阅请求中的订阅主题和消费组;
查询模块,用于确定所述消费组与所述订阅主题是否存在订阅关系,在确定所述订阅主题与所述消费组存在订阅关系的情况下,查询所述订阅主题对应的消息队列;
订阅模块,用于根据所述消息队列执行相应的订阅程序,以订阅所述消息队列中的消息。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111144915.6A CN115878341A (zh) | 2021-09-28 | 2021-09-28 | 消息的订阅方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111144915.6A CN115878341A (zh) | 2021-09-28 | 2021-09-28 | 消息的订阅方法和装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115878341A true CN115878341A (zh) | 2023-03-31 |
Family
ID=85763581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111144915.6A Pending CN115878341A (zh) | 2021-09-28 | 2021-09-28 | 消息的订阅方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115878341A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117527880A (zh) * | 2024-01-05 | 2024-02-06 | 南京研利科技有限公司 | 消息管理方法、装置、电子设备及计算机可读取存储介质 |
CN117544677A (zh) * | 2023-11-08 | 2024-02-09 | 苏州盖雅信息技术有限公司 | 一种消息队列topic复用的实现方法 |
-
2021
- 2021-09-28 CN CN202111144915.6A patent/CN115878341A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117544677A (zh) * | 2023-11-08 | 2024-02-09 | 苏州盖雅信息技术有限公司 | 一种消息队列topic复用的实现方法 |
CN117544677B (zh) * | 2023-11-08 | 2024-05-17 | 苏州盖雅信息技术有限公司 | 一种消息队列topic复用的实现方法、系统、装置及存储介质 |
CN117527880A (zh) * | 2024-01-05 | 2024-02-06 | 南京研利科技有限公司 | 消息管理方法、装置、电子设备及计算机可读取存储介质 |
CN117527880B (zh) * | 2024-01-05 | 2024-04-09 | 南京研利科技有限公司 | 消息管理方法、装置、电子设备及计算机可读取存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110214459B (zh) | 业务处理的方法和设备 | |
CN111885585B (zh) | 通信业务的开通方法及通信装置 | |
CN104021141B (zh) | 数据处理和云服务的方法、装置及系统 | |
CN115878341A (zh) | 消息的订阅方法和装置、存储介质及电子装置 | |
CN104156246B (zh) | 灰度升级的方法及装置 | |
WO2015191964A1 (en) | Enforcing policies based on information received from external systems | |
EP3837805B1 (en) | Methods, apparatus and computer-readable mediums supporting subscriptions to events in a core network | |
CN103984887A (zh) | 控制用户权限的方法及装置 | |
CN112672357A (zh) | 处理业务系统中用户账号的方法、装置及计算机设备 | |
EP2866379B1 (en) | Method and device for enabling or disabling server in wireless communication system | |
CN108022126A (zh) | 抽奖资格的确定方法、装置、服务器及存储介质 | |
CN111356182A (zh) | 一种资源的调度、处理方法及装置 | |
US20240098631A1 (en) | Filters for bulk subscriptions | |
CN104869208A (zh) | 电话语音留言的方法、设备以及系统 | |
CN107425994B (zh) | 一种实现参数远程管理的方法、终端和服务器 | |
CN112132612A (zh) | 任务处理方法、装置、电子设备和存储介质 | |
CN102572762A (zh) | 一种应用调用业务能力的方法、计费方法以及装置 | |
CN103607324B (zh) | 用于Java消息服务的数据处理方法及Java消息客户端和服务器 | |
CN108234795B (zh) | 语音告警方法、装置、系统、存储介质及处理器 | |
CN113518317B (zh) | 提示信息的发送方法和装置、存储介质及电子装置 | |
CN112437146B (zh) | 一种设备状态同步方法、装置及系统 | |
CN115550135A (zh) | 一种告警信息传输方法、装置、网元及存储介质 | |
US9160811B2 (en) | Client provisioning with enhanced linking | |
CN109286905A (zh) | 短信加密处理方法、发送终端以及短信加密处理系统 | |
CN112968921B (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 |