消息传输方法、装置、计算机设备和存储介质与流程

文档序号:18009234发布日期:2019-06-25 23:47阅读:171来源:国知局
消息传输方法、装置、计算机设备和存储介质与流程

本申请涉及计算机技术领域,特别是涉及一种消息传输方法、装置、计算机设备和存储介质。



背景技术:

随着计算机技术的发展,互联网行业对于消息的运用也越来越广泛,传统技术中,使用mq(messagequeue,消息队列是一种应用程序对应用程序的通信方法)的处理方式是各个客户端与mq建立连接,由各个客户端处理重复的消息技术逻辑以及承担与mq通信的资源消耗。但这种mq的处理方式及其不方便,各个mq中间也各自有一套自己的消息处理逻辑,无法对mq中间件进行统一管理。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够方便对mq中间件进行统一管理的消息传输方法、装置、计算机设备和存储介质。

一种消息传输方法,所述方法包括:

消息管理件获取生产端发送的待传输消息,所述待传输消息携带有主题标识;

所述消息管理件将所述待传输消息发送至与所述主题标识对应的消息中间件;

所述消息管理件获取通过所述消息中间件处理后的所述待传输消息,将所述处理后的所述待传输消息发送至与对应的消费端。

一种消息传输装置,其特征在于,所述装置包括:

消息发送模块,用于消息管理件获取生产端发送的待传输消息,所述待传输消息携带有主题标识;

消息转发模块,用于所述消息管理件将所述待传输消息发送至与所述主题标识对应的消息中间件;

消息处理模块,用于所述消息管理件获取通过所述消息中间件处理后的所述待传输消息,将所述处理后的所述待传输消息发送至与对应的消费端。

一种计算机设备,包括存储器、处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

消息管理件获取生产端发送的待传输消息,所述待传输消息携带有主题标识;

所述消息管理件将所述待传输消息发送至与所述主题标识对应的消息中间件;

所述消息管理件获取通过所述消息中间件处理后的所述待传输消息,将所述处理后的所述待传输消息发送至与对应的消费端。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

消息管理件获取生产端发送的待传输消息,所述待传输消息携带有主题标识;

所述消息管理件将所述待传输消息发送至与所述主题标识对应的消息中间件;

所述消息管理件获取通过所述消息中间件处理后的所述待传输消息,将所述处理后的所述待传输消息发送至与对应的消费端。

一种消息传输方法,所述方法包括:

消费端发送订阅消息至消息管理件,所述订阅消息携带有主题标识;

生产端发送待传输消息至所述消息管理件,所述待传输消息携带有主题标识;

所述消息管理件将所述待传输消息发送至与所述主题标识对应的消息中间件;

所述消息中间件根据所述主题标识对所述待传输消息进行处理,将处理后的所述待传输消息发送至所述消息管理件;

所述消息管理件将所述处理后的待传输消息发送至所述消费端。

一种计算机设备,包括存储器、处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

消费端发送订阅消息至消息管理件,所述订阅消息携带有主题标识;

生产端发送待传输消息至所述消息管理件,所述待传输消息携带有主题标识;

所述消息管理件将所述待传输消息发送至与所述主题标识对应的消息中间件;

所述消息中间件根据所述主题标识对所述待传输消息进行处理,将处理后的所述待传输消息发送至所述消息管理件;

所述消息管理件将所述处理后的待传输消息发送至所述消费端。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

消费端发送订阅消息至消息管理件,所述订阅消息携带有主题标识;

生产端发送待传输消息至所述消息管理件,所述待传输消息携带有主题标识;

所述消息管理件将所述待传输消息发送至与所述主题标识对应的消息中间件;

所述消息中间件根据所述主题标识对所述待传输消息进行处理,将处理后的所述待传输消息发送至所述消息管理件;

所述消息管理件将所述处理后的待传输消息发送至所述消费端。

