基于级联主题的消息获取方法

文档序号:6527079阅读:247来源:国知局
基于级联主题的消息获取方法
【专利摘要】本发明提供了基于级联主题的消息获取方法包括向主题管理模块申请创建级联主题第一主题和第二主题;创建第一主题和第二主题;向主题管理模块返回创建结果,保存第一主题和第二主题间的级联关系;订阅第一主题的消息;查询主题管理模块中第一主题的级联关系;通知消息订阅模块第一主题存在子主题第二主题;同时向ActiveMq订阅第一主题和第二主题的消息;将第一主题和第二主题的消息发送给消息订阅模块;以及将第一主题和第二主题的消息发送给消息订阅者。该技术方案基于级联主题的消息获取方法,通过建立级联主题,实现了用户只需订阅父主题消息,就能获取父主题下所有子主题消息的功能,降低了用户开发中的复杂度和难度。
【专利说明】基于级联主题的消息获取方法
【技术领域】
[0001]本发明总体上涉及计算机领域,更具体地,涉及基于级联主题的消息获取方法。
【背景技术】
[0002]消息管理框架提供消息发布与订阅机制,用于消息在不同系统中流转。
[0003]在现有技术中,目前消息框架广泛用于在两个应用程序之间或分布式系统中收发消息,进行异步通信。ActiveMq是Apache出品,最流行的,能力强劲的开源消息总线,该消息系统主要由消息生产者、消息订阅者、消息、消息主题等组成。消息生产者向主题中发布消息,消息订阅者从主题中获取消息,实现消息在生产者与消费者之间的发送与接收。
[0004]然而,目前的ActiveMq系统,一个消费者只能从一个消息主题中获取消息,主题间没有级联式的树形关系,没有父子形式的继承与依赖关系,使得用户在使用消息框架的时候需要对多个主题进行订阅并分别处理,加大了开发的难度和复杂度。

【发明内容】

[0005]针对以上现有技术中用户在使用消息框架的时候需要对多个主题进行订阅并分别处理,加大了开发的难度和复杂度等缺陷,本发明提供了能够解决上述缺陷的基于级联主题的消息获取方法。
[0006]本发明提供了一种基于级联主题的消息获取方法,包括以下步骤:主题创建者向主题管理模块申请创建级联主题第一主题和第二主题,其中,第二主题为第一主题的子主题;主题管理模块通过消息队列ActiveMq创建第一主题和第二主题;ActiVeMq向主题管理模块返回创建结果,主题管理模块保存第一主题和第二主题间的级联关系;消息订阅者通过消息订阅模块订阅第一主题的消息;消息订阅模块查询主题管理模块中第一主题的级联关系;主题管理模块通知消息订阅模块第一主题存在子主题第二主题;消息订阅模块同时向ActiveMq订阅第一主题和第二主题的消息;ActiveMq将第一主题和第二主题的消息发送给消息订阅模块;以及消息订阅模块将收到的第一主题和第二主题的消息发送给消息订阅者。
[0007]优选地,第二主题为多个主题。
[0008]优选地,在该方法中,存在第二主题的子主题。
[0009]优选地,第一主题为多个主题。
[0010]利用本发明的技术方案能够克服现有技术的缺陷,
[0011]利用本发明的技术方案能够克服现有技术的缺陷,基于级联主题的消息获取方法,通过建立级联主题,实现了用户只需订阅父主题消息,就能获取父主题下所有子主题消息的功能,降低了用户开发中的复杂度和难度。
【专利附图】

