CN110278231A - 一种数据订阅分发方法及系统 - Google Patents
一种数据订阅分发方法及系统 Download PDFInfo
- Publication number
- CN110278231A CN110278231A CN201810218498.7A CN201810218498A CN110278231A CN 110278231 A CN110278231 A CN 110278231A CN 201810218498 A CN201810218498 A CN 201810218498A CN 110278231 A CN110278231 A CN 110278231A
- Authority
- CN
- China
- Prior art keywords
- subscription
- topic
- cluster server
- field
- pull
- 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
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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种数据订阅分发方法及系统,用以解决由于现有的消息队列服务局限于主题级的授权,使得用户订阅更细粒度的消息数据时增加了额外的处理流程对数据进行过滤而导致的浪费流量的问题。所述数据订阅分发方法包括:消息队列集群服务器接收订阅端发送的订阅请求,其中,所述订阅请求中携带请求订阅的字段名称;确定所述请求订阅的字段个数小于已存储的原主题Topic中的每条消息内容中的字段个数,所述原Topic为所述请求订阅的字段名称对应的字段内容隶属的Topic;从所述原Topic中提取所述请求订阅的字段内容,组成新的Topic;将所述新的Topic中的所述字段内容分发给所述订阅端。
Description
技术领域
本发明涉及大数据技术领域,尤其涉及一种数据订阅分发方法及系统。
背景技术
现有的大数据平台业务场景中,涉及到大量的多租户使用需求,需要针对不同的租户进行数据存储资源的分类管理和权限分配,如对数据进行订阅分发管理等。
随着对数据时效性要求的提高,实时处理技术逐渐应用于大数据平台中,在实时数据的采集和汇聚时可以采用分布式消息队列来实现对数据的缓冲,其中,Apache Kafka就是常用的消息队列服务,它是由Apache软件基金会开发的一个开源消息系统项目,是一个分布式的、分区的、多复本的日志提交服务,提供了一个消息系统的功能。Kafka以一个拥有一台或多台服务器的集群运行着,Kafka维护按类区分的消息,称为主题(Topic),通常同一种类型的消息会发布到同一个主题,生产者(Producer)是能够发布消息到主题的对象,即消息的发布者,消费者(Consumer)是能够订阅一个或多个主题并消费其中数据的对象。
然而,现有的Kafka及其它类似的消息队列服务虽然能够满足实时性需求,但是其仅支持主题粒度的授权方式,当用户发起订阅请求,将获得相应主题内的全量数据,包括没有权限使用或者不需要使用的字段,而需要用户增加额外的处理流程对数据进行过滤,浪费用户流量。
发明内容
为了解决由于现有的消息队列服务局限于主题级的授权,使得用户订阅更细粒度的消息数据时增加了额外的处理流程对数据进行过滤而导致的浪费流量的问题,本发明实施例提供了一种数据订阅分发方法及系统。
第一方面,本发明实施例提供了一种数据订阅分发方法,包括:
消息队列集群服务器接收订阅端发送的订阅请求,其中,所述订阅请求中携带请求订阅的字段名称;
确定所述请求订阅的字段个数小于已存储的原主题Topic中的每条消息内容中的字段个数,所述原Topic为所述请求订阅的字段名称对应的字段内容隶属的Topic;
从所述原Topic中提取所述请求订阅的字段内容,组成新的Topic;
将所述新的Topic中的所述字段内容分发给所述订阅端。
采用本发明实施例提供的数据订阅分发方法,消息队列集群服务器接收订阅端发送的订阅请求,该订阅请求中携带请求订阅的字段名称,消息队列集群服务器接收到该订阅请求后,确定所述请求订阅的字段个数小于已存储的原Topic中的每条消息内容中的字段个数,其中,所述原Topic为所述请求订阅的字段名称对应的字段内容隶属的Topic,消息队列集群服务器从存储的原Topic中提取所述请求订阅的字段内容,组成新的Topic,再将新的Topic中的所述字段内容分发给订阅端,从而使得消费者即订阅端用户可以根据需要按照字段订阅消息,可以直接订阅小于全量数据的字段内容,无需增加额外的流量对订阅的数据进行过滤处理,从而为订阅端用户节省了流量。
较佳地,所述消息队列集群服务器包括外部消息队列集群服务器和内部消息队列集群服务器;
消息队列集群服务器接收订阅端发送的订阅请求,具体包括:
所述外部消息队列集群服务器接收订阅端发送的订阅请求;以及
确定所述请求订阅的字段个数小于已存储的原Topic中的每条消息内容中的字段个数,具体包括:
所述外部消息队列集群服务器确定所述请求订阅的字段个数小于已存储的原Topic中的每条消息内容中的字段个数;以及
从所述原Topic中提取所述请求订阅的字段内容,组成新的Topic,具体包括:
所述外部消息队列集群服务器从所述原Topic中提取所述请求订阅的字段内容,组成新的Topic。
较佳地,所述原Topic中的每条消息为通过预设接口按照预设格式存储至所述外部消息队列集群服务器的。
将所述新的Topic中的所述字段内容分发给所述订阅端,具体包括:
所述外部消息队列集群服务器将所述新的Topic发送至所述内部消息队列集群服务器;
所述内部消息队列集群服务器将所述新的Topic中的所述字段内容分发给所述订阅端。
可选地,在所述内部消息队列集群服务器将所述新的Topic中的所述字段内容分发给所述订阅端之前,还包括:
所述内部消息队列集群服务器将所述新的Topic的消费权限授予所述订阅端。
消息队列集群服务器分为两个集群:外部消息队列集群服务器和内部消息队列集群服务器。外部消息队列集群服务器用于接收订阅端发送的订阅请求,生产者将消息即源数据通过预设接口按照与该预设接口对应的预设格式存储到外部消息队列集群服务器,消息发送至外部消息队列集群服务器时需要符合预定义的数据接入格式,如某个接口数据规定包含若干字段,后台接入数据时就需要外部消息队列集群服务器与接口绑定的Topic中写入以固定分隔符拼接而成的记录,订阅端用户可见各接口预定义的所有字段名称,并通过订阅端对其中的一个或多个字段进行订阅,能够满足订阅端用户即消费者对主题下更细粒度的字段的订阅需求。外部消息队列集群服务器对存储的订阅端订阅的字段名称对应的字段内容隶属的原Topic进行预处理,即提取订阅端请求的字段内容组成新的Topic,将新的Topic发送至内部消息队列集群服务器,由内部消息队列集群服务器将该新的Topic的消费权限授予该订阅端,并将新的Topic中的字段内容分发给订阅端,从而使得订阅端用户只可接触到内部消息队列集群服务器分发的字段级的消息数据,避免用户获取到没有权限使用的其它字段,使得数据的采集和分发过程互不影响性能并实现集群的互备,同时增强了消息队列集群服务器对订阅端用户使用权限的控制,提高了安全性。
第二方面,本发明实施例提供了一种数据订阅分发系统,包括外部消息队列集群服务器和内部消息队列集群服务器,其中:
所述外部消息队列集群服务器,用于接收订阅端发送的订阅请求,其中,所述订阅请求中携带请求订阅的字段名称;确定所述请求订阅的字段个数小于已存储的原主题Topic中的每条消息内容中的字段个数,所述原Topic为所述请求订阅的字段名称对应的字段内容隶属的Topic;从所述原Topic中提取所述请求订阅的字段内容,组成新的Topic;并将所述新的Topic发送至所述内部消息队列集群服务器;
所述内部消息队列集群服务器,用于将接收的所述新的Topic中的所述字段内容分发给所述订阅端。
较佳地,所述原Topic中的每条消息为通过预设接口按照预设格式存储至所述外部消息队列集群服务器的。
可选地,所述内部消息队列集群服务器,还用于在将所述新的Topic中的所述字段内容分发给所述订阅端之前,将所述新的Topic的消费权限授予所述订阅端。
本发明实施例提供的数据订阅分发系统,包括外部消息队列集群服务器和内部消息队列集群服务器,外部消息队列集群服务器用于接收订阅端发送的订阅请求,生产者将消息即源数据通过预设接口按照与该预设接口对应的预设格式存储到外部消息队列集群服务器,消息发送至外部消息队列集群服务器时需要符合预定义的数据接入格式,如某个接口数据规定包含若干字段,后台接入数据时就需要外部消息队列集群服务器与接口绑定的Topic中写入以固定分隔符拼接而成的记录,订阅端用户可见各接口预定义的所有字段名称,并通过订阅端对其中的一个或多个字段进行订阅,能够满足订阅端用户即消费者对主题下更细粒度的字段的订阅需求。外部消息队列集群服务器对存储的订阅端订阅的字段名称对应的字段内容隶属的原Topic进行预处理,即提取订阅端请求的字段内容组成新的Topic,将新的Topic发送至内部消息队列集群服务器,由内部消息队列集群服务器将该新的Topic的消费权限授予该订阅端,并将新的Topic中的字段内容分发给订阅端,从而使得订阅端用户只可接触到内部消息队列集群服务器分发的字段级的消息数据,避免用户获取到没有权限使用的其它字段,使得数据的采集和分发过程互不影响性能并实现集群的互备,同时增强了消息队列集群服务器对订阅端用户使用权限的控制,提高了安全性。
第三方面,本发明实施例提供了一种服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明所述的数据订阅分发方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明所述的数据订阅分发方法中的步骤。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例中,数据订阅分发方法的应用场景示意图;
图2为本发明实施例提供的数据订阅分发方法的实施流程示意图;
图3为本发明实施例中,提取请求订阅字段组成新的Topic的过程示意图;
图4为本发明实施例提供的数据订阅分发系统的结构示意图。
具体实施方式
为了解决由于现有的消息队列服务局限于主题级的授权,使得用户订阅更细粒度的消息数据时增加了额外的处理流程对数据进行过滤而导致的浪费流量的问题,本发明提出了一种数据订阅分发方法及系统。
本发明实施例提供的数据订阅分发方法的实施原理是:本发明实施例提供的数据订阅分发方法,消息队列集群服务器接收订阅端发送的订阅请求,该订阅请求中携带请求订阅的字段名称,消息队列集群服务器接收到该订阅请求后,确定所述请求订阅的字段个数小于已存储的原Topic中的每条消息内容中的字段个数,其中,所述原Topic为所述请求订阅的字段名称对应的字段内容隶属的Topic,消息队列集群服务器从存储的原Topic中提取所述请求订阅的字段内容,组成新的Topic,再将新的Topic中的所述字段内容分发给订阅端,从而使得消费者即订阅端用户可以根据需要按照字段订阅消息,可以直接订阅小于全量数据的字段内容,无需增加额外的流量对订阅的数据进行过滤处理,从而为订阅端用户节省了流量。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
首先参考图1,其为本发明实施例提供的数据订阅分发方法的应用场景示意图。本发明实施例中使用的分布式消息队列以Kafka为例进行说明,Kafka以一个拥有一台或多台服务器的集群11运行着,本发明实施例中把该集群11分为两个集群,每个集群中可以包括一台或多台服务器,将这两个集群中的服务器分别称为外部消息队列集群服务器111与内部消息队列集群服务器112,外部消息队列集群服务器111可以为一台,也可以为多台,同样地,内部消息队列集群服务器112可以为一台,也可以为多台,本发明实施例对此不作限定。外部消息队列集群服务器111接收生产者10发送的消息即源数据,外部消息队列集群服务器111中接收的消息以主题为单位进行存储,一个Topic就是一个类别或者一个可订阅的条目名称,对于每个Topic中的数据,可以分为多个分区(Partition)进行存储。对于需要从外部消息队列集群服务器111中订阅消息的消费者14来说,可以只关注从哪一个Topic中获取数据,用于存储数据的文件称为log(日志),每条消息的内容包含三个属性:偏移量(Offset)、消息大小(Message Size)、消息内容(Data),本发明实施例中,一条消息中的消息内容称为一条记录,一条记录由多个字段拼接而成,存储至外部消息队列集群服务器111中,字段间由分隔符连接,如:name|age|city(名字|年龄|城市),字段名称分别为name、age、city,该类型的消息组成的Topic中数据实例如表1所示:
表1
考虑如下应用场景,输入到外部消息队列集群服务器111中的消息是包含三个字段的name|age|city,但是消费者A需要订阅字段name和age,消费者B需要订阅字段name和city,按照现有技术方案,是分别授予消费者A和消费者B对该上述三个字段内容隶属的Topic的消费权限,消费者A和B分别再对获取到的包含name、age和city三个字段的数据进行字段的拆分和抽取,而导致用户浪费额外的流量,并且此时消费者A和B都有权限获取话题中所有字段使用权,无法保证数据安全性。
基于此,本发明实施例提供的数据订阅分发方法,采用外部消息队列集群服务器111接收生产者发送的消息,消费者14通过订阅端13向外部消息队列集群服务器111发送订阅请求,该订阅请求中携带请求订阅的字段名称,外部消息队列集群服务器111接收到该订阅请求后,确定请求订阅的字段个数小于已存储的原Topic中的每条消息内容中的字段个数,其中,原Topic为所述请求订阅的字段名称对应的字段内容隶属的Topic,从存储的原Topic中提取订阅端请求订阅的字段内容组成新的Topic后,将新的Topic中的字段内容发送至内部消息队列集群服务器112,由内部消息队列集群服务器112分发给订阅端13,从而使得订阅端用户可以根据需要按照字段订阅消息,可以直接订阅小于全量数据的字段内容,无需增加额外的流量对订阅的数据进行过滤处理,为订阅端用户节省了流量,并且,使得订阅端用户只可接触到内部消息队列集群服务器分发的字段级的消息数据,避免用户获取到没有权限使用的其它字段,使得数据的采集和分发过程互不影响性能并实现集群的互备,增强了消息队列集群服务器对订阅端用户使用权限的控制,提高了安全性。
需要说明的是,本发明实施例中的分布式消息队列以Kafka为例但不限于此,本发明实施例对此不作限定。
下面结合图1的应用场景,参考图2、3来描述根据本发明示例性实施方式的数据订阅分发方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
如图2所示,其为本发明实施例提供的数据订阅分发方法的实施流程示意图,可以包括以下步骤:
S21、外部消息队列集群服务器接收生产者发送的消息。
具体实施时,外部消息队列集群服务器预先定义接入消息即源数据的格式,生产者将消息通过预设接口按照与所述预设接口对应的预设格式接入外部消息队列集群服务器,外部消息队列集群服务器接收到生产者发送的消息后,根据不同消息类型存储到不同的Topic中并存储。例如某个接口规定包含三个字段name、age、city,接入消息时就需要在外部消息队列集群服务器与接口绑定的Topic中写入以固定分隔符拼接而成的记录,如Tom|18|London,如表1所示。
S22、外部消息队列集群服务器接收订阅端发送的订阅请求。
具体实施时,订阅端的消费者可见各接口预定义的所有字段名称,即name、age、city,消费者可以通过订阅端对其中的一个或多个字段进行订阅。具体地,消费者通过订阅端向外部消息队列集群服务器发送订阅请求,其中,该订阅请求中携带请求订阅的字段名称。例如消费者A订阅字段name和age,消费者B订阅字段name和city,则消费者A发送的订阅请求中包含的订阅字段名称为name和age,消费者B发送的订阅请求中包含的订阅字段名称为name和city。
较佳地,外部消息队列集群服务器接收到订阅端发送的订阅请求后,可以将订阅请求提交到数据管理员处进行审批,由数据管理员判断订阅端对订阅的字段是否有消费权限,如果是,则通过审批,否则向订阅端返回订阅失败消息,订阅端可以重新订阅。
S23、外部消息队列集群服务器确定请求订阅的字段个数小于已存储的原Topic中的每条消息内容中的字段个数。
具体实施时,所述原Topic为所述请求订阅的字段名称对应的字段内容隶属的Topic。如表1中所示的原Topic中每条消息内容包括3个字段name、age、city,消费者A订阅字段name和age,消费者B订阅字段name和city,消费者A和B所订阅的字段个数均小于已存储的订阅的字段名称对应的字段内容隶属的原Topic中的每条消息内容中的字段个数3。如果消费者订阅的字段个数与已存储的原Topic中的每条消息内容中的字段个数相等,则根据现有技术进行订阅分发即可。
S24、外部消息队列集群服务器从所述原Topic中提取所述请求订阅的字段内容,组成新的Topic。
具体实施时,当外部消息队列集群服务器确定消费者通过订阅端请求订阅的字段个数小于已存储的原Topic中的每条消息内容中的字段个数之后,从存储的该原Topic中提取所述请求订阅的字段内容,组成新的Topic。具体地,外部消息队列集群服务器可以通过内置的数据处理工具,对原Topic中的消息按字段进行拆分,提取请求订阅的字段内容,组成新的Topic。
上例中,具体拆分提取过程如图3所示,将表1中的原Topic记为Topic1,将针对消费者A请求订阅的字段从Topic1中提取出来后组成的新的Topic记为TopicA,将针对消费者B请求订阅的字段从Topic1中提取出来后组成的新的Topic记为TopicB。本实例中是假设消费者A和B请求订阅的同一Topic的字段不同的情况,如果消费者A和B请求订阅的同一Topic的字段相同,则组成一个新的Topic即可。同理,如果消费者A和B请求订阅的字段为不同Topic中的不同字段,则分别在相应的原Topic中提取二者订阅的字段,分别组成两个新的Topic。
S25、外部消息队列集群服务器将新的Topic发送至内部消息队列集群服务器。
具体实施时,外部消息队列集群服务器将组成的新的Topic发送至内部消息队列集群服务器。
S26、内部消息队列集群服务器将新的Topic的消费权限授予所述订阅端,并将新的Topic中的所述字段内容分发给订阅端。
具体实施时,内部消息队列集群服务器将新组成的TopicA的消费权限授予消费者A,将新组成的TopicB的消费权限授予消费者B,并分别将TopicA中的字段内容通过消费者A所使用的订阅端分发给消费者A,将TopicB中的数据通过消费者B所使用的订阅端分发给消费者B。
本发明实施例提供的数据订阅分发方法中,将消息队列集群服务器分为两个集群:外部消息队列集群服务器和内部消息队列集群服务器,生产者将消息即源数据通过预设接口按照与该预设接口对应的预设格式存储到外部消息队列集群服务器,消息发送至外部消息队列集群服务器时需要符合预定义的数据接入格式,如某个接口数据规定包含若干字段,后台接入数据时就需要外部消息队列集群服务器与接口绑定的Topic中写入以固定分隔符拼接而成的记录,订阅端用户可见各接口预定义的所有字段名称,并通过订阅端对其中的一个或多个字段进行订阅,能够满足订阅端用户即消费者对主题下更细粒度的字段的订阅需求。外部消息队列集群服务器对存储的订阅端请求订阅的字段名称对应的字段内容隶属的原Topic进行预处理,即提取订阅端请求订阅的字段内容组成新的Topic,将新的Topic发送至内部消息队列集群服务器,由内部消息队列集群服务器将该新的Topic的消费权限授予该订阅端,并将新的Topic中的字段内容分发给订阅端,从而使得订阅端用户只可接触到内部消息队列集群服务器分发的字段级的消息数据,避免用户获取到没有权限使用的其它字段,使得数据的采集和分发过程互不影响性能并实现集群的互备,同时增强了消息队列集群服务器对订阅端用户使用权限的控制,提高了安全性。
基于同一发明构思,本发明实施例还提供了一种数据订阅分发系统,由于上述数据订阅分发系统解决问题的原理与数据订阅分发方法相似,因此上述系统的实施可以参见方法的实施,重复之处不再赘述。
如图4所示,其为本发明实施例提供的数据订阅分发系统的结构示意图,可以包括外部消息队列集群服务器31和内部消息队列集群服务器32,其中:
所述外部消息队列集群服务器31,用于接收订阅端发送的订阅请求,其中,所述订阅请求中携带请求订阅的字段名称;确定所述请求订阅的字段个数小于已存储的原主题Topic中的每条消息内容中的字段个数,所述原Topic为所述请求订阅的字段名称对应的字段内容隶属的Topic;从所述原Topic中提取所述请求订阅的字段内容,组成新的Topic;并将所述新的Topic发送至所述内部消息队列集群服务器;
所述内部消息队列集群服务器32,用于将接收的所述新的Topic中的所述字段内容分发给所述订阅端。
较佳地,所述原Topic中的每条消息为通过预设接口按照预设格式存储至所述外部消息队列集群服务器31的。
可选地,所述内部消息队列集群服务器32,还用于在将所述新的Topic中的所述字段内容分发给所述订阅端之前,将所述新的Topic的消费权限授予所述订阅端。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本发明时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
本发明实施例提供了一种服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明实施例所述的数据订阅分发方法。
本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例所述的数据订阅分发方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种数据订阅分发方法,其特征在于,包括:
消息队列集群服务器接收订阅端发送的订阅请求,其中,所述订阅请求中携带请求订阅的字段名称;
确定所述请求订阅的字段个数小于已存储的原主题Topic中的每条消息内容中的字段个数,所述原Topic为所述请求订阅的字段名称对应的字段内容隶属的Topic;
从所述原Topic中提取所述请求订阅的字段内容,组成新的Topic;
将所述新的Topic中的所述字段内容分发给所述订阅端。
2.如权利要求1所述的方法,其特征在于,所述消息队列集群服务器包括外部消息队列集群服务器和内部消息队列集群服务器;
消息队列集群服务器接收订阅端发送的订阅请求,具体包括:
所述外部消息队列集群服务器接收订阅端发送的订阅请求;以及
确定所述请求订阅的字段个数小于已存储的原Topic中的每条消息内容中的字段个数,具体包括:
所述外部消息队列集群服务器确定所述请求订阅的字段个数小于已存储的原Topic中的每条消息内容中的字段个数;以及
从所述原Topic中提取所述请求订阅的字段内容,组成新的Topic,具体包括:
所述外部消息队列集群服务器从所述原Topic中提取所述请求订阅的字段内容,组成新的Topic。
3.如权利要求2所述的方法,其特征在于,所述原Topic中的每条消息为通过预设接口按照预设格式存储至所述外部消息队列集群服务器的。
4.如权利要求2所述的方法,其特征在于,将所述新的Topic中的所述字段内容分发给所述订阅端,具体包括:
所述外部消息队列集群服务器将所述新的Topic发送至所述内部消息队列集群服务器;
所述内部消息队列集群服务器将所述新的Topic中的所述字段内容分发给所述订阅端。
5.如权利要求4所述的方法,其特征在于,在所述内部消息队列集群服务器将所述新的Topic中的所述字段内容分发给所述订阅端之前,还包括:
所述内部消息队列集群服务器将所述新的Topic的消费权限授予所述订阅端。
6.一种数据订阅分发系统,其特征在于,包括外部消息队列集群服务器和内部消息队列集群服务器,其中:
所述外部消息队列集群服务器,用于接收订阅端发送的订阅请求,其中,所述订阅请求中携带请求订阅的字段名称;确定所述请求订阅的字段个数小于已存储的原主题Topic中的每条消息内容中的字段个数,所述原Topic为所述请求订阅的字段名称对应的字段内容隶属的Topic;从所述原Topic中提取所述请求订阅的字段内容,组成新的Topic;并将所述新的Topic发送至所述内部消息队列集群服务器;
所述内部消息队列集群服务器,用于将接收的所述新的Topic中的所述字段内容分发给所述订阅端。
7.如权利要求6所述的系统,其特征在于,所述原Topic中的每条消息为通过预设接口按照预设格式存储至所述外部消息队列集群服务器的。
8.如权利要求6所述的系统,其特征在于,
所述内部消息队列集群服务器,还用于在将所述新的Topic中的所述字段内容分发给所述订阅端之前,将所述新的Topic的消费权限授予所述订阅端。
9.一种服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~5任一项所述的数据订阅分发方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~5任一项所述的数据订阅分发方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810218498.7A CN110278231A (zh) | 2018-03-16 | 2018-03-16 | 一种数据订阅分发方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810218498.7A CN110278231A (zh) | 2018-03-16 | 2018-03-16 | 一种数据订阅分发方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110278231A true CN110278231A (zh) | 2019-09-24 |
Family
ID=67958954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810218498.7A Pending CN110278231A (zh) | 2018-03-16 | 2018-03-16 | 一种数据订阅分发方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110278231A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111181976A (zh) * | 2019-12-31 | 2020-05-19 | 深圳云天励飞技术有限公司 | 基于消息队列的行列权限管理的方法及相关装置 |
CN111241355A (zh) * | 2020-01-08 | 2020-06-05 | 浪潮天元通信信息系统有限公司 | 消息转发方法及服务端 |
CN111600942A (zh) * | 2020-05-09 | 2020-08-28 | 海信集团有限公司 | 报表处理方法、装置及设备 |
CN111651281A (zh) * | 2020-04-27 | 2020-09-11 | 北京中交兴路信息科技有限公司 | 一种消息发布和订阅方法和系统 |
CN112073506A (zh) * | 2020-09-04 | 2020-12-11 | 哈尔滨工业大学 | 基于IPv6与消息队列的复杂电磁数据采集方法 |
CN112751891A (zh) * | 2019-10-30 | 2021-05-04 | 中移(苏州)软件技术有限公司 | 一种基于kafka的消息处理方法、电子设备及存储介质 |
CN113098969A (zh) * | 2021-04-09 | 2021-07-09 | 薪得付信息技术(上海)有限公司 | 数据分发方法、装置、系统及电子设备 |
CN113342867A (zh) * | 2021-07-05 | 2021-09-03 | 招商局金融科技有限公司 | 数据分发及管理方法、装置、电子设备及可读存储介质 |
CN113407609A (zh) * | 2021-06-29 | 2021-09-17 | 中国民生银行股份有限公司 | 外部数据使用方法、装置和设备 |
CN113765926A (zh) * | 2021-09-08 | 2021-12-07 | 百果园技术(新加坡)有限公司 | 一种消息重建方法及系统 |
CN114661720A (zh) * | 2022-03-28 | 2022-06-24 | 浪潮卓数大数据产业发展有限公司 | 基于消息队列按权限分发数据的方法及系统 |
CN114979265A (zh) * | 2022-05-24 | 2022-08-30 | 树根互联股份有限公司 | 消息订阅方法、装置、计算机设备及计算机可读存储介质 |
CN115189918A (zh) * | 2022-06-17 | 2022-10-14 | 江苏电力信息技术有限公司 | 一种基于个性化适配的信息分发方法 |
CN116828090A (zh) * | 2023-08-28 | 2023-09-29 | 中国民航管理干部学院 | 无人机远程身份识别信息处理方法及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014194452A1 (zh) * | 2013-06-03 | 2014-12-11 | 华为技术有限公司 | 消息发布与订阅的方法及装置 |
CN105554089A (zh) * | 2015-12-10 | 2016-05-04 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于dds标准的“请求-响应”式数据通信方法 |
CN106230922A (zh) * | 2016-07-28 | 2016-12-14 | 上海斐讯数据通信技术有限公司 | 一种消息订阅方法、消息生产单元及消息接收单元 |
-
2018
- 2018-03-16 CN CN201810218498.7A patent/CN110278231A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014194452A1 (zh) * | 2013-06-03 | 2014-12-11 | 华为技术有限公司 | 消息发布与订阅的方法及装置 |
CN105554089A (zh) * | 2015-12-10 | 2016-05-04 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于dds标准的“请求-响应”式数据通信方法 |
CN106230922A (zh) * | 2016-07-28 | 2016-12-14 | 上海斐讯数据通信技术有限公司 | 一种消息订阅方法、消息生产单元及消息接收单元 |
Non-Patent Citations (1)
Title |
---|
付戈等: "面向多应用多租户的消息数据订阅关键技术研究", 《信息网络安全》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112751891A (zh) * | 2019-10-30 | 2021-05-04 | 中移(苏州)软件技术有限公司 | 一种基于kafka的消息处理方法、电子设备及存储介质 |
CN111181976B (zh) * | 2019-12-31 | 2022-06-24 | 深圳云天励飞技术股份有限公司 | 基于消息队列的行列权限管理的方法系统、电子设备及存储介质 |
CN111181976A (zh) * | 2019-12-31 | 2020-05-19 | 深圳云天励飞技术有限公司 | 基于消息队列的行列权限管理的方法及相关装置 |
CN111241355A (zh) * | 2020-01-08 | 2020-06-05 | 浪潮天元通信信息系统有限公司 | 消息转发方法及服务端 |
CN111241355B (zh) * | 2020-01-08 | 2023-06-16 | 浪潮通信信息系统有限公司 | 消息转发方法及服务端 |
CN111651281A (zh) * | 2020-04-27 | 2020-09-11 | 北京中交兴路信息科技有限公司 | 一种消息发布和订阅方法和系统 |
CN111600942A (zh) * | 2020-05-09 | 2020-08-28 | 海信集团有限公司 | 报表处理方法、装置及设备 |
CN112073506A (zh) * | 2020-09-04 | 2020-12-11 | 哈尔滨工业大学 | 基于IPv6与消息队列的复杂电磁数据采集方法 |
CN113098969A (zh) * | 2021-04-09 | 2021-07-09 | 薪得付信息技术(上海)有限公司 | 数据分发方法、装置、系统及电子设备 |
CN113407609A (zh) * | 2021-06-29 | 2021-09-17 | 中国民生银行股份有限公司 | 外部数据使用方法、装置和设备 |
CN113342867A (zh) * | 2021-07-05 | 2021-09-03 | 招商局金融科技有限公司 | 数据分发及管理方法、装置、电子设备及可读存储介质 |
CN113765926A (zh) * | 2021-09-08 | 2021-12-07 | 百果园技术(新加坡)有限公司 | 一种消息重建方法及系统 |
CN114661720A (zh) * | 2022-03-28 | 2022-06-24 | 浪潮卓数大数据产业发展有限公司 | 基于消息队列按权限分发数据的方法及系统 |
CN114979265A (zh) * | 2022-05-24 | 2022-08-30 | 树根互联股份有限公司 | 消息订阅方法、装置、计算机设备及计算机可读存储介质 |
CN115189918A (zh) * | 2022-06-17 | 2022-10-14 | 江苏电力信息技术有限公司 | 一种基于个性化适配的信息分发方法 |
CN116828090A (zh) * | 2023-08-28 | 2023-09-29 | 中国民航管理干部学院 | 无人机远程身份识别信息处理方法及设备 |
CN116828090B (zh) * | 2023-08-28 | 2023-11-28 | 中国民航管理干部学院 | 无人机远程身份识别信息处理方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110278231A (zh) | 一种数据订阅分发方法及系统 | |
CN104380261B (zh) | 本地支持的基于云端的存储 | |
US8924559B2 (en) | Provisioning services using a cloud services catalog | |
JP2022529967A (ja) | ブロックチェーン・ネットワークからのデータの抽出 | |
CN109565511A (zh) | 用于多租户身份和数据安全管理云服务的租户和服务管理 | |
EP2706700A1 (en) | Computer account management system and implementation method thereof | |
CN109582722A (zh) | 公安资源数据服务系统 | |
EP2524318B1 (en) | Syndication of multiple service instances | |
CN109960551A (zh) | 云桌面服务方法、平台和计算机可读存储介质 | |
TW201539229A (zh) | 連結之使用者帳戶 | |
US9459897B2 (en) | System and method for providing data analysis service in cloud environment | |
CN106550037B (zh) | 一种服务器间共享数据的方法及装置 | |
CN104796412B (zh) | 端到端云服务系统及对其敏感数据的访问方法 | |
CN104780202B (zh) | 用于端到端云服务数据库虚拟化及管理的系统和方法 | |
CN110046287A (zh) | 一种与数据库类型无关的数据查询方法、装置及存储介质 | |
CN110018878A (zh) | 一种分布式系统数据加载方法以及装置 | |
US20070198522A1 (en) | Virtual roles | |
CN106506568B (zh) | 信息交互系统 | |
CN103685341B (zh) | 云存储数据中心及云存储数据的提供方法 | |
KR20150055776A (ko) | 퍼스널 클라우드 스토리지 체인 서비스 시스템 및 방법 | |
CN109413130A (zh) | 一种云存储系统 | |
CN110377399A (zh) | HBase容器化方法、装置、设备及可读存储介质 | |
CN109933484A (zh) | 大数据集群准实时container资源分配监控分析方法 | |
CN110019099A (zh) | 基于Hadoop架构的海量数据管理系统 | |
CN112633764A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190924 |
|
RJ01 | Rejection of invention patent application after publication |