上述消息传输方法、装置、计算机设备和存储介质,通过消息管理件获取生产端发送的待传输消息,由消息管理件将待传输消息发送至与主题标识对应的消息中间件,获取通过消息中间件处理后的待传输消息,并将处理后的待传输消息发送至与对应的消费端,通过引入消息管理件的方式,使得生产端与消费端均是与消息管理件进行直接交互,从而可以通过消息管理件对消息中间件进行有效的统一管理,降低消息通信的资源消耗。

附图说明

图1为一个实施例中消息传输方法的应用环境图;

图2为一个实施例中消息传输方法的流程示意图;

图3为一个实施例中消息传输架构图;

图4为另一个实施例中消息传输方法的流程示意图;

图5为一个实施例中消息传输装置的结构框图;

图6为另一个实施例中消息传输装置的结构框图;

图7为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的消息传输方法,可以应用于如图1所示的应用环境中。其中,生产端102、消费端104均通过网络与消息服务器106通过网络进行通信,消息服务器106中包含有消息管理件108与消息中间件110,其中生产端102通过网络将生产的消息发送至消息管理件108,消息管理件108通过网络将消息发送至消息中间件110进行处理后,再将消息传输至消费端104进行消息,即进行业务逻辑处理。其中,生产端102指的是业务的发起方,负责生产消息并发送至消息服务器106的终端,消费端104指的是业务的处理方,负责从消息服务器106获取消息并进行业务逻辑处理的终端。生产端102和消费端104可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。消息服务器106是指用于提供消息核心服务的服务器,可以用独立的服务器或者是多个服务器组成的服务器集群来实现。消息管理件108是指用于直接与生产端102和消费端104进行通信,并对消息中间件110进行管理的管理部件。消息中间件110是指对消息逻辑处理分发的中间部件。

在一个实施例中,如图2所示,提供了一种消息传输方法,以该方法应用于图1中的消息服务器106为例进行说明,包括以下步骤:

步骤202,消息管理件获取生产端发送的待传输消息,待传输消息携带有主题标识。

待传输消息是指由生产端生产并发送至消息服务器的消息。消息服务器中包含有至少一个消息管理件与至少一个消息中间件,消息管理件与消息中间件的数量可以依据实际情况进行增加。生产端根据业务逻辑生产出待传输消息,将待传输消息发送至消息服务器中的消息管理件,由消息管理件获取到生产端发送的待传输消息。其中,待传输消息携带有主题标识,主题标识是与消息服务器中存储配置的主题类型一一对应的标识。在消息服务器中,存储配置有多个可被生产端和消费端订阅的主题,生产端可以向消息服务器发送不同主题类型的消息,即生产端发送的待传输消息中可携带有与各个主题类型相对应的主题标识。

步骤204,消息管理件将待传输消息发送至与主题标识对应的消息中间件。

步骤206,消息管理件获取通过消息中间件处理后的待传输消息,将处理后的待传输消息发送至与对应的消费端。

消息管理件在接收到生产端发送的待传输消息后,消息管理件将待传输消息发送至与主题标识对应的消息中间件,通过消息中间件对待传输消息进行处理,并将处理后的待传输消息发送至消息管理件,由消息管理件将处理后的待传输消息发送至对应的消费端。

即,最终与生产端和消费端进行交互的是消息管理件,消息中间件则无需与每一个生产端和消费端进行交互,而是与消息管理件进行交互即可,这样的实现方式可以将所有生产端和消费端与消息中间件的压力集中到消息管理件,各个消息传输的细节也可以由消息中间件完成,生产端和消费端则无需考虑消息在进行交互时的各个参数和细节考量,可以大幅度的增大开发效率。

在一个实施例中,上述消息传输方法还包括:消息管理件获取消费端触发的订阅消息,订阅消息携带有主题标识。将处理后的待传输消息发送至与对应的消费端,包括:将处理后的待传输消息发送至触发订阅消息的消费端。

不同的消费端可以选择处理不同主题类型的消息,因此,消费端可以预先发送订阅消息至消息服务器中的消息管理件,订阅成功对应的主题后,该消费端即可处理对应类型的待传输消息。消费端在发起消息订阅时,可将触发的订阅消息发送至消息管理件,订阅消息中携带有该消费端需要订阅的主题标识。主题标识可以有多个,即,消费端在进行主题订阅时,可以一次性订阅多个主题,每个消费端也可以订阅多个主题的消息。