【附图说明】
[0012]当结合附图进行阅读时,根据下面详细的描述可以更好地理解本发明。应该强调的是,根据工业中的标准实践,各种部件没有被按比例绘制。实际上,为了清楚的讨论,各种部件的尺寸可以被任意增加或减少。
[0013]图1是根据本发明的示例性实施例的基于级联主题的消息获取方法的整体流程图;
[0014]图2是根据本发明的示例性实施例的级联主题的示意图;以及
[0015]图3是根据本发明的示例性实施例的基于级联主题的消息获取方法的框图。
【具体实施方式】
[0016]为了实施本发明的不同部件,以下描述提供了许多不同的实施例或示例。以下描述元件和布置的特定示例以简化本发明。当然这些仅仅是示例并不打算限定。再者,以下描述中第一部件形成在第二部件上可包括其中第一和第二部件以直接接触形成的实施例,并且也可包括其中额外的部件形成插入到第一和第二部件中的实施例,使得第一和第二部件不直接接触。为了简明和清楚,可以任意地以不同的尺寸绘制各种部件。
[0017]图1是根据本发明的示例性实施例的基于级联主题的消息获取方法的整体流程图。
[0018]下文中,将参照图1对基于级联主题的消息获取方法100进行详细描述。在步骤102中,主题创建者向主题管理模块申请创建级联主题第一主题和第二主题,其中,第二主题为第一主题的子主题;具体地,第一主题为多个主题并且第二主题为多个主题;存在第二主题的子主题。在步骤104中,主题管理模块通过消息队列ActiveMq创建第一主题和第二主题;在步骤106中,ActiveMq向主题管理模块返回创建结果,主题管理模块保存第一主题和第二主题间的级联关系;在步骤108中,消息订阅者通过消息订阅模块订阅第一主题的消息;在步骤110中,消息订阅模块查询主题管理模块中第一主题的级联关系;在步骤112中,主题管理模块通知消息订阅模块第一主题存在子主题第二主题;在步骤114中,消息订阅模块同时向ActiveMq订阅第一主题和第二主题的消息;在步骤116中,ActiveMq将第一主题和第二主题的消息发送给消息订阅模块;在步骤118中,消息订阅模块将收到的第一主题和第二主题的消息发送给消息订阅者。
[0019]利用本发明的实施例的基于级联主题的消息获取方法,通过建立级联主题,实现了用户只需订阅父主题消息,就能获取父主题下所有子主题消息的功能,降低了用户开发中的复杂度和难度。
[0020]图2是根据本发明的示例性实施例的级联主题的示意图。
[0021 ] 如图2所示,主题A及其子主题与主题B是平行关系,消费者订阅A (包括子主题)与订阅主题B没有任何关系,两个主题相关的细节消息会分别发送给两个订阅者。主题A与主题A.Al和A.A2及其下属子主题,是树形级联关系,用户只需订阅主题A就会同时收到主题A和所有主题A的子主题的所有消息,包括图2中的主题A.Al、主题A.A2、主题A.Al.All、主题A.Al.A12、主题A.A2.A21、主题A.A2.A22的所有消息。由于主题创建者通过创建级联主题,将多个主题进行关联,从而消息订阅者在订阅主题A时,就可以获取主题A及其所有子主题的消息。
[0022]图3是根据本发明的示例性实施例的基于级联主题的消息获取方法的框图。
[0023]以下,将参照图1、图2和图3对基于级联主题的消息获取方法的实例进行详细描述。
[0024]参考图3,首先,在I步骤中,主题创建者302向主题管理模块304申请创建级联主题。例如,参照图2,级联主题为主题A、主题A.Al和主题A.A2,其中主题A.Al和主题A.A2为主题A的子主题。然后,在第2步骤中,主题管理模块304通过ActiveMq创建诸如主题A、主题A.Al和主题A.A2的级联主题。在第3步骤中,ActiveMq向主题管理模块返回创建结果,主题管理模块保存主题间的级联关系。具体地,在第4步骤中,消息订阅者308通过消息订阅模块310订阅主题A的消息;在第5步骤中,消息订阅模块310查询主题管理模块304中主题A的级联关系;在步骤6中,主题管理模块304通知消息订阅模块310主题A具有子主题A.Al和A.A2。在步骤7中,消息订阅模块310同时向ActiveMq订阅主题A、A.Al和A.A2的消息。在步骤8中,ActiveMq将主题A、A.Al和A.A2的消息发送给消息订阅模块310。在步骤9中,消息订阅模块310将收到的主题A、A.Al和A.A2的所有消息发送给消息订阅者308。
[0025]利用本发明的实施例的基于级联主题的消息获取方法,通过在ActiveMq的基础上增加主题管理模块和消息订阅模块,通过建立级联主题,实现了用户只需订阅父主题消息,就能获取父主题下所有子主题消息的功能,降低了用户开发中的复杂度和难度。
[0026]上面论述了若干实施例的部件,使得本领域普通技术人员可以更好地理解本发明的各个方面。本领域普通技术人员应该理解,可以很容易地使用本发明作为基础来设计或更改其他用于达到与这里所介绍实施例相同的目的和/或实现相同优点的处理和结构。本领域普通技术人员也应该意识到,这种等效构造并不背离本发明的精神和范围,并且在不背离本发明的精神和范围的情况下,可以进行多种变化、替换以及改变。
【权利要求】
1.一种基于级联主题的消息获取方法,其特征在于,包括以下步骤: 主题创建者向主题管理模块申请创建级联主题第一主题和第二主题,其中,所述第二主题为所述第一主题的子主题; 所述主题管理模块通过消息队列ActiveMq创建所述第一主题和所述第二主题; 所述ActiveMq向所述主题管理模块返回创建结果,所述主题管理模块保存所述第一主题和所述第二主题间的级联关系; 消息订阅者通过消息订阅模块订阅所述第一主题的消息; 所述消息订阅模块查询所述主题管理模块中所述第一主题的级联关系; 所述主题管理模块通知所述消息订阅模块所述第一主题存在子主题所述第二主题; 所述消息订阅模块同时向所述ActiveMq订阅所述第一主题和所述第二主题的消息; 所述ActiveMq将所述第一主题和所述第二主题的消息发送给所述消息订阅模块;以及 所述消息订阅模块将收到的所述第一主题和所述第二主题的消息发送给所述消息订阅者。
2.根据权利要求1所述的方法,其特征在于,所述第二主题为多个主题。
3.根据权利要求1所述的方法,其特征在于,存在所述第二主题的子主题。
4.根据权利要求1所述的方法,其特征在于,所述第一主题为多个主题。
【文档编号】G06F9/44GK103714169SQ201310752963
【公开日】2014年4月9日 申请日期:2013年12月31日 优先权日:2013年12月31日
【发明者】唐焕焕, 王军林, 唐明, 徐博, 成书晟 申请人:曙光云计算技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1