一种数据订阅分发方法及系统技术方案

技术编号:22190525 阅读:28 留言:0更新日期:2019-09-25 04:55
本发明专利技术公开了一种数据订阅分发方法及系统,用以解决由于现有的消息队列服务局限于主题级的授权,使得用户订阅更细粒度的消息数据时增加了额外的处理流程对数据进行过滤而导致的浪费流量的问题。所述数据订阅分发方法包括:消息队列集群服务器接收订阅端发送的订阅请求,其中,所述订阅请求中携带请求订阅的字段名称;确定所述请求订阅的字段个数小于已存储的原主题Topic中的每条消息内容中的字段个数,所述原Topic为所述请求订阅的字段名称对应的字段内容隶属的Topic;从所述原Topic中提取所述请求订阅的字段内容,组成新的Topic;将所述新的Topic中的所述字段内容分发给所述订阅端。

A Data Subscription Distribution Method and System

【技术实现步骤摘要】
一种数据订阅分发方法及系统
本专利技术涉及大数据
,尤其涉及一种数据订阅分发方法及系统。
技术介绍
现有的大数据平台业务场景中,涉及到大量的多租户使用需求,需要针对不同的租户进行数据存储资源的分类管理和权限分配,如对数据进行订阅分发管理等。随着对数据时效性要求的提高,实时处理技术逐渐应用于大数据平台中,在实时数据的采集和汇聚时可以采用分布式消息队列来实现对数据的缓冲,其中,ApacheKafka就是常用的消息队列服务,它是由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进行预处理,即提取订阅端请求的字段内容组成本文档来自技高网...

【技术保护点】
1.一种数据订阅分发方法,其特征在于,包括:消息队列集群服务器接收订阅端发送的订阅请求,其中,所述订阅请求中携带请求订阅的字段名称;确定所述请求订阅的字段个数小于已存储的原主题Topic中的每条消息内容中的字段个数,所述原Topic为所述请求订阅的字段名称对应的字段内容隶属的Topic;从所述原Topic中提取所述请求订阅的字段内容,组成新的Topic;将所述新的Topic中的所述字段内容分发给所述订阅端。

【技术特征摘要】
1.一种数据订阅分发方法,其特征在于,包括:消息队列集群服务器接收订阅端发送的订阅请求,其中,所述订阅请求中携带请求订阅的字段名称;确定所述请求订阅的字段个数小于已存储的原主题Topic中的每条消息内容中的字段个数,所述原Topic为所述请求订阅的字段名称对应的字段内容隶属的Topic;从所述原Topic中提取所述请求订阅的字段内容,组成新的Topic;将所述新的Topic中的所述字段内容分发给所述订阅端。2.如权利要求1所述的方法,其特征在于,所述消息队列集群服务器包括外部消息队列集群服务器和内部消息队列集群服务器;消息队列集群服务器接收订阅端发送的订阅请求,具体包括:所述外部消息队列集群服务器接收订阅端发送的订阅请求;以及确定所述请求订阅的字段个数小于已存储的原Topic中的每条消息内容中的字段个数,具体包括:所述外部消息队列集群服务器确定所述请求订阅的字段个数小于已存储的原Topic中的每条消息内容中的字段个数;以及从所述原Topic中提取所述请求订阅的字段内容,组成新的Topic,具体包括:所述外部消息队列集群服务器从所述原Topic中提取所述请求订阅的字段内容,组成新的Topic。3.如权利要求2所述的方法,其特征在于,所述原Topic中的每条消息为通过预设接口按照预设格式存储至所述外部消息队列集群服务器的。4.如权利要求2所述的方法,其特征在于,将所述新的Topic中的所述字段内容分发给所述订阅端,具体包括:所述外部消息队列集群服务器将所述新的Topic发送至所述内部消息队列集群服务器;所述内部消息队列集群服务器将所述新的Topic中的所述字段内容分发给所述订阅端。5...

【专利技术属性】
技术研发人员:王妙琼周立陈磊任怡健温士帅徐硕顾刚
申请(专利权)人:中移苏州软件技术有限公司中国移动通信集团上海有限公司中国移动通信集团有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1