当消费端发送了订阅消息至消息管理件成功订阅了一个或多个主题类型时,则说明该消费端可以对订阅的主题类型的消息进行处理。即,消息管理件在将消息中间件处理后的待传输消息发送至消费端进行处理时,会根据每个消费端对主题类型的订阅情况,将待传输消息发送至触发了该主题类型的订阅消息的消费端,使得该消费端可以对待传输消息进行相应的处理。

如图3所示的消息传输架构图,生产端和消费端可以有一个或多个。其中,消息服务器中包含有消息管理件集群和消息中间件集群,消息管理件集群中包含有多个消息管理件,如消息管理件1,消息管理件2,…,消息管理件n。消息中间件集群中包含有多个消息中间件,如消息中间件1,消息中间件2,…,消息中间件n。生产端1、生产端2发送待传输消息至消息管理件集群中,具体地,生产端将待传输消息发送至消息管理件集群中处于正常可用状态的消息管理件,由消息管理件将待传输消息发送至消息中间件集群中处于正常可用状态的消息中间件,消息中间件再将处理后的消息返回至消息管理件,由消息管理件将消息发送至消费端进行处理,实现消息传输的负载均衡。订阅消息则是由消费端发起的,当消费端需要订阅某一类主题类型的消息时,可发送订阅消息至消息管理件集群中处于正常可用状态的消息管理件,同样地,消息管理件将消息转发至消息中间件,由消息中间件对消息进行处理后返回至消息管理件,消息管理件再将消息发送至消费端,比如通知消费端订阅成功等。

上述消息传输方法,通过消息管理件获取生产端发送的待传输消息,由消息管理件将待传输消息发送至与主题标识对应的消息中间件,获取通过消息中间件处理后的待传输消息,并将处理后的待传输消息发送至与对应的消费端,通过引入消息管理件的方式,使得生产端与消费端均是与消息管理件进行直接交互,从而可以通过消息管理件对消息中间件进行有效的统一管理,降低消息通信的资源消耗。

在一个实施例中,在消息管理件获取消费端触发的订阅消息之后,还包括:消息管理件将消费端对应的用户标识与主题标识保存至数据库;数据库将用户标识与主题标识进行关联。

在消费端发送订阅消息至消息服务器中的消息管理件后,即在消息管理件获取消费端触发的订阅消息之后,消息管理件会将消费端对应的用户标识与订阅消息中携带的主题标识保存至数据库,同时,数据库会将该用户标识与主题标识进行关联保存。后续查找时,可以通过用户标识查找到该用户标识订阅成功的主题标识,也可以根据主题标识查找到订阅该主题标识的用户标识。

当消费端触发订阅消息发送至消息管理件时,消息管理件会将订阅消息转发至消息中间件,消息中间件则可以获知主题标识的订阅情况,即消息中间件也可知道每个用户标识对应订阅的主题标识。从而在消息管理件将待传输消息发送至消息中间件后,消息中间件可以根据待传输消息中携带的主题标识,将与主题标识对应的待传输消息返回至消息管理件,消息管理件则可以将处理后的待传输消息发送至订阅了该主题类型的消费端进行处理。

在一个实施例中,上述消息传输方法还包括:当消息管理件检测到数据库中主题标识关联的用户标识为空时,删除主题标识。

消息管理件会对数据库中存储的主题数据进行定期检测,当消息管理件检测到数据库中存在有某一个主题标识关联的用户标识为空时,即当消息管理件检测到数据库中存储的某一个主题标识并未有任何一个用户进行订阅时,则可以将该主题标识进行删除。

在一个实施例中,消息管理件获取生产端发送的待传输消息,包括:消息管理件获取生产端调用消息服务接口从数据库中获取消息管理件的服务器地址,生产端根据服务器地址发送的待传输消息。

