CN102377686A - 一种消息订阅系统、消息订阅方法及装置 - Google Patents
一种消息订阅系统、消息订阅方法及装置 Download PDFInfo
- Publication number
- CN102377686A CN102377686A CN2010102521927A CN201010252192A CN102377686A CN 102377686 A CN102377686 A CN 102377686A CN 2010102521927 A CN2010102521927 A CN 2010102521927A CN 201010252192 A CN201010252192 A CN 201010252192A CN 102377686 A CN102377686 A CN 102377686A
- Authority
- CN
- China
- Prior art keywords
- message
- oriented middleware
- middleware server
- subscription
- server
- 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.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了一种消息订阅系统、消息订阅方法及装置,该技术方案主要包括:配置服务器接收消息中间件服务器上报的包括消息中间件服务器的地址信息的订阅配置信息;配置服务器根据所述消息中间件服务器上报的订阅配置信息,确定从所述消息中间件服务器获取订阅消息的订阅条件;配置服务器将所述消息中间件服务器的地址信息以及所述消息中间件服务器对应的订阅条件信息发送给订阅者终端,由所述订阅者终端基于自身的订阅属性确定发送订阅请求的消息中间件服务器,采用该技术方案,提高了订阅者终端从消息中间件服务器中获取订阅消息的效率。
Description
技术领域
本发明涉及消息处理技术领域,尤其涉及一种消息订阅系统、消息订阅方法及装置。
背景技术
在消息订阅系统中,消息的发布一般都基于消息中间件服务器实现,即消息发布服务器将订阅消息发送到消息中间件服务器,该消息中间件服务器通过异步方式将订阅消息发布到各个消息订阅者终端。
实际应用中,消息订阅系统需要部署多台消息中间件服务器以应对向众多订阅者终端发布消息的需求,如图1所示,该消息订阅系统包括消息发布服务器101、消息中间件服务器102(可能为多台,图1仅示出了2个)以及订阅者终端103(可能为多个,图1仅示出了4个)。
基于图1所示的消息订阅系统,实现消息发布的过程如图2所示,主要包括如下步骤:
步骤201、消息发布服务器101将待发布消息分别发送到消息中间件服务器102;
步骤202、订阅者终端103根据预先保存的消息中间件服务器102的地址列表,随机选择消息中间件服务器102;
步骤203、订阅者终端103根据选择出的消息中间件服务器102对应的地址,向该消息中间件服务器102发送订阅请求;
步骤204、消息中间件服务器102接收订阅请求,根据该订阅请求向订阅者终端103发布订阅消息。
图1所示的消息订阅系统中,由于服务器资源的限制,一个消息中间件服务器需要为众多订阅者终端提供订阅消息,而随着消息订阅者终端数目的不断增加,消息订阅系统中可能会存在如下问题:
订阅者终端在需要获取订阅消息时,根据预先保存的消息中间件服务器的地址列表,随机选择消息中间件服务器获取订阅消息。实际应用中,从同一消息中间件服务器获取订阅消息的多个订阅者终端对应不同的订阅属性,例如,可能处于不同的位置,可能对应不同的优先级,也可能请求对应不同主题的消息,而对于消息中间件服务器而言,其提供订阅消息的能力有限,因此,可能不能为对应不同订阅属性的订阅者终端服务。例如,从同一消息中间件服务器获取订阅消息的订阅者终端处于不同位置时,由于位置差异连接到消息中间件服务器时所处的网络状况也各自不同,因此很难保证各订阅者终端都能够及时连接到消息中间件服务器;从同一消息中间件服务器获取订阅消息的订阅者终端对应不同优先级时,由于消息中间件服务器一般根据发送订阅请求的顺序向订阅者终端提供订阅消息,因此,对应高优先级的订阅者终端不能得到相应的服务器。
综上所述,由于现有技术中,订阅者终端是随机选择消息中间件服务器以获取订阅消息,其选择获取订阅消息的消息中间件服务器可能不是最佳的消息中间件服务器,从而降低了订阅者终端从消息中间件服务器中获取订阅消息的效率。
发明内容
有鉴于此,本申请实施例提供一种消息订阅系统、消息订阅方法及装置,以提高订阅者终端从消息中间件服务器中获取订阅消息的效率。
本申请实施例通过如下技术方案实现:
根据本申请实施例的一个方面,提供了一种消息订阅系统,包括消息中间件服务器、配置服务器以及订阅者终端,其中:
所述消息中间件服务器,用于向所述配置服务器上报至少包括自身地址信息的订阅配置信息;以及,向发送订阅请求的订阅者终端提供订阅消息;
所述配置服务器,用于根据所述消息中间件服务器上报的订阅配置信息,确定从所述消息中间件服务器获取订阅消息的订阅条件,并将所述消息中间件服务器的地址信息以及所述消息中间件服务器对应的订阅条件信息发送给订阅者终端;
所述订阅者终端,用于根据所述配置服务器发送的消息中间件服务器对应的订阅条件信息,确定与自身的订阅属性匹配的订阅条件信息对应的消息中间件服务器,并根据确定出的所述消息中间件服务器的地址信息,向与所述地址信息对应的消息中间件服务器发送订阅请求。
根据本申请实施例的另一个方面,提供了一种消息订阅方法,包括以下步骤:
消息中间件服务器向配置服务器上报至少包括自身地址信息的订阅配置信息,接收订阅者终端的订阅请求,以及向发送订阅请求的订阅者终端提供订阅消息;
配置服务器根据所述消息中间件服务器上报的订阅配置信息,确定从所述消息中间件服务器获取订阅消息的订阅条件,并将所述消息中间件服务器的地址信息以及所述消息中间件服务器对应的订阅条件信息发送给订阅者终端;
订阅者终端根据所述配置服务器发送的消息中间件服务器对应的订阅条件信息,确定与自身的订阅属性匹配的订阅条件信息对应的消息中间件服务器,并根据确定出的所述消息中间件服务器的地址信息,向与所述地址信息对应的消息中间件服务器发送订阅请求。
根据本申请实施例的一个方面,提供了一种消息订阅系统,包括消息中间件服务器、配置服务器,其中:
所述消息中间件服务器,用于向所述配置服务器上报至少包括自身地址信息的订阅配置信息,接收订阅者终端的订阅请求,以及向发送订阅请求的订阅者终端提供订阅消息;
所述配置服务器,用于根据所述消息中间件服务器上报的订阅配置信息,确定从所述消息中间件服务器获取订阅消息的订阅条件,并将所述消息中间件服务器的地址信息以及所述消息中间件服务器对应的订阅条件信息发送给订阅者终端;
其中,所述订阅条件信息用于与订阅者终端自身的订阅属性进行匹配以确定出所述订阅者终端发送订阅请求的消息中间件服务器。
根据本申请实施例的另一个方面,提供了一种消息订阅方法,包括以下步骤:
消息中间件服务器向所述配置服务器上报至少包括自身地址信息的订阅配置信息,接收订阅者终端的订阅请求,以及向发送订阅请求的订阅者终端提供订阅消息;
配置服务器根据所述消息中间件服务器上报的订阅配置信息,确定从所述消息中间件服务器获取订阅消息的订阅条件,并将所述消息中间件服务器的地址信息以及所述消息中间件服务器对应的订阅条件信息发送给订阅者终端;
其中,所述订阅条件信息用于与订阅者终端自身的订阅属性进行匹配以确定出所述订阅者终端发送订阅请求的消息中间件服务器。
根据本申请实施例的另一个方面,提供了一种配置服务器,包括:
接收单元,用于接收消息中间件服务器上报的包括消息中间件服务器的地址信息的订阅配置信息;
订阅条件确定单元,用于根据所述接收单元接收的订阅配置信息,确定从所述消息中间件服务器获取订阅消息的订阅条件;
发送单元,用于将所述消息中间件服务器的地址信息以及所述订阅条件确定单元确定的消息中间件服务器对应的订阅条件信息发送给订阅者终端,由所述订阅者终端基于自身的订阅属性确定发送订阅请求的消息中间件服务器。
根据本申请实施例的另一个方面,提供了一种消息订阅方法,包括:
接收消息中间件服务器上报的包括消息中间件服务器的地址信息的订阅配置信息;
根据所述消息中间件服务器上报的订阅配置信息,确定从所述消息中间件服务器获取订阅消息的订阅条件;
将所述消息中间件服务器的地址信息以及所述消息中间件服务器对应的订阅条件信息发送给订阅者终端,由所述订阅者终端基于自身的订阅属性确定发送订阅请求的消息中间件服务器。
通过本申请实施例提供的上述至少一个技术方案,在消息订阅系统中设置配置服务器,该配置服务器接收消息中间件服务器上报的包括消息中间件服务器的地址信息的订阅配置信息,根据该订阅配置信息确定从消息中间件服务器获取订阅消息的订阅条件,并将消息中间件服务器的地址信息以及对应的订阅条件信息发送给订阅者终端,由订阅者终端基于自身的订阅属性确定发送订阅请求的消息中间件服务器。根据该技术方案,通过配置服务器对消息中间件服务器进行统一管理,能够根据各消息中间件服务器的订阅配置信息确定该消息中间件服务器对应的订阅条件,该订阅条件能够提供给订阅者终端作为选择发送订阅请求的消息中间件服务器的依据,使得订阅者终端能够基于自身的订阅属性,例如订阅者终端所在位置等信息,结合各消息中间件服务器要求的订阅条件,选择出合适的消息中间件服务器发送订阅请求,相对于现有技术,根据本申请提供的技术方案确定出的用于发送订阅请求的消息中间件服务器,由于与订阅者终端的订阅属性匹配,因此能够更好地为订阅者终端提供订阅消息,从而提高了订阅者终端从消息中间件服务器中获取订阅消息的效率。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中:
图1为本申请背景技术中提供的消息订阅系统示意图;
图2为本申请背景技术中提供的消息订阅流程图;
图3为本申请系统实施例中提供的一消息订阅系统示意图;
图4为本申请实施例五中提供的另一消息订阅系统示意图;
图5为本申请方法实施例中提供的消息订阅方法流程图;
图6为本申请实施例十中提供的配置服务器装置示意图;
图7为本申请实施例十一提供的消息订阅流程图;
图8为本申请实施例十二提供的消息订阅系统示意图;
图9为本申请实施例十三提供的消息订阅流程图。
具体实施方式
为了给出提高订阅者终端从消息中间件服务器中获取订阅消息的效率的实现方案,本申请实施例提供了一种消息订阅系统、消息订阅方法及装置,该技术方案可以应用于消息订阅的过程,既可以实现为一种方法,也可以实现为一种系统。以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本申请实施例中,可通过图3所示的消息订阅系统实现消息订阅的过程,具体如图3所示,该消息订阅系统包括:
配置服务器301、消息中间件服务器302(可能为多台,图3中示出两台作为示例)以及订阅者终端303(可能为多台,图3中示出四台作为示例);其中,订阅者终端303可能连接到任意一台消息中间件服务器302中。
其中:
消息中间件服务器302,用于向配置服务器301上报至少包括自身地址信息的订阅配置信息;以及,接收订阅者终端的订阅请求,向发送订阅请求的订阅者终端303提供订阅消息;
配置服务器301,用于根据消息中间件服务器302上报的订阅配置信息,确定从消息中间件服务器302获取订阅消息的订阅条件,并将消息中间件服务器302的地址信息以及确定的消息中间件服务器302对应的订阅条件信息发送给订阅者终端303;
订阅者终端303,用于根据配置服务器301发送的消息中间件服务器302对应的订阅条件信息,确定与自身的订阅属性匹配的订阅条件信息对应的消息中间件服务器302;以及根据配置服务器301发送的消息中间件服务器302的地址信息,向确定出的消息中间件服务器302发送订阅请求。
图3所示的消息订阅系统中,消息中间件服务器302的数量可以根据订阅者终端303的数量进行动态调整,例如,在订阅者终端303的数量超过设定阈值时,可以增加消息订阅系统中消息中间件服务器302的数量,以减轻单个消息中间件服务器302的负担,从而更好地为各消息订阅者终端提供订阅消息;在订阅者终端303的数量低于设定阈值时,可以减少消息订阅系统中消息中间件服务器302的数量,以避免服务器资源的闲置,提高服务器资源的利用率。
根据图3所示的消息订阅系统,通过配置服务器301对消息中间件服务器302进行统一管理,确定出各消息中间件服务器302对应的订阅条件,以供订阅者终端303根据自身的订阅属性以及各消息中间件服务器对应的订阅条件,选择出能够更好地获取订阅消息的消息中间件服务器302。本申请实施例中,根据消息中间件服务器302上报的订阅配置信息的不同,配置服务器301确定的各消息中间件服务器302对应的订阅条件也有所不同,相应地,订阅者终端303选择消息中间件服务器302的匹配过程也不同,具体地:
消息中间件服务器302,具体用于向配置服务器301上报包括自身地址信息的订阅配置信息,或上报包括自身地址信息以及所提供消息对应的主题信息的订阅配置信息,或上报包括自身地址信息以及自身处理能力信息的订阅配置信息,或上报包括自身地址信息、自身处理能力信息以及所提供消息对应的主题信息的订阅配置信息;
配置服务器301,具体根据消息中间件服务器302上报的订阅配置信息,确定该订阅配置信息中包括的每个信息分别对订阅者终端要求的订阅条件为消息中间件服务器302对应的订阅条件;
订阅者终端303,具体将自身的各订阅属性分别与消息中间件服务器302对应的订阅条件中的相应订阅条件匹配,确定出与自身的各订阅属性完全匹配且对应同一消息中间件服务器的各订阅条件所对应的消息中间件服务器302用于发送订阅请求。
在订阅者终端303实现上述功能的基础上,更为具体地,该订阅者终端303还用于:
在未确定出与自身的各订阅属性完全匹配且对应同一消息中间件服务器的各订阅条件所对应的消息中间件服务器302时,确定出与自身的订阅属性匹配数目最多且对应同一消息中间件服务器的各订阅条件所对应的消息中间件服务器302用于发送订阅请求。
在订阅者终端303实现上述功能的基础上,更为具体地,该订阅者终端303还用于:
在确定出的与自身的订阅属性匹配数目最多且对应同一消息中间件服务器的各订阅条件所对应的消息中间件服务器302为多个时,分别根据该多个消息中间件服务器302对应的匹配结果确定该多个消息中间件服务器302分别对应的权值,并确定出权值最高的消息中间件服务器302用于发送订阅请求。
以下结合具体实施例对消息订阅系统中,各实体在不同的情况下所完成的功能进行详细说明,即结合不同实施例对消息中间件服务器302向配置服务器301上报的订阅配置信息中包括的消息不同时,配置服务器301确定订阅条件以及订阅者终端选择用于发送订阅请求的消息中间件服务器302的过程进行具体说明。其中,根据业务实现需要,消息中间件服务器302需要向配置服务器301上报自身的地址信息,配置服务器301需要将各消息中间件服务器302的地址信息发送到订阅者终端303,以使订阅者终端303能够根据选择出的消息中间件服务器302的地址建立与该消息中间件服务器302的连接。基于此,本申请实施例中,消息中间件服务器302上报给配置服务器301的订阅配置信息中至少需要包括该消息中间件服务器302的地址信息,若订阅配置信息中只包括该消息中间件服务器302的地址信息,则该地址信息一方面用于确定订阅条件,另一方面用于提供给给订阅者终端以建立于消息中间件服务器的连接;若订阅配置信息在包括消息中间件服务器302的地址信息的基础上,还包括其他信息,例如,消息中间件服务器302处理能力信息,所提供消息对应的主题信息等,则订阅配置信息中包括的各信息分别用于确定对应的订阅条件。具体地,根据订阅配置信息中包括的各消息确定的订阅条件如下:
根据订阅配置信息中包括的消息中间件服务器302的地址信息,确定的订阅条件可以为:消息中间件服务器302对订阅者终端303所在位置要求的订阅条件;
根据订阅配置信息中包括的消息中间件服务器302所提供消息对应的主题信息,确定的订阅条件可以为:消息中间件服务器302对订阅者终端303所订阅消息对应的主题要求的订阅条件;
根据订阅配置信息中包括的消息中间件服务器302的处理能力信息,确定的订阅条件可以为:消息中间件服务器302对订阅者终端303对应优先级要求的订阅条件。
实施例一
该实施例中,消息中间件服务器302向配置服务器301上报的订阅配置信息中包括自身的地址信息;
相应地,配置服务器301确定订阅条件的过程,以及订阅者终端303确定发送订阅请求的消息中间件服务器302的过程,具体如下:
配置服务器301,具体根据消息中间件服务器302上报的地址信息,确定包括消息中间件服务器302对订阅者终端303所在位置要求的订阅条件;
订阅者终端303,具体将自身所在位置与消息中间件服务器302对应的订阅条件中对订阅者终端303所在位置的要求比较,根据比较结果,确定对订阅者终端303所在位置的要求中包括自身所在位置的消息中间件服务器302为发送订阅请求的消息中间件服务器302。
根据该实施例,订阅者终端303能够选择出对订阅者终端303所在位置要求与自身所在位置匹配的消息中间件服务器302获取订阅消息。例如,假设有两个消息中间件服务器302,分别为第一消息中间件服务器和第二消息中间件服务器,第一消息中间件服务器对订阅者终端303所在位置的要求为A地,第二消息中间件服务器对订阅者终端所在位置的要求为B地,当前请求获取订阅消息的订阅者终端303所处的位置为B地,则该订阅者终端303可以根据本申请实施例提供的技术方案选择第二消息中间件服务器以获取订阅消息。根据该技术方案,订阅者终端303由于选择了与自身在同一区域的消息中间件服务器302获取订阅消息,相对于连接到其它区域的消息中间件服务器302获取订阅消息,由于同一区域的网络连接状况相对稳定,因此,能够有效提高该订阅者终端303获取订阅消息的效率。
实施例二
该实施例中,消息中间件服务器302向配置服务器301上报的订阅配置信息中包括自身地址信息以及所提供消息对应的主题信息;
相应地,配置服务器301确定订阅条件的过程以及订阅者终端303确定发送订阅请求的消息中间件服务器302的过程,具体如下:
配置服务器301,具体根据消息中间件服务器302上报的地址信息,确定包括消息中间件服务器302对订阅者终端303所在位置要求的第一订阅条件;以及根据消息中间件服务器302上报的所提供消息对应的主题信息,确定包括消息中间件服务器302对订阅者终端303所订阅消息对应的主题要求的第二订阅条件;
订阅者终端303,具体将自身所在位置与配置服务器301发送的消息中间件服务器302对应的第一订阅条件中对订阅者终端303所在位置的要求比较,以及将自身所订阅消息对应的主题与配置服务器301发送的消息中间件服务器302对应的第二订阅条件中对订阅者终端303所订阅消息对应的主题的要求比较,确定对订阅者终端303所在位置的要求中包括自身所在位置,以及对订阅者终端所订阅消息对应的主题的要求中包括自身所订阅消息对应的主题的消息中间件服务器302为发送订阅请求的消息中间件服务器302。
根据该实施例二,订阅者终端303能够在选择对订阅者终端303所在位置要求与自身所在位置匹配的消息中间件服务器302的基础上,进一步选择对订阅者终端303所订阅消息对应的主题的要求中包括自身所订阅消息对应的主题的消息中间件服务器302。例如,对订阅者终端303所在位置要求与当前订阅者终端303所在位置匹配的消息中间件服务器302包括第一消息中间件服务器、第二消息中间件服务器以及第三消息中间件服务器,该三个消息中间件服务器302对订阅者终端303请求订阅的消息要求的主题分别为:体育、娱乐和新闻,当前请求获取订阅消息的订阅者终端303所请求消息对应的主题为娱乐,则可以根据本申请实施例提供的技术方案选择第二消息中间件服务器以获取订阅消息。根据该技术方案,订阅者终端303由于选择了与自身在同一区域,并且所提供主题与自身所请求消息主题一致的消息中间件服务器302,这进一步提高了订阅者终端303获取订阅消息的效率,避免了订阅者终端303连接到的消息中间件服务器302中所提供的消息主题与自身请求的消息主题不一致,造成网络资源的浪费,甚至阻碍订阅者终端303获取相应的订阅消息的问题。
该实施例二中,订阅者终端303在根据配置服务器301发送的订阅条件选择消息中间件服务器302时,可能存在消息中间件服务器302不能与订阅者终端303的订阅属性完全匹配的问题,为了保证在该情况下,订阅者终端303能够获取到订阅消息,本申请实施例中,订阅者终端303还进一步完成如下功能:
订阅者终端303,具体在根据比较结果确定不存在对订阅者终端303所在位置的要求中包括自身所在位置,以及对订阅者终端303所订阅消息对应的主题的要求中包括自身所订阅消息对应的主题均符合的消息中间件服务器302时,确定对订阅者终端所在位置的要求中包括自身所在位置或对订阅者终端所订阅消息对应的主题的要求中包括自身所订阅消息对应的主题的消息中间件服务器302为发送订阅请求的消息中间件服务器302。
即在比较结果中,如果订阅者终端303的订阅属性不能满足一个消息中间件服务器302的全部订阅条件对订阅者终端303的要求,但订阅属性中存在满足不同消息中间件服务器302的一个或多个订阅条件对订阅者终端303的要求时,在该情况下,可以从该不同消息中间件服务器302中随机选择一个消息中间件服务器302以获取订阅消息,也可以根据比较结果确定各消息中间件服务器302对应的优先级,选择优先级最高的消息中间件服务器302以获取订阅消息。其中,消息中间件服务器302对应的优先级可通过其对应的权值表征,即权值越高对应的优先级越高,消息中间件服务器对应的权值的确定过程将在后续的方法实施例中详细说明,此处不再赘述。
实施例三
该实施例中,消息中间件服务器302向配置服务器301上报的订阅配置信息中包括自身地址信息以及自身处理能力信息;
相应地,配置服务器301确定订阅条件的过程以及订阅者终端303确定发送订阅请求的消息中间件服务器302的过程,具体如下:
配置服务器301,具体根据消息中间件服务器302上报的地址信息,确定包括消息中间件服务器302对订阅者终端303所在位置要求的第三订阅条件;以及根据消息中间件服务器302上报的自身处理能力信息,确定包括消息中间件服务器302对订阅者终端303对应优先级要求的第四订阅条件;
订阅者终端303,具体将自身所在位置与消息中间件服务器302对应的第三订阅条件中对订阅者终端303所在位置的要求比较,以及将自身所对应的优先级与消息中间件服务器302对应的第四订阅条件中对订阅者终端303对应优先级的要求比较,确定对订阅者终端303所在位置的要求中包括自身所在位置,以及对订阅者终端303对应优先级的要求不高于自身对应优先级的消息中间件服务器302为发送订阅请求的消息中间件服务器302。
根据该实施例三,订阅者终端303能够在选择对订阅者终端303所在位置要求与自身所在位置匹配的消息中间件服务器302的基础上,进一步选择对订阅者终端303对应优先级的要求不高于自身对应优先级的消息中间件服务器302。例如,当前订阅者终端303选择出的对订阅者终端303所在位置要求与自身所在位置匹配的消息中间件服务器302分别为第一消息中间件服务器、第二消息中间件服务器以及第三消息中间件服务器,该三个消息中间件服务器302对订阅者终端对应优先级的要求分别为普通用户、VIP1、VIP2(其中,普通用户、VIP1、VIP2要求的优先级依次升高),当前请求获取订阅消息的订阅者终端303对应的优先级为普通用户,则根据本申请实施例提供的技术方案,该订阅者终端303可以选择第一消息中间件服务器以获取订阅消息而高优先级的用户可选择高优先级要求的消息中间件服务器302获取订阅消息。根据该技术方案,订阅者终端303由于选择了与自身在同一区域,并且对订阅者终端303的优先级要求不高于自身优先级的消息中间件服务器302,在提高了订阅者终端303获取订阅消息的效率的基础上,订阅者终端303根据自身的优先级从对应优先级的消息中间件服务器302获取订阅消息,进一步避免了低优先级的订阅者终端303由于自身处理能力等因素影响,不能及时获取到订阅消息,而使得优先级高的订阅者终端303获取订阅消息滞后的问题。
该实施例三中,订阅者终端303在根据配置服务器301发送的订阅条件选择消息中间件服务器302时,可能存在消息中间件服务器302不能与订阅者终端303的订阅属性完全匹配的问题,为了保证在该情况下订阅者终端303能够获取到订阅消息,本申请实施例中,订阅者终端303还进一步完成如下功能:
订阅者终端303,具体在根据比较结果确定不存在对订阅者终端303所在位置的要求中包括自身所在位置,以及对订阅者终端303对应优先级的要求不高于自身对应优先级均符合的消息中间件服务器302时,确定对订阅者终端303所在位置的要求中包括自身所在位置或对订阅者终端303对应优先级的要求不高于自身对应优先级的消息中间件服务器302为发送订阅请求的消息中间件服务器302。
即在比较结果中,如果订阅者终端303的订阅属性不能满足一个消息中间件服务器302的全部订阅条件对订阅者终端303的要求,但订阅属性中存在分别满足不同消息中间件服务器302的一个或多个订阅条件对订阅者终端303的要求时,在该情况下,可以从该不同消息中间件服务器302中随机选择一个消息中间件服务器302以获取订阅消息,也可以根据比较结果确定各消息中间件服务器302对应的优先级,选择优先级最高的消息中间件服务器302以获取订阅消息。其中,消息中间件服务器302对应的优先级可通过其对应的权值表征,即权值越高对应的优先级越高,消息中间件服务器对应的权值的确定过程将在后续的方法实施例中详细说明,此处不再赘述。
实施例四
该实施例中,消息中间件服务器302向配置服务器301上报的订阅配置信息中包括消息中间件服务器302的地址信息、处理能力信息以及所提供消息对应的主题信息;
相应地,配置服务器301确定订阅条件的过程以及订阅者终端303确定发送订阅请求的消息中间件服务器302的过程,具体如下:
配置服务器301,具体根据消息中间件服务器302上报的地址信息,确定包括消息中间件服务器302对订阅者终端303所在位置要求的第五订阅条件,根据消息中间件服务器302上报的自身处理能力信息,确定包括消息中间件服务器302对订阅者终端303对应优先级要求的第六订阅条件,以及根据消息中间件服务器302上报的所提供消息对应的主题信息,确定包括消息中间件服务器302对订阅者终端303所订阅消息对应的主题要求的第七订阅条件;
订阅者终端303,具体将自身所在位置与消息中间件服务器302对应的第五订阅条件中对订阅者终端303所在位置的要求比较,将自身所对应的优先级与消息中间件服务器302对应的第六订阅条件中对订阅者终端303对应优先级的要求比较,以及将自身所订阅消息对应的主题与消息中间件服务器302对应的第七订阅条件中对订阅者终端303所订阅消息对应的主题的要求比较,确定对订阅者终端303所在位置的要求中包括自身所在位置,对订阅者终端303对应优先级的要求不高于自身所对应优先级,以及对订阅者终端303所订阅消息对应的主题的要求中包括自身所订阅消息对应的主题的消息中间件服务器302为发送订阅请求的消息中间件服务器302。
根据该实施例四提供的技术方案,能够达到上述实施例一、实施例二以及实施例三共同能达到的技术效果,即提高了订阅者终端303获取订阅消息的效率,并且避免了连接到的消息中间件服务器302中所提供的消息主题与自身请求的消息主题不一致而无法获取到相应的订阅消息的问题,以及避免了低优先级的订阅者终端303由于自身处理能力等因素影响,不能及时获取到订阅消息,而使得优先级高的订阅者终端303获取订阅消息滞后的问题。
该实施例四中,订阅者终端303在根据配置服务器301发送的订阅条件选择消息中间件服务器302时,可能存在消息中间件服务器302不能与订阅者终端303的订阅属性完全匹配的问题,为了保证在该情况下订阅者终端303能够获取到订阅消息,本申请实施例中,订阅者终端303还进一步完成如下功能:
订阅者终端303,具体在根据比较结果确定不存在对订阅者终端303所在位置的要求中包括自身所在位置,对订阅者终端303对应优先级的要求不高于自身所对应优先级,以及对订阅者终端303所订阅消息对应的主题的要求中包括自身所订阅消息对应的主题均符合的消息中间件服务器302时,确定对订阅者终端303所在位置的要求中包括自身所在位置,或对订阅者终端303对应优先级的要求不高于自身所对应优先级,或对订阅者终端303所订阅消息对应的主题的要求中包括自身所订阅消息对应的主题的消息中间件服务器302为发送订阅请求的消息中间件服务器302。
即比较结果中,订阅者终端303的订阅属性不能满足一个消息中间件服务器302的全部订阅条件对订阅者终端303的要求,但订阅属性中存在满足不同消息中间件服务器302的一个或多个订阅条件对订阅者终端303的要求时,在该情况下,可以从该不同消息中间件服务器302中随机选择一个消息中间件服务器302以获取订阅消息,也可以根据比较结果确定各消息中间件服务器302对应的优先级,选择优先级最高的消息中间件服务器302以获取订阅消息。其中,消息中间件服务器302对应的优先级可通过其对应的权值表征,即权值越高对应的优先级越高,消息中间件服务器对应的权值的确定过程将在后续的方法实施例中详细说明,此处不再赘述。
实施例五
该实施例五中,图3所示的消息订阅系统中,配置服务器301可以将订阅条件相同的消息中间件服务器302确定为消息中间件服务器组。例如,图4所示的消息订阅系统中,第一订阅条件对应的第一消息中间件服务器、第二消息中间件服务器可以为一组消息中间件服务器302,第二订阅条件对应的第三消息中间件服务器、第四消息中间件服务器可以为另一组消息中间件服务器302(该图4中为清晰起见,未标出订阅者终端303);其中,处于同一个组中的消息中间件服务器302之间可以建立TCP连接,各消息中间件服务器302之间可以传送订阅消息,即实现同组内消息中间件服务器中保存的消息的同步。
相应地,订阅者终端303,具体从与自身的订阅属性匹配的订阅条件信息对应的一组消息中间件服务器302中确定发送订阅请求的消息中间件服务器302。
进一步地,该实施例五,订阅者终端303,还用于:
在确定出的消息中间件服务器302处于非正常工作状态时,从确定出的一组消息中间件服务器302中重新确定发送订阅请求的消息中间件服务器302。
根据该实施例五,配置服务器301将具有相同订阅条件的消息中间件服务器302设为一组,订阅者终端303可以在获取订阅消息过程中,实现组内消息中间件服务器302的切换,而无需从所有消息中间件服务器302中重新确定获取订阅消息的消息中间件服务器302。例如,图4所示的消息订阅系统中,相同订阅条件的一组消息中间件服务器302包括第三消息中间件服务器和第四消息中间件服务器,当从第四消息中间件服务器获取订阅消息的订阅者终端303确定该第四消息中间件服务器处于非正常工作状态时(例如,获取订阅消息无响应),则重新从该组消息中间件服务器302中确定用于获取订阅消息的消息中间件服务器302,如选择第三消息中间件服务器获取订阅消息,若该组消息中间件服务器302中包括更多的消息中间件服务器302,则可以进一步选择其它消息中间件服务器302以获取订阅消息。
上述实施例提供的消息订阅系统,也可以实现为一种方法,通过该方法实现消息订阅的具体过程将在后续实施例中详细说明。
本申请实施例中,基于图3所示的消息订阅系统实现消息订阅的过程,如图5所示,主要包括如下步骤:
步骤501、配置服务器301接收消息中间件服务器302上报的包括消息中间件服务器302的地址信息的订阅配置信息;
步骤502、配置服务器301根据消息中间件服务器302上报的订阅配置信息,确定从消息中间件服务器302获取订阅消息的订阅条件;
步骤503、配置服务器将消息中间件服务器302的地址信息以及消息中间件服务器302对应的订阅条件信息发送给订阅者终端303;
步骤504、订阅者终端303基于自身的订阅属性确定发送订阅请求的消息中间件服务器302。
根据本申请优选实施例,上述步骤501中,消息中间件服务器302上报的地址信息具体为该消息中间件服务器302对应的IP地址,可以在消息中间件服务器302每次开机时上报自身的IP地址信息,也可以是在监控到自身的IP地址信息发生变动时上报变动后的IP地址信息,以及时更新配置服务器根据该IP地址为该消息中间件服务器302确定的订阅条件。
图5所示流程的步骤501中,配置服务器301接收的订阅配置信息,具体包括:消息中间件服务器302的地址信息;或消息中间件服务器302的地址信息以及所提供消息对应的主题信息;或消息中间件服务器302的地址信息以及处理能力信息;或消息中间件服务器302的地址信息、处理能力信息以及所提供消息对应的主题信息;
相应地,上述步骤502中,配置服务器301根据消息中间件服务器302上报的订阅配置信息,确定从消息中间件服务器302获取订阅消息的订阅条件,具体包括:
根据消息中间件服务器302上报的订阅配置信息,确定订阅配置信息中包括的每个信息分别对订阅者终端303要求的订阅条件为该消息中间件服务器302对应的订阅条件;
上述步骤504中,订阅者终端303基于自身的订阅属性确定发送订阅请求的消息中间件服务器302,具体包括:
订阅者终端303将自身的各订阅属性分别与消息中间件服务器302对应的订阅条件中的相应订阅条件匹配,确定出与自身的各订阅属性完全匹配且对应同一消息中间件服务器的各订阅条件所对应的消息中间件服务器302用于发送订阅请求。
进一步地,若订阅者终端303未确定出与自身的各订阅属性完全匹配且对应同一消息中间件服务器的各订阅条件所对应的消息中间件服务器302,则上述步骤504还包括步骤:
确定出与自身的订阅属性匹配数目最多且对应同一消息中间件服务器的各订阅条件所对应的消息中间件服务器302用于发送订阅请求。
进一步地,若订阅者终端303确定出的与自身的订阅属性匹配数目最多且对应同一消息中间件服务器的各订阅条件所对应的消息中间件服务器为多个,则上述步骤504还包括步骤:
订阅者终端303分别根据多个消息中间件服务器302对应的匹配结果确定多个消息中间件服务器302分别对应的权值;
确定出权值最高的消息中间件服务器302用于发送订阅请求。
具体地,订阅者终端303根据消息中间件服务器302对应的匹配结果确定消息中间件服务器302对应的权值,具体包括:
订阅者终端303确定与自身的订阅属性匹配的各订阅条件分别对应的权重;
根据各订阅条件分别对应的权重确定消息中间件服务器302对应的权值。
该实施例中,可以预先为每个订阅条件分配权重,各消息中间件服务器302对应的权值可以为其对应的订阅条件能够与订阅者终端303的订阅属性匹配的订阅条件的权重之和。例如,若订阅条件包括A、B、C,各订阅条件对应的权值分别为0.5、0.3、0.2,若第一消息中间件服务器302对应的订阅条件中,与订阅者终端303的订阅属性能够匹配的订阅条件为A、B,则可以根据该方法确定该第一消息中间件服务器对应的权值为0.7;若若第二消息中间件服务器302对应的订阅条件中,与订阅者终端303的订阅属性能够匹配的订阅条件为B、C,则可以根据该方法确定该第一消息中间件服务器对应的权值为0.5。实际应用中,可以通过消息中间件服务器302对应的权值表征该消息中间件服务器302的优先级,其中,权值越高,优先级越高,例如上述的第一消息中间件服务器302的优先级高于第二消息中间件服务器302的优先级。
根据本申请优选实施例,上述步骤502中,配置服务器301根据消息中间件服务器302上报的订阅配置信息中包括的不同内容确定的订阅条件不同,相应地,步骤504中,订阅者终端303基于自身的订阅属性确定发送订阅请求的消息中间件服务器302的过程也不同,以下结合上述实施例提供的消息订阅系统,对上述步骤的详细流程进行说明。
实施例六
对应于上述实施例一提供的消息订阅系统,消息中间件服务器302上报的订阅配置信息中包括自身的地址信息;
上述步骤502中,配置服务器301根据消息中间件服务器302上报的订阅配置信息,确定从消息中间件服务器302获取订阅消息的订阅条件,具体包括:
配置服务器301根据消息中间件服务器302上报的订阅配置信息中包括的消息中间件服务器302的地址信息,确定包括消息中间件服务器302对订阅者终端303所在位置要求的订阅条件。
该实施例中,消息中间件服务器上报的自身的地址信息可以具体为IP地址,配置服务器301根据消息中间件服务器302上报的IP地址确定该IP地址对应的位置,然后将该位置确定为对订阅者终端303所在位置的要求,即与该消息中间件服务器302处于同一位置的订阅者终端303可以从该消息中间件服务器302中获取订阅消息。
相应地,上述步骤504中,订阅者终端303基于自身的订阅属性确定发送订阅请求的消息中间件服务器302,具体包括:
订阅者终端303将自身所在位置与消息中间件服务器302对应的订阅条件中对订阅者终端303所在位置的要求比较;
根据比较结果确定对订阅者终端303所在位置的要求中包括自身所在位置的消息中间件服务器302为发送订阅请求的消息中间件服务器302。
实施例七
对应于上述实施例二提供的消息订阅系统,消息中间件服务器302上报的订阅配置信息中包括自身的地址信息以及消息中间件服务器所提供消息对应的主题信息;
上述步骤502中,配置服务器301根据消息中间件服务器302上报的订阅配置信息,确定从消息中间件服务器302获取订阅消息的订阅条件,具体包括:
配置服务器301根据消息中间件服务器302上报的订阅配置信息中包括的消息中间件服务器302的地址信息,确定包括消息中间件服务器302对订阅者终端303所在位置要求的第一订阅条件;以及
根据消息中间件服务器302上报的订阅配置信息中包括的消息中间件服务器302所提供消息对应的主题信息,确定包括消息中间件服务器302对订阅者终端303所订阅消息对应的主题要求的第二订阅条件。
相应地,上述步骤504中,订阅者终端303基于自身的订阅属性确定发送订阅请求的消息中间件服务器302,具体包括:
订阅者终端303将自身所在位置与消息中间件服务器302对应的第一订阅条件中对订阅者终端303所在位置的要求比较、以及将自身所订阅消息对应的主题与消息中间件服务器302对应的第二订阅条件中对订阅者终端303所订阅消息对应的主题的要求比较;
根据比较结果确定对订阅者终端303所在位置的要求中包括自身所在位置、以及对订阅者终端303所订阅消息对应的主题的要求中包括自身所订阅消息对应的主题的消息中间件服务器为发送订阅请求的消息中间件服务器302。
进一步地,上述步骤504中,订阅者终端303基于自身的订阅属性确定发送订阅请求的消息中间件服务器302,还包括:
在根据比较结果确定不存在对订阅者终端303所在位置的要求中包括自身所在位置、以及对订阅者终端303所订阅消息对应的主题的要求中包括自身所订阅消息对应的主题均符合的消息中间件服务器302时,确定对订阅者终端303所在位置的要求中包括自身所在位置或对订阅者终端303所订阅消息对应的主题的要求中包括自身所订阅消息对应的主题的消息中间件服务器302为发送订阅请求的消息中间件服务器302。
实施例八
对应于上述实施例三提供的消息订阅系统,消息中间件服务器上报的订阅配置信息中包括自身的地址信息以及消息中间件服务器的处理能力信息,其中,该处理能力信息通过该消息中间件服务器302的配置信息表征,例如,分配给该消息中间件服务器302的带宽、该消息中间件服务器302的硬件配置等。
基于以上订阅配置信息中包括的信息,上述步骤502中,配置服务器301根据消息中间件服务器302上报的订阅配置信息,确定从消息中间件服务器302获取订阅消息的订阅条件,具体包括:
根据消息中间件服务器302上报的订阅配置信息中包括的消息中间件服务器302的地址信息,确定包括消息中间件服务器302对订阅者终端303所在位置要求的第三订阅条件;以及
根据消息中间件服务器302上报的订阅配置信息中包括的消息中间件服务器302的处理能力信息,确定包括消息中间件服务器302对订阅者终端303对应优先级要求的第四订阅条件。
相应地,上述步骤504中,订阅者终端303基于自身的订阅属性确定发送订阅请求的消息中间件服务器,具体包括:
订阅者终端303将自身所在位置与消息中间件服务器302对应的第三订阅条件中对订阅者终端303所在位置的要求比较、以及将自身所对应的优先级与消息中间件服务器302对应的第四订阅条件中对订阅者终端303对应优先级的要求比较;
根据比较结果确定对订阅者终端303所在位置的要求中包括自身所在位置、以及对订阅者终端303对应优先级的要求不高于自身对应优先级的消息中间件服务器302为发送订阅请求的消息中间件服务器302。
进一步地,上述步骤504中,订阅者终端303基于自身的订阅属性确定发送订阅请求的消息中间件服务器302,还包括:
在根据比较结果确定不存在对订阅者终端303所在位置的要求中包括自身所在位置,以及对订阅者终端303对应优先级的要求不高于自身对应优先级均符合的消息中间件服务器302时,确定对订阅者终端303所在位置的要求中包括自身所在位置或对订阅者终端303对应优先级的要求不高于自身对应优先级的消息中间件服务器302为发送订阅请求的消息中间件服务器302。
实施例九
对应于上述实施例四提供的消息订阅系统,消息中间件服务器302上报的订阅配置信息中包括消息中间件服务器302自身的地址信息、处理能力信息以及所提供消息对应的主题信息;
基于订阅配置信息中包括的上述信息,上述步骤502中,配置服务器301根据消息中间件服务器302上报的订阅配置信息,确定从消息中间件服务器302获取订阅消息的订阅条件,具体包括:
根据消息中间件服务器302上报的订阅配置信息中包括的消息中间件服务器302的地址信息,确定包括消息中间件服务器302对订阅者终端303所在位置要求的第五订阅条件;以及
根据消息中间件服务器302上报的订阅配置信息中包括的消息中间件服务器302的处理能力信息,确定包括消息中间件服务器对订阅者终端303对应优先级要求的第六订阅条件;以及
根据消息中间件服务器302上报的订阅配置信息中包括的消息中间件服务器302所提供消息对应的主题信息,确定包括消息中间件服务器302对订阅者终端303所订阅消息对应的主题要求的第七订阅条件。
相应地,上述步骤504中,订阅者终端303基于自身的订阅属性确定发送订阅请求的消息中间件服务器,具体包括:
订阅者终端303将自身所在位置与消息中间件服务器302对应的第五订阅条件中对订阅者终端303所在位置的要求比较、将自身所对应的优先级与消息中间件服务器302对应的第六订阅条件中对订阅者终端303对应优先级的要求比较、以及将自身所订阅消息对应的主题与消息中间件服务器302对应的第七订阅条件中对订阅者终端303所订阅消息对应的主题的要求比较;
根据比较结果确定对订阅者终端303所在位置的要求中包括自身所在位置、对订阅者终端303对应优先级的要求不高于自身所对应优先级、以及对订阅者终端303所订阅消息对应的主题的要求中包括自身所订阅消息对应的主题的消息中间件服务器302为发送订阅请求的消息中间件服务器302。
进一步地,上述步骤504中,订阅者终端303基于自身的订阅属性确定发送订阅请求的消息中间件服务器,还包括:
在根据比较结果确定不存在对订阅者终端303所在位置的要求中包括自身所在位置,对订阅者终端303对应优先级的要求不高于自身所对应优先级,以及对订阅者终端303所订阅消息对应的主题的要求中包括自身所订阅消息对应的主题均符合的消息中间件服务器302时,确定对订阅者终端303所在位置的要求中包括自身所在位置或对订阅者终端303对应优先级的要求不高于自身所对应优先级或对订阅者终端303所订阅消息对应的主题的要求中包括自身所订阅消息对应的主题的消息中间件服务器302为发送订阅请求的消息中间件服务器302。
实施例十
对应于上述实施例五提供的消息订阅系统,上述步骤503中,配置服务器将消息中间件服务器302的地址信息以及消息中间件服务器302对应的订阅条件信息发送给订阅者终端303,具体包括:
配置服务器301将订阅条件相同的消息中间件服务器302确定为消息中间件服务器组,并将消息中间件服务器组对应的订阅条件以及消息中间件服务器组中各消息中间件服务器302的地址信息发送给订阅者终端303;
相应地,订阅者终端303在基于自身的订阅属性确定发送订阅请求的消息中间件服务器302后,还包括:
在确定出的消息中间件服务器302处于非正常工作状态或从确定出的消息中间件服务器302中获取订阅消息的订阅者终端303的数量超过设定阈值时,从确定出的消息中间件服务器302所在的消息中间件服务器组中重新确定发送订阅请求的消息中间件服务器302。
如图6所示,上述实施例提供的消息订阅系统中包括的配置服务器301,可以具体包括:
接收单元601、订阅条件确定单元602以及发送单元603;
其中:
接收单元601,用于接收消息中间件服务器302上报的包括消息中间件服务器302的地址信息的订阅配置信息;
订阅条件确定单元602,用于根据接收单元601接收的订阅配置信息,确定从消息中间件服务器302获取订阅消息的订阅条件;
发送单元603,用于将消息中间件服务器302的地址信息以及订阅条件确定单元602确定的消息中间件服务器302对应的订阅条件信息发送给订阅者终端303,由该订阅者终端303基于自身的订阅属性确定发送订阅请求的消息中间件服务器。
应当理解,以上配置服务器装置包括的单元仅为根据该装置实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例提供的配置服务器装置所实现的具体功能已在上述系统实施例以及方法实施例中详细描述,此处不再赘述。
实施例十一
本发明实施例十一提供了一种基于上述实施例十提供的配置服务器实现消息订阅的流程,具体如图7所示,该方法包括如下步骤:
步骤701、接收消息中间件服务器上报的包括消息中间件服务器的地址信息的订阅配置信息;
步骤702、根据消息中间件服务器上报的订阅配置信息,确定从该消息中间件服务器获取订阅消息的订阅条件;
步骤703、将消息中间件服务器的地址信息以及消息中间件服务器对应的订阅条件信息发送给订阅者终端,由订阅者终端基于自身的订阅属性确定发送订阅请求的消息中间件服务器。
具体地,上述步骤701的具体实施过程与上述实施例中步骤501的具体实现过程一致,上述实施例已对步骤501的详细实施过程进行了说明,此处不再赘述。
上述步骤702的具体实施过程与上述实施例中的步骤502的具体实现过程一致,上述实施例已通过实施例六、实施例七以及实施例八对步骤502的不同实现过程进行了详细说明,此处不再赘述。
实施例十二
本申请实施例十二提供了一种消息订阅系统,如图8所示,该消息订阅系统包括配置服务器801以及消息中间件服务器802(可能为多台,图中示出两台作为示例),其中:
消息中间件服务器802,用于向配置服务器801上报至少包括自身地址信息的订阅配置信息,接收订阅者终端的订阅请求,以及向发送订阅请求的订阅者终端提供订阅消息;
配置服务器801,用于根据消息中间件服务器802上报的订阅配置信息,确定从消息中间件服务器802获取订阅消息的订阅条件,并将该消息中间件服务器802的地址信息以及消息中间件服务器802对应的订阅条件信息发送给订阅者终端;
其中,配置服务器801确定出的订阅条件信息用于与订阅者终端自身的订阅属性进行匹配以确定出该订阅者终端发送订阅请求的消息中间件服务器802。
具体地,图8所示的消息订阅系统中包括的配置服务器801以及消息中间件服务器802分别与上述实施例中的配置服务器301以及消息中间件服务器302所实现的具体功能一致,上述实施例已通过实施例一、实施例二以及实施例三对配置服务器301以及消息中间件服务器302进行了详细说明,此处不再赘述。
实施例十三
本发明实施例十三提供了一种基于上述实施例十二提供的消息订阅系统实现消息订阅的流程,具体如图9所示,该方法包括如下步骤:
步骤901、消息中间件服务器802向配置服务器801上报至少包括自身地址信息的订阅配置信息;
步骤902、配置服务器801根据消息中间件服务器802上报的订阅配置信息,确定从消息中间件服务器802获取订阅消息的订阅条件;
步骤903、配置服务器801将消息中间件服务器802的地址信息以及消息中间件服务器802对应的订阅条件信息发送给订阅者终端。
该步骤903中,配置服务器801发送的订阅条件信息用于与订阅者终端自身的订阅属性进行匹配以确定出所述订阅者终端发送订阅请求的消息中间件服务器。
具体地,上述步骤902的具体实施过程与上述实施例中步骤502的具体实现过程一致,上述实施例已通过实施例六、实施例七以及实施例八对步骤502的不同实现过程进行了详细说明,此处不再赘述。
通过本申请实施例提供的上述至少一个技术方案,在消息订阅系统中设置配置服务器,该配置服务器接收消息中间件服务器上报的包括消息中间件服务器的地址信息的订阅配置信息,根据该订阅配置信息确定从消息中间件服务器获取订阅消息的订阅条件,并将消息中间件服务器的地址信息以及对应的订阅条件信息发送给订阅者终端,由订阅者终端基于自身的订阅属性确定发送订阅请求的消息中间件服务器。根据该技术方案,通过配置服务器对消息中间件服务器进行统一管理,能够根据各消息中间件服务器的订阅配置信息确定该消息中间件服务器对应的订阅条件,该订阅条件能够提供给订阅者终端作为选择发送订阅请求的消息中间件服务器的依据,使得订阅者终端能够基于自身的订阅属性,例如订阅者终端所在位置等信息,结合各消息中间件服务器要求的订阅条件,选择出合适的消息中间件服务器发送订阅请求,相对于现有技术,根据本申请提供的技术方案确定出的用于发送订阅请求的消息中间件服务器,由于与订阅者终端的订阅属性匹配,因此能够更好地为订阅者终端提供订阅消息,从而提高了订阅者终端从消息中间件服务器中获取订阅消息的效率。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (12)
1.一种消息订阅系统,其特征在于,包括消息中间件服务器、配置服务器以及订阅者终端,其中:
所述消息中间件服务器,用于向所述配置服务器上报至少包括自身地址信息的订阅配置信息,接收订阅者终端的订阅请求,以及向发送订阅请求的订阅者终端提供订阅消息;
所述配置服务器,用于根据所述消息中间件服务器上报的订阅配置信息,确定从所述消息中间件服务器获取订阅消息的订阅条件,并将所述消息中间件服务器的地址信息以及所述消息中间件服务器对应的订阅条件信息发送给订阅者终端;
所述订阅者终端,用于根据所述配置服务器发送的消息中间件服务器对应的订阅条件信息,确定与自身的订阅属性匹配的订阅条件信息对应的消息中间件服务器,并根据确定出的所述消息中间件服务器的地址信息,向与所述地址信息对应的消息中间件服务器发送订阅请求。
2.如权利要求1所述的系统,其特征在于,所述配置服务器,具体将订阅条件相同的消息中间件服务器确定为一组,并将该组消息中间件服务器对应的订阅条件以及该组中各消息中间件服务器的地址信息发送给订阅者终端;
所述订阅者终端,具体从与自身的订阅属性匹配的订阅条件信息对应的一组消息中间件服务器中确定发送订阅请求的消息中间件服务器。
3.如权利要求2所述的系统,其特征在于,所述订阅者终端,还用于:
在确定出的所述消息中间件服务器处于非正常工作状态后,从确定出的所述消息中间件服务器所在的组中重新确定用于获取订阅消息的消息中间件服务器。
4.如权利要求1所述的系统,其特征在于,
所述消息中间件服务器,具体用于向所述配置服务器上报包括自身地址信息的订阅配置信息,或上报包括自身地址信息以及所提供消息对应的主题信息的订阅配置信息,或上报包括自身地址信息以及自身处理能力信息的订阅配置信息,或上报包括自身地址信息、自身处理能力信息以及所提供消息对应的主题信息的订阅配置信息;
所述配置服务器,具体根据所述消息中间件服务器上报的订阅配置信息,确定所述订阅配置信息中包括的每个信息分别对订阅者终端要求的订阅条件为所述消息中间件服务器对应的订阅条件;
所述订阅者终端,具体将自身的各订阅属性分别与所述消息中间件服务器对应的订阅条件中的相应订阅条件匹配,确定出与自身的各订阅属性完全匹配且对应同一消息中间件服务器的各订阅条件所对应的消息中间件服务器用于发送订阅请求。
5.如权利要求4所述的系统,其特征在于,所述订阅者终端还用于在未确定出与自身的各订阅属性完全匹配且对应同一消息中间件服务器的各订阅条件所对应的消息中间件服务器时,确定出与自身的订阅属性匹配数目最多且对应同一消息中间件服务器的各订阅条件所对应的消息中间件服务器用于发送订阅请求。
6.如权利要求5所述的系统,其特征在于,所述订阅者终端还用于在确定出的与自身的订阅属性匹配数目最多且对应同一消息中间件服务器的各订阅条件所对应的消息中间件服务器为多个时,分别根据所述多个消息中间件服务器对应的匹配结果确定所述多个消息中间件服务器分别对应的权值,并确定出权值最高的消息中间件服务器用于发送订阅请求。
7.一种消息订阅方法,其特征在于,包括以下步骤:
消息中间件服务器向配置服务器上报至少包括自身地址信息的订阅配置信息,接收订阅者终端的订阅请求,以及向发送订阅请求的订阅者终端提供订阅消息;
配置服务器根据所述消息中间件服务器上报的订阅配置信息,确定从所述消息中间件服务器获取订阅消息的订阅条件,并将所述消息中间件服务器的地址信息以及所述消息中间件服务器对应的订阅条件信息发送给订阅者终端;
订阅者终端根据所述配置服务器发送的消息中间件服务器对应的订阅条件信息,确定与自身的订阅属性匹配的订阅条件信息对应的消息中间件服务器,并根据确定出的所述消息中间件服务器的地址信息,向与所述地址信息对应的消息中间件服务器发送订阅请求。
8.如权利要求7所述的方法,其特征在于,配置服务器根据所述消息中间件服务器上报的订阅配置信息,确定从所述消息中间件服务器获取订阅消息的订阅条件,并将所述消息中间件服务器的地址信息以及所述消息中间件服务器对应的订阅条件信息发送给订阅者终端,具体包括:
配置服务器将订阅条件相同的消息中间件服务器确定为一组,并将该组消息中间件服务器对应的订阅条件以及该组中各消息中间件服务器的地址信息发送给订阅者终端;
所述订阅者终端具体从与自身的订阅属性匹配的订阅条件信息对应的一组消息中间件服务器中确定发送订阅请求的消息中间件服务器。
9.一种消息订阅系统,其特征在于,包括消息中间件服务器、配置服务器,其中:
所述消息中间件服务器,用于向所述配置服务器上报至少包括自身地址信息的订阅配置信息,接收订阅者终端的订阅请求,以及向发送订阅请求的订阅者终端提供订阅消息;
所述配置服务器,用于根据所述消息中间件服务器上报的订阅配置信息,确定从所述消息中间件服务器获取订阅消息的订阅条件,并将所述消息中间件服务器的地址信息以及所述消息中间件服务器对应的订阅条件信息发送给订阅者终端;
其中,所述订阅条件信息用于与订阅者终端自身的订阅属性进行匹配以确定出所述订阅者终端发送订阅请求的消息中间件服务器。
10.一种消息订阅方法,其特征在于,包括以下步骤:
消息中间件服务器向所述配置服务器上报至少包括自身地址信息的订阅配置信息,接收订阅者终端的订阅请求,以及向发送订阅请求的订阅者终端提供订阅消息;
配置服务器根据所述消息中间件服务器上报的订阅配置信息,确定从所述消息中间件服务器获取订阅消息的订阅条件,并将所述消息中间件服务器的地址信息以及所述消息中间件服务器对应的订阅条件信息发送给订阅者终端;
其中,所述订阅条件信息用于与订阅者终端自身的订阅属性进行匹配以确定出所述订阅者终端发送订阅请求的消息中间件服务器。
11.一种配置服务器,其特征在于,包括:
接收单元,用于接收消息中间件服务器上报的包括消息中间件服务器的地址信息的订阅配置信息;
订阅条件确定单元,用于根据所述接收单元接收的订阅配置信息,确定从所述消息中间件服务器获取订阅消息的订阅条件;
发送单元,用于将所述消息中间件服务器的地址信息以及所述订阅条件确定单元确定的消息中间件服务器对应的订阅条件信息发送给订阅者终端,由所述订阅者终端基于自身的订阅属性确定发送订阅请求的消息中间件服务器。
12.一种消息订阅方法,其特征在于,包括:
接收消息中间件服务器上报的包括消息中间件服务器的地址信息的订阅配置信息;
根据所述消息中间件服务器上报的订阅配置信息,确定从所述消息中间件服务器获取订阅消息的订阅条件;
将所述消息中间件服务器的地址信息以及所述消息中间件服务器对应的订阅条件信息发送给订阅者终端,由所述订阅者终端基于自身的订阅属性确定发送订阅请求的消息中间件服务器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010252192.7A CN102377686B (zh) | 2010-08-10 | 2010-08-10 | 一种消息订阅系统、消息订阅方法及装置 |
HK12104321.8A HK1163971A1 (zh) | 2010-08-10 | 2012-05-03 | 種消息訂閱系統、消息訂閱方法及裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010252192.7A CN102377686B (zh) | 2010-08-10 | 2010-08-10 | 一种消息订阅系统、消息订阅方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102377686A true CN102377686A (zh) | 2012-03-14 |
CN102377686B CN102377686B (zh) | 2015-07-01 |
Family
ID=45795678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010252192.7A Active CN102377686B (zh) | 2010-08-10 | 2010-08-10 | 一种消息订阅系统、消息订阅方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102377686B (zh) |
HK (1) | HK1163971A1 (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103491154A (zh) * | 2013-09-17 | 2014-01-01 | 北京思特奇信息技术股份有限公司 | 一种客户端服务调用方法及装置 |
WO2015117342A1 (zh) * | 2014-07-18 | 2015-08-13 | 中兴通讯股份有限公司 | 一种通知消息的发送方法、装置和系统 |
CN105553682A (zh) * | 2015-12-23 | 2016-05-04 | 华为技术有限公司 | 事件通知方法及用于事件通知的系统 |
CN105610926A (zh) * | 2015-12-22 | 2016-05-25 | 广州唯品会信息科技有限公司 | 消息传递方法、系统和消息中间件系统 |
CN105681156A (zh) * | 2014-11-19 | 2016-06-15 | 阿里巴巴集团控股有限公司 | 消息发布方法、装置及系统 |
CN105791082A (zh) * | 2014-12-23 | 2016-07-20 | 阿里巴巴集团控股有限公司 | 计算机集群间基于消息中间件的消息传输方法及其装置 |
CN106572146A (zh) * | 2015-10-13 | 2017-04-19 | 腾讯科技(深圳)有限公司 | 消息发送方法及消息发送装置 |
CN107592215A (zh) * | 2017-08-31 | 2018-01-16 | 郑州云海信息技术有限公司 | 一种管理消息中间件的方法 |
CN108199912A (zh) * | 2017-12-15 | 2018-06-22 | 北京奇艺世纪科技有限公司 | 一种异地多活的分布式消息的管理、消费方法及装置 |
CN108701096A (zh) * | 2016-02-18 | 2018-10-23 | 日本电气株式会社 | 通信系统、边缘服务器、第一代理端、第二代理端、方法和存储介质 |
CN109347915A (zh) * | 2018-09-14 | 2019-02-15 | 中国电子科技集团公司第二十八研究所 | 基于属性匹配的移动ad-hoc网络节点信息匹配方法 |
CN109388509A (zh) * | 2018-10-22 | 2019-02-26 | 上海朔羡网络科技有限公司 | 消息处理系统、方法、计算机设备及可读存储介质 |
CN109729154A (zh) * | 2018-12-13 | 2019-05-07 | 四川省能源投资集团有限责任公司 | 一种基于控制器的简单消息订阅发布服务方法 |
CN110166487A (zh) * | 2019-06-19 | 2019-08-23 | 深圳聚点互动科技有限公司 | 局域网设备信息传输方法、主设备、存储介质及智能设备 |
CN110731074A (zh) * | 2018-12-13 | 2020-01-24 | Oppo广东移动通信有限公司 | 订阅消息的处理方法、装置、计算机设备和存储介质 |
CN111049753A (zh) * | 2019-12-18 | 2020-04-21 | 网易(杭州)网络有限公司 | 消息的发送方法、装置、电子设备及计算机可读介质 |
CN111770182A (zh) * | 2020-06-30 | 2020-10-13 | 北京百度网讯科技有限公司 | 数据推送方法和装置 |
CN112311825A (zh) * | 2019-07-29 | 2021-02-02 | 浙江宇视科技有限公司 | 消息推送方法、装置、推送服务器及可读存储介质 |
CN112788551A (zh) * | 2020-12-30 | 2021-05-11 | 平安证券股份有限公司 | 消息处理方法、装置、终端设备及存储介质 |
CN115865877A (zh) * | 2023-02-13 | 2023-03-28 | 共道网络科技有限公司 | 音视频处理方法、设备及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101668031A (zh) * | 2008-09-02 | 2010-03-10 | 阿里巴巴集团控股有限公司 | 一种消息处理方法及系统 |
CN101674257A (zh) * | 2008-09-10 | 2010-03-17 | 阿里巴巴集团控股有限公司 | 一种消息存储方法、装置及一种消息处理系统 |
-
2010
- 2010-08-10 CN CN201010252192.7A patent/CN102377686B/zh active Active
-
2012
- 2012-05-03 HK HK12104321.8A patent/HK1163971A1/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101668031A (zh) * | 2008-09-02 | 2010-03-10 | 阿里巴巴集团控股有限公司 | 一种消息处理方法及系统 |
CN101674257A (zh) * | 2008-09-10 | 2010-03-17 | 阿里巴巴集团控股有限公司 | 一种消息存储方法、装置及一种消息处理系统 |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103491154A (zh) * | 2013-09-17 | 2014-01-01 | 北京思特奇信息技术股份有限公司 | 一种客户端服务调用方法及装置 |
WO2015117342A1 (zh) * | 2014-07-18 | 2015-08-13 | 中兴通讯股份有限公司 | 一种通知消息的发送方法、装置和系统 |
CN105681156A (zh) * | 2014-11-19 | 2016-06-15 | 阿里巴巴集团控股有限公司 | 消息发布方法、装置及系统 |
CN105791082B (zh) * | 2014-12-23 | 2019-08-02 | 阿里巴巴集团控股有限公司 | 计算机集群间基于消息中间件的消息传输方法及其装置 |
CN105791082A (zh) * | 2014-12-23 | 2016-07-20 | 阿里巴巴集团控股有限公司 | 计算机集群间基于消息中间件的消息传输方法及其装置 |
CN106572146A (zh) * | 2015-10-13 | 2017-04-19 | 腾讯科技(深圳)有限公司 | 消息发送方法及消息发送装置 |
CN105610926A (zh) * | 2015-12-22 | 2016-05-25 | 广州唯品会信息科技有限公司 | 消息传递方法、系统和消息中间件系统 |
CN105610926B (zh) * | 2015-12-22 | 2019-01-11 | 广州品唯软件有限公司 | 消息传递方法、系统和消息中间件系统 |
CN105553682A (zh) * | 2015-12-23 | 2016-05-04 | 华为技术有限公司 | 事件通知方法及用于事件通知的系统 |
CN108701096B (zh) * | 2016-02-18 | 2021-06-08 | 日本电气株式会社 | 通信系统、边缘服务器、方法和存储介质 |
CN108701096A (zh) * | 2016-02-18 | 2018-10-23 | 日本电气株式会社 | 通信系统、边缘服务器、第一代理端、第二代理端、方法和存储介质 |
CN107592215A (zh) * | 2017-08-31 | 2018-01-16 | 郑州云海信息技术有限公司 | 一种管理消息中间件的方法 |
CN108199912A (zh) * | 2017-12-15 | 2018-06-22 | 北京奇艺世纪科技有限公司 | 一种异地多活的分布式消息的管理、消费方法及装置 |
CN108199912B (zh) * | 2017-12-15 | 2020-09-22 | 北京奇艺世纪科技有限公司 | 一种异地多活的分布式消息的管理、消费方法及装置 |
CN109347915A (zh) * | 2018-09-14 | 2019-02-15 | 中国电子科技集团公司第二十八研究所 | 基于属性匹配的移动ad-hoc网络节点信息匹配方法 |
CN109388509A (zh) * | 2018-10-22 | 2019-02-26 | 上海朔羡网络科技有限公司 | 消息处理系统、方法、计算机设备及可读存储介质 |
CN109729154A (zh) * | 2018-12-13 | 2019-05-07 | 四川省能源投资集团有限责任公司 | 一种基于控制器的简单消息订阅发布服务方法 |
CN110731074A (zh) * | 2018-12-13 | 2020-01-24 | Oppo广东移动通信有限公司 | 订阅消息的处理方法、装置、计算机设备和存储介质 |
US11991779B2 (en) | 2018-12-13 | 2024-05-21 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Subscription message processing method and apparatus, and computer device and storage medium |
CN109729154B (zh) * | 2018-12-13 | 2021-10-15 | 四川省能源投资集团有限责任公司 | 一种基于控制器的简单消息订阅发布服务方法 |
CN110166487A (zh) * | 2019-06-19 | 2019-08-23 | 深圳聚点互动科技有限公司 | 局域网设备信息传输方法、主设备、存储介质及智能设备 |
CN112311825A (zh) * | 2019-07-29 | 2021-02-02 | 浙江宇视科技有限公司 | 消息推送方法、装置、推送服务器及可读存储介质 |
CN112311825B (zh) * | 2019-07-29 | 2023-05-19 | 浙江宇视科技有限公司 | 消息推送方法、装置、推送服务器及可读存储介质 |
CN111049753B (zh) * | 2019-12-18 | 2023-05-12 | 网易(杭州)网络有限公司 | 消息的发送方法、装置、电子设备及计算机可读介质 |
CN111049753A (zh) * | 2019-12-18 | 2020-04-21 | 网易(杭州)网络有限公司 | 消息的发送方法、装置、电子设备及计算机可读介质 |
CN111770182A (zh) * | 2020-06-30 | 2020-10-13 | 北京百度网讯科技有限公司 | 数据推送方法和装置 |
CN111770182B (zh) * | 2020-06-30 | 2022-05-31 | 北京百度网讯科技有限公司 | 数据推送方法和装置 |
CN112788551A (zh) * | 2020-12-30 | 2021-05-11 | 平安证券股份有限公司 | 消息处理方法、装置、终端设备及存储介质 |
CN115865877A (zh) * | 2023-02-13 | 2023-03-28 | 共道网络科技有限公司 | 音视频处理方法、设备及计算机可读存储介质 |
CN115865877B (zh) * | 2023-02-13 | 2023-05-16 | 共道网络科技有限公司 | 音视频处理方法、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
HK1163971A1 (zh) | 2012-09-14 |
CN102377686B (zh) | 2015-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102377686B (zh) | 一种消息订阅系统、消息订阅方法及装置 | |
CN110167051B (zh) | 集中式单元-分布式单元架构下的通信方法、通信设备 | |
US9215715B2 (en) | Dynamic spectrum allocation method, central control unit, base station and spectrum allocation system | |
CN111405684A (zh) | 连接到网络接入设备的方法、终端及计算机可读存储介质 | |
CN102377685B (zh) | 一种订阅消息的发送系统以及订阅消息的发送方法 | |
CN103561049A (zh) | 一种处理终端调度请求的方法、系统及装置 | |
CN103518350A (zh) | 群组通信的方法、系统、群组服务器和群组成员设备 | |
CN103312605A (zh) | 一种网关设备身份设置的方法及管理网关设备 | |
CN113596191A (zh) | 一种数据处理方法、网元设备以及可读存储介质 | |
CN101989913A (zh) | 用于使局域网中的网络设备获取业务内容的方法及装置 | |
CN102571996A (zh) | Ip地址分配方法、装置以及网络系统 | |
CN104410982B (zh) | 一种无线异构网络中终端聚合与重构方法 | |
CN103716281A (zh) | 控制方法、电子设备和服务器 | |
CA3060010A1 (en) | D2d communication method, remote user equipment, and relay user equipment | |
CN113572864B (zh) | 一种数据处理方法、网元设备以及可读存储介质 | |
CN110582998A (zh) | 群组的通信方法及装置、计算机存储介质、计算机设备 | |
CN104168629A (zh) | 邻近服务中继节点的发现方法、终端及邻近服务通信系统 | |
KR102001103B1 (ko) | 전자장치, 서버 및 시스템의 제어방법 | |
CN105246129B (zh) | 一种智能终端的组网方法及装置 | |
CN105580424A (zh) | 一种终端接入基站的方法及装置 | |
CN114615272B (zh) | 媒体数据转发服务器调度方法和系统 | |
CN106254935A (zh) | 一种资源共享的方法及终端 | |
CN106385688B (zh) | 一种基带资源分配方法及系统及控制器 | |
CN104602047A (zh) | Epg数据的分享方法、服务器、终端及系统 | |
CN114884805A (zh) | 数据传输方法、装置、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1163971 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1163971 Country of ref document: HK |