生产端在发送待传输消息至消息管理件时,可以调用消息服务接口从数据库中获取到消息管理件的服务器地址,从而向该服务器地址对应的消息服务器发送待传输消息。当有消息服务器的服务器地址存在异常时,消息管理件会将异常的服务器地址进行删除,确保生产端在获取服务器地址时,获取到的都是可被调用的服务器地址。

在一个实施例中,如图4所示,也提供了一种消息传输方法,以该方法应用于图1中的消息服务器106为例进行说明,包括以下步骤:

步骤402,消费端发送订阅消息至消息管理件,订阅消息携带有主题标识。

步骤404,生产端发送待传输消息至消息管理件,待传输消息携带有主题标识。

步骤406,消息管理件将待传输消息发送至与主题标识对应的消息中间件。

步骤408,消息中间件根据主题标识对待传输消息进行处理,将处理后的待传输消息发送至消息管理件。

步骤410,消息管理件将处理后的待传输消息发送至消费端。

当消费端需要处理某一主题类型的消息时,会发送订阅消息至消息管理件进行主题的订阅,订阅成功后,消息管理件则会将该主题类型的消息发送至消费端进行处理。这一机制类似于新闻订阅。例如,当用户a希望阅读财经类新闻时,则可以发起对财经新闻的订阅,后续当财经类新闻有更新时,则会立即推送至用户a,方便用户a的阅读,而对于用户a未订阅的娱乐新闻,服务器则不会将娱乐类新闻推送至用户a。消费端发送的订阅消息中,携带有主题标识,便于消息服务器中的数据库将消费端上登录账号的用户标识与主题标识进行关联存储。

在一个实施例中,生产端发送待传输消息至消息管理件,包括:生产端调用消息服务接口,通过消息服务接口获取处于正常状态消息管理件的服务器地址;生产端发送待传输消息至处于正常状态消息管理件的服务器地址。

生产端可根据业务需求发送待传输消息至消息管理件,生产端在发送待传输消息时,可以调用消息服务接口获取到全部处于正常状态的消息管理件的服务器地址对应的列表,即获取到处于正常状态的消息管理件的服务器地址,并将待传输消息发送至处于正常状态消息管理件的服务器地址。

在待传输消息携带有主题标识,消息管理件在接收到待传输消息后,可以将待传输消息转发至与主题标识对应的消息中间件。不同主题类型的待传输消息由不同的消息中间件进行处理,消息中间件根据主题标识对待传输消息进行处理后,将处理后的待传输消息发送至消息管理件,再由消息管理件将该处理后的待传输消息发送至消费端,由消费端对消息进行处理。

这种消息处理传输方法,引入了消息管理件,生产端与消费端均是与消息管理件进行直接交互,从而可以通过消息管理件对消息中间件进行有效的统一管理,降低消息通信的资源消耗。

应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图5所示,提供了一种消息传输装置,包括:

消息发送模块502,用于消息管理件获取生产端发送的待传输消息,待传输消息携带有主题标识。

消息转发模块504,用于消息管理件将待传输消息发送至与主题标识对应的消息中间件。

消息处理模块506,用于消息管理件获取通过消息中间件处理后的待传输消息,将处理后的待传输消息发送至与对应的消费端。

在一个实施例中,消息发送模块502还用于消息管理件获取生产端调用消息服务接口从数据库中获取消息管理件的服务器地址,生产端根据服务器地址发送的待传输消息。

在一个实施例中,上述消息传输装置还包括订阅模块(图中未示出),用于消息管理件获取消费端触发的订阅消息,订阅消息携带有主题标识。消息处理模块506还用于将处理后的待传输消息发送至触发订阅消息的消费端。

在一个实施例中,上述订阅模块还用于消息管理件将消费端对应的用户标识与主题标识保存至数据库;数据库将用户标识与主题标识进行关联。

在一个实施例中,上述消息传输装置还包括数据检测模块(图中未示出),用于当消息管理件检测到数据库中主题标识关联的用户标识为空时,删除主题标识。

在一个实施例中,如图6所示,也提供了一种消息传输装置,包括:

消息订阅模块602,用于消费端发送订阅消息至消息管理件,订阅消息携带有主题标识。

第一消息传输模块604,用于生产端发送待传输消息至消息管理件,待传输消息携带有主题标识;消息管理件将待传输消息发送至与主题标识对应的消息中间件;

第二消息传输模块606,用于消息中间件根据主题标识对待传输消息进行处理,将处理后的待传输消息发送至消息管理件;消息管理件将处理后的待传输消息发送至消费端。

在一个实施例中,第一消息传输模块604还用于生产端调用消息服务接口,通过消息服务接口获取处于正常状态消息管理件的服务器地址;生产端发送待传输消息至处于正常状态消息管理件的服务器地址。

关于消息传输装置的具体限定可以参见上文中对于消息传输方法的限定,在此不再赘述。上述消息传输装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储消息传输、主题标识,用户标识等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种消息传输方法。

本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:消息管理件获取生产端发送的待传输消息,待传输消息携带有主题标识;消息管理件将待传输消息发送至与主题标识对应的消息中间件;消息管理件获取通过消息中间件处理后的待传输消息,将处理后的待传输消息发送至对应的消费端。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:消息管理件获取消费端触发的订阅消息,订阅消息携带有主题标识。将处理后的待传输消息发送至与对应的消费端,包括:将处理后的待传输消息发送至触发订阅消息的消费端。

在一个实施例中,在消息管理件获取消费端触发的订阅消息之后,处理器执行计算机程序时还实现以下步骤:消息管理件将消费端对应的用户标识与主题标识保存至数据库;数据库将用户标识与主题标识进行关联。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:当消息管理件检测到数据库中主题标识关联的用户标识为空时,删除主题标识。

在一个实施例中,消息管理件获取生产端发送的待传输消息,包括:消息管理件获取生产端调用消息服务接口从数据库中获取消息管理件的服务器地址,生产端根据服务器地址发送的待传输消息。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:消息管理件获取生产端发送的待传输消息,待传输消息携带有主题标识;消息管理件将待传输消息发送至与主题标识对应的消息中间件;消息管理件获取通过消息中间件处理后的待传输消息,将处理后的待传输消息发送至对应的消费端。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:消息管理件获取消费端触发的订阅消息,订阅消息携带有主题标识;将处理后的待传输消息发送至与对应的消费端,包括:将处理后的待传输消息发送至触发订阅消息的消费端。

在一个实施例中,在消息管理件获取消费端触发的订阅消息之后,计算机程序被处理器执行时还实现以下步骤:消息管理件将消费端对应的用户标识与主题标识保存至数据库;数据库将用户标识与主题标识进行关联。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当消息管理件检测到数据库中主题标识关联的用户标识为空时,删除主题标识。

在一个实施例中,消息管理件获取生产端发送的待传输消息,包括:消息管理件获取生产端调用消息服务接口从数据库中获取消息管理件的服务器地址,生产端根据服务器地址发送的待传输消息。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:消费端发送订阅消息至消息管理件,订阅消息携带有主题标识;生产端发送待传输消息至消息管理件,待传输消息携带有主题标识;消息管理件将待传输消息发送至与主题标识对应的消息中间件;消息中间件根据主题标识对待传输消息进行处理,将处理后的待传输消息发送至消息管理件;消息管理件将处理后的待传输消息发送至消费端。

在一个实施例中,生产端发送待传输消息至消息管理件,包括:生产端调用消息服务接口,通过消息服务接口获取处于正常状态消息管理件的服务器地址;生产端发送待传输消息至处于正常状态消息管理件的服务器地址。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:消费端发送订阅消息至消息管理件,订阅消息携带有主题标识;生产端发送待传输消息至消息管理件,待传输消息携带有主题标识;消息管理件将待传输消息发送至与主题标识对应的消息中间件;消息中间件根据主题标识对待传输消息进行处理,将处理后的待传输消息发送至消息管理件;消息管理件将处理后的待传输消息发送至消费端。

在一个实施例中,生产端发送待传输消息至消息管理件,包括:生产端调用消息服务接口,通过消息服务接口获取处于正常状态消息管理件的服务器地址;生产端发送待传输消息至处于正常状态消息管理件的服务器地址。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1