CN111756652B - 消息传输及消息队列管理方法、装置及系统 - Google Patents
消息传输及消息队列管理方法、装置及系统 Download PDFInfo
- Publication number
- CN111756652B CN111756652B CN202010527124.0A CN202010527124A CN111756652B CN 111756652 B CN111756652 B CN 111756652B CN 202010527124 A CN202010527124 A CN 202010527124A CN 111756652 B CN111756652 B CN 111756652B
- Authority
- CN
- China
- Prior art keywords
- message
- message queue
- downstream
- upstream
- middleware
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了消息传输及消息队列管理方法、装置及系统,基于消息队列的消息传输方法,所述方法包括:消费上游消息队列中间件的上游消息队列中的消息,所述上游消息队列中间件的上游消息队列中的消息为所述上游消息队列中间件接收的消息发布端发送的消息;将所消费的消息发布至下游消息队列中间件,供所述下游消息队列中间件将所述消息加入该下游消息队列中间件的下游消息队列中,以供消息消费端自所述下游消息队列中间件的下游消息队列中消费所述消息。本申请提供的方法和装置扩展消息队列系统的负载能力,提高消息队列的传输性能的同时,便于对消息队列进行管理。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及基于消息队列的消息传输及消息队列管理方法、装置、系统、电子设备、计算机可读存储介质。
背景技术
目前,消息队列作为不同系统间消息传递、解耦合的中间件获得了广泛的使用,但各个系统单独使用消息队列进行信息交互存在信息闭塞、重复建设等问题,且有可能产生性能问题。
例如,在多系统的数据传输中,A系统通过消息队列向B系统同步了订单数据;若C系统也需要订单数据,C系统的开发人员可能并不知道已经存在了一个传递订单数据的消息队列,又开发了一个发送订单数据的消息队列,或者是其它方式的信息传递程序。由此,增加了开发的人工成本也增加了设备的资源成本。
另外,如果多个系统都需要订单数据,且准确获知了已经存在这样一个消息队列,那么他们都会在该队列上加消费端,可能很快就会达到消息队列的性能瓶颈。
由此,如何提高消息队列的传输性能的同时,便于对消息队列进行管理,是本领域技术人员亟待解决的技术问题。
发明内容
本申请的目的在于提供基于消息队列的消息传输及消息队列管理方法、装置、系统、电子设备、计算机可读存储介质,解决现有技术的不足,通过上游消息队列中间件、下游消息队列中间件,从而扩展整个消息队列系统的负载能力,提高消息队列的传输性能的同时,便于对消息队列进行管理。
本申请的目的采用以下技术方案实现:
第一方面,本申请提供了一种基于消息队列的消息传输方法,所述方法包括:
消费上游消息队列中间件的上游消息队列中的消息,所述上游消息队列中间件的上游消息队列中的消息为所述上游消息队列中间件接收的消息发布端发送的消息;
将所消费的消息发布至下游消息队列中间件,供所述下游消息队列中间件将所述消息加入该下游消息队列中间件的下游消息队列中,以供消息消费端自所述下游消息队列中间件的下游消息队列中消费所述消息。
通过至少两级消息队列中间件(上游消息队列中间件以及下游消息队列中间件)来实现消息发布端向消息消费端同步消息,进一步解耦消息消费端与上游消息队列中间件。由此,一方面,可以缓解由于同一消息队列中间件承载多个消息消费端,产生的消息队列瓶颈问题;另一方面,可以灵活实现消息发布的扩充,提高整个消息中间件的消息传输性能;再一方面,通过至少两级消息队列中间件的消息同步更便于消息队列中间件的管理,减少人工开发成本及设备资源成本。
可选地,所述消息通过如下步骤加入所述上游消息队列中间件的上游消息队列:
由所述上游消息队列中间件的上游交换机接收关联该上游交换机的所述消息发布端发送的消息;
由所述上游消息队列中间件的上游交换机将所接收的消息加入该上游交换机关联的至少一上游消息队列,其中,
一消息发布端关联至多一上游交换机,一上游交换机关联至多一消息发布端。
通过上游交换机将消息发布端发布的消息加入到对应的上游消息队列中,由此,通过上游交换机实现消息发布端与上游消息队列之间的管理。同时,设定一消息发布端关联至多一上游交换机,一上游交换机关联至多一消息发布端的关联关系,从而避免多消息发布端、多上游消息队列时产生消息误发送的情况。
可选地,所述将所消费的消息发布至下游消息队列中间件包括:
将所消费的消息发布关联的所述下游消息队列中间件的下游交换机,以由所述下游消息队列中间件的下游交换机将所接收的消息加入该下游交换机关联的至少一下游消息队列,其中,
一所述下游交换机关联至少一消息消费端,一消息消费端关联至多一下游交换机。
通过下游交换机将从上游消息队列中间件消费的消息加入到对应的下游消息队列中,由此,通过下游交换机实现消息转发与下游消息队列之间的管理。同时,设定一所述下游交换机关联至少一消息消费端,一消息消费端关联至多一下游交换机的关联关系,从而避免多消息消费端、多下游消息队列时产生消息误发送的情况。
可选地,还包括如下步骤中的一个或多个步骤:
动态配置及管理所述消息发布端、所述上游消息队列中间件、上游消息队列、所述下游消息队列中间件、下游消息队列以及所述消息消费端之间的关联关系;
动态增减上游消息队列中间件和/或下游消息队列中间件;
动态增减所述上游消息队列中间件的上游消息队列;
动态增减所述下游消息队列中间件的下游消息队列;以及
使所述下游消息队列中间件作为上游消息队列中间件,并使另一消息队列中间件作为该上游消息队列中间件的下游消息队列中间件。
由此,灵活实现消息队列中间件的纵向扩展(多级消息队列中间件)、横向扩展(下游消息队列中间件和上游消息队列中间件的数量)、内部扩展(消息队列中间件的消息队列的数量)以及各组件之间的关联关系的调整和变更,从而实现消息队列的灵活管理,便于适配置成各种不同的应用场景。
根据本发明的第二方面,本发明还提供一种基于消息队列的消息传输装置,所述装置包括:
消费模块,配置成消费上游消息队列中间件的上游消息队列中的消息,所述上游消息队列中间件的上游消息队列中的消息为所述上游消息队列中间件接收的消息发布端发送的消息;
发布模块,配置成将所消费的消息发布至下游消息队列中间件,供所述下游消息队列中间件将所述消息加入该下游消息队列中间件的下游消息队列中,以供消息消费端自所述下游消息队列中间件的下游消息队列中消费所述消息。
可选地,所述装置还包括如下模块中的一个或多个模块:
第一调整模块,配置成动态配置及管理所述消息发布端、所述上游消息队列中间件、上游消息队列、所述下游消息队列中间件、下游消息队列以及所述消息消费端之间的关联关系;
第二调整模块,配置成动态增减上游消息队列中间件和/或下游消息队列中间件;
第三调整模块,配置成动态增减所述上游消息队列中间件的上游消息队列;
第四调整模块,配置成动态增减所述下游消息队列中间件的下游消息队列;以及
第五调整模块,配置成使所述下游消息队列中间件作为上游消息队列中间件,并使另一消息队列中间件作为该上游消息队列中间件的下游消息队列中间件。
根据本发明的第三方面,本发明还提供一种基于消息队列的消息传输系统,其特征在于,包括
上游消息队列中间件,配置成接收的消息发布端发送的消息,并将所述消息加入所述上游消息队列中间件的上游消息队列;
基于消息队列的消息传输装置,配置成:
消费上游消息队列中间件的上游消息队列中的消息,所述上游消息队列中间件的上游消息队列中的消息为所述上游消息队列中间件接收的消息发布端发送的消息;
将所消费的消息发布至下游消息队列中间件;
下游消息队列中间件,配置成接收所述发布的消息,将所述消息加入该下游消息队列中间件的下游消息队列中,以供消息消费端自所述下游消息队列中间件的下游消息队列中消费所述消息。
可选地,一所述上游消息队列关联至多一基于消息队列的消息传输装置,一所述基于消息队列的消息传输装置关联至多一上游消息队列;以及
一所述基于消息队列的消息传输装置关联至少一下游消息队列,一所述下游消息队列关联至多一基于消息队列的消息传输装置。
由此,通过基于消息队列的消息传输装置和其余组件之间的关联关系的设定,便于消息队列的管理,从而避免上游消息队列中间件向下游消息队列中间件发布消息时产生误发送的情况。
可选地,所述基于消息队列的消息传输装置与所述上游消息队列中间件和/或下游消息队列中间件的关联关系是动态配置的;和/或
所述基于消息队列的消息传输装置的数量是动态调整的。
由此,通过灵活动态调整基于消息队列的消息传输装置与其它组件之间的关联关系和/或所述基于消息队列的消息传输装置的数量,从而便于消息队列中间件的纵向扩展(多级消息队列中间件)、横向扩展(下游消息队列中间件和上游消息队列中间件的数量)、内部扩展(消息队列中间件的消息队列的数量)以及各组件之间的关联关系的调整和变更,从而实现消息队列的灵活管理,便于适配置成各种不同的应用场景。
根据本发明的第四方面,本发明还提供一种消息队列的管理方法,所述方法包括:
根据消息发布端的信息查找该消息发布端关联的消息传输装置,所述信息发布端关联一上游消息队列中间件,以将消息发送至所述信息发布端关联的上游消息队列中间件,所述消息传输装置配置成将所述上游消息队列中间件的上游消息队列中的消息发送至下游消息队列中间件的下游消息队列;
根据所述消息传输装置的查找结果,使一消息消费端关联所查找的所述消息传输装置;或者新增一消息传输装置,并使所述消息消费端关联所述消息传输装置;
根据所述消息消费端关联的所述消息传输装置向所述消息消费端分配一所述下游消息队列中间件的下游消息队列。
由此,通过查询和关联消息传输装置的方式,便于用户获知并可以直接应用已存在的消息发布端的消息队列,无需重新开发消息队列,减少人工开发成本及设备资源成本;此外,还通过至少两级消息队列中间件(上游消息队列中间件以及下游消息队列中间件)来实现消息发布端向消息消费端同步消息,进一步解耦消息消费端与上游消息队列中间件,以缓解由于同一消息队列中间件承载多个消息消费端,产生的消息队列瓶颈问题,同时,可以灵活实现消息发布的扩充,提高整个消息中间件的消息传输性能。
根据本发明的第五方面,本发明还提供一种消息队列管理装置,所述装置包括:
查询模块,配置成根据消息发布端的信息查找该消息发布端关联的消息传输装置,所述信息发布端关联一上游消息队列中间件,以将消息发送至所述信息发布端关联的上游消息队列中间件,所述消息传输装置配置成将所述上游消息队列中间件的上游消息队列中的消息发送至下游消息队列中间件的下游消息队列;
关联模块,配置成根据所述消息传输装置的查找结果,使一消息消费端关联所查找的所述消息传输装置;或者新增一消息传输装置,并使所述消息消费端关联所述消息传输装置;
分配模块,配置成根据所述消息消费端关联的所述消息传输装置向所述消息消费端分配一所述下游消息队列中间件的下游消息队列。
第六方面,本申请提供了一种用于消息传输和/或消息队列管理的电子设备,包括处理器和存储器,所述存储器配置成存储所述处理器的可执行指令,所述处理器被配置为经由执行所述可执行指令来执行上述基于消息队列的消息传输方法和/或消息队列管理方法的步骤。
第七方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现上述在基于消息队列的消息传输方法和/或消息队列管理方法的步骤。
附图说明
下面结合附图和实施例对本申请进一步说明。
图1是第一实施例提供的基于消息队列的消息传输方法的一种流程示意图;
图2是第一实施例提供的发布消息的一种流程示意图;
图3是第二实施例提供的基于消息队列的消息传输系统的一种结构示意图;
图4是第三实施例提供的基于消息队列的消息传输系统的一种结构示意图;
图5是第四实施例提供的基于消息队列的消息传输装置的一种结构示意图;
图6是第五实施例提供的消息队列管理方法的一种流程示意图;
图7是第六实施例提供的消息队列管理方法的一种流程示意图;
图8是第七实施例提供的消息队列管理装置的一种结构示意图;
图9是第八实施例提供的配置成数据储存的电子设备的一种结构框图;
图10是第九实施例提供的配置成实现数据储存方法的程序产品的一种结构示意图。
具体实施方式
下面,结合附图以及具体实施方式,对本申请做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
在本发明下述的各个实施例中,各流程图中的步骤编号并非配置成限制各步骤的执行顺序。
本发明提供的基于消息队列的消息传输及消息队列管理方法、装置、系统、电子设备、计算机可读存储介质以应用于各个多系统消息传输、消息同步的场景中,应用领域不限于电商平台、社交网络平台、各类其它业务平台等。在本发明的各个实施例中,所述的消息发布端以及所述消息消费端皆指客户端,而并非指设备终端,由此,同一设备终端上可以安装多个从不同消息队列消费消息的消息消费端和/或安装多个向不同消息队列发布消息的消息发布端,本发明并非以此为限制。本发明各个实施例中所述的消息队列中间件包括但不限于Apache kafka、Rocket MQ、Rabbit MQ、Active MQ、Zero MQ、Meta MQ以及其它可以实现消息队列中间件功能的结构等。进一步地,在本发明的各个实施例中,交换机为消息队列中间件的原有组件或为消息队列中间件自行新增的组件。本发明各个实施例中所述的消息队列中间件可以是消息队列服务器或消息队列服务器集群。
首先,参见图1,第一实施例提供了一种基于消息队列的消息传输方法。图1共示出如下步骤:
步骤S110:消费上游消息队列中间件的上游消息队列中的消息,所述上游消息队列中间件的上游消息队列中的消息为所述上游消息队列中间件接收的消息发布端发送的消息。
步骤S120:将所消费的消息发布至下游消息队列中间件,供所述下游消息队列中间件将所述消息加入该下游消息队列中间件的下游消息队列中,以供消息消费端自所述下游消息队列中间件的下游消息队列中消费所述消息。
具体而言,尽管上述步骤中仅描述了两级消息队列中间件(上游消息队列中间件以及下游消息队列中间件)的消息传输方式,但本发明并非以此为限制,多于两级的消息队列中间件的消息传输方式也在本发明的保护范围之内。在多于两级的消息队列中间件的消息传输方式中,按消息发布端至消息消费端的方向,可以通过将第一级消息队列中间件作为上游消息队列中间件,将第二级消息队列中间件作为下游消息队列中间件来实现第一级消息队列中间件和第二级消息队列中间件的消息传输(由此在该传输过程中步骤S120所述的消息消费端为一中间消息消费端,诸如本发明提供的消息传输装置的消费模块);将第二级消息队列中间件作为上游消息队列中间件,将第三级消息队列中间件作为下游消息队列中间件来实现第二级消息队列中间件和第三级消息队列中间件的消息传输(由此在该传输过程中步骤S110所述的消息发布端为一中间消息发布端,诸如本发明提供的消息传输装置的发布模块),以此类推。进一步地,多级复合型的消息队列中间件的消息传输方式(诸如一消息发布端通过两级消息队列中间件传输消息至一消息消费端,该消息发布端通过三级消息队列中间件传输消息至另一消息消费端,该消息发布端通过一级消息队列中间件传输消息至再一消息消费端)也在本发明的保护范围之内,在此不予赘述。
由此,在本发明提供的基于消息队列的消息传输方法中,通过至少两级消息队列中间件(上游消息队列中间件以及下游消息队列中间件)来实现消息发布端向消息消费端同步消息,进一步解耦消息消费端与上游消息队列中间件。由此,一方面,可以缓解由于同一消息队列中间件承载多个消息消费端,产生的消息队列瓶颈问题;另一方面,可以灵活实现消息发布的扩充,提供整个消息中间件的消息传输性能;再一方面,通过至少两级消息队列中间件的消息同步更便于消息队列中间件的管理,减少人工开发成本及设备资源成本。
下面参见图2,图2是第一实施例提供的发布消息的一种流程示意图。所述消息通过如图2所示的步骤加入所述上游消息队列中间件的上游消息队列:
步骤S101:由所述上游消息队列中间件的上游交换机接收关联该上游交换机的所述消息发布端发送的消息。
步骤S102:由所述上游消息队列中间件的上游交换机将所接收的消息加入该上游交换机关联的至少一上游消息队列。
其中,一消息发布端关联至多一上游交换机,一上游交换机关联至多一消息发布端。
通过上游交换机将消息发布端发布的消息加入到对应的上游消息队列中,由此,通过上游交换机实现消息发布端与上游消息队列之间的管理。同时,设定一消息发布端关联至多一上游交换机,一上游交换机关联至多一消息发布端的关联关系,从而避免多消息发布端、多上游消息队列时产生消息误发送的情况。上游交换机可以通过设置实现不同的消息路由需求。
具体而言,在本发明提供的第一实施例的基于消息队列的消息传输方法,所述将所消费的消息发布至下游消息队列中间件可以包括:将所消费的消息发布关联的所述下游消息队列中间件的下游交换机,以由所述下游消息队列中间件的下游交换机将所接收的消息加入该下游交换机关联的至少一下游消息队列。其中,一所述下游交换机关联至少一消息消费端,一消息消费端关联至多一下游交换机。
由此,通过下游交换机将从上游消息队列中间件消费的消息加入到对应的下游消息队列中,由此,通过下游交换机实现消息转发与下游消息队列之间的管理。同时,设定一所述下游交换机关联至少一消息消费端,一消息消费端关联至多一下游交换机的关联关系,从而避免多消息消费端、多下游消息队列时产生消息误发送的情况。
在上述实施例中,上游消息队列中间件以及下游消息队列中间件皆通过交换机来进行消息路由,但本发明并非以此为限制。在本发明的一些变化例中,可以上游消息队列中间件及下游消息队列中间件还可以通过其它方式实现消息路由,在此不予赘述。
在上述实施例的一些变化例中,还可以包括动态配置及管理所述消息发布端、所述上游消息队列中间件、上游消息队列、所述下游消息队列中间件、下游消息队列以及所述消息消费端之间的关联关系的步骤。
由此,可以灵活调整各组件之间的关联关系,从而可以调整从消息发布端至消息消费端的消息传输路径。例如,可以将对时效要求更高的消息消费端关联与消息发布端更近的下游消息队列中间件;可以将对时效要求更低的消息消费端关联与消息发布端更远的下游消息队列中间件。此处所述的远、近指的是消息传输过程中经过的消息队列中间件的数量,经过的消息队列中间件的数量越多则越远;经过的消息队列中间件的数量越少则越近。进一步地,还可以通过灵活调整各组件之间的关联关系,从而均衡上游消息队列中间件、下游消息队列中间件的负载。
在上述实施例的一些变化例中,还可以包括动态增减上游消息队列中间件和/或下游消息队列中间件的步骤。
由此,可以实现消息传输的横向扩展(下游消息队列中间件和上游消息队列中间件的数量),从而扩展消息传输的广度。换言之,可以通过横向扩展将同一消息传输至更多的消息消费端。
在上述实施例的一些变化例中,还可以包括动态增减所述上游消息队列中间件的上游消息队列和/或动态增减所述下游消息队列中间件的下游消息队列的步骤的步骤。
由此,可以实现消息传输的内部扩展,通过同一消息队列中间件的增减进而对每一消息队列中间件实现负载均衡。
在上述实施例的一些变化例中,还可以包括使所述下游消息队列中间件作为上游消息队列中间件,并使另一消息队列中间件作为该上游消息队列中间件的下游消息队列中间件的步骤。
由此,灵活实现消息队列中间件的纵向扩展(多级消息队列中间件及复合多级消息队列中间件),以便于适配置成各种不同的应用场景。
进一步地,各上游消息队列中间件中的上游消息队列及各下游消息队列中间件中的下游消息队列还可以通过权限设置进行管理,从而保证信息传输过程中的安全性。
以上仅仅是示意性地描述本发明的第一实施例的多个实现方式,上述各实施方式可以单独或组合来实现,在此不予赘述、
图3是第二实施例提供的基于消息队列的消息传输系统的一种结构示意图。图3示意性地示出基于消息队列的消息传输系统。消费发布端10、上游消息队列中间件20、消息传输装置30、下游消息队列中间件40以及消息消费端50的数量仅仅是示意性地,并非以此为限制。
基于消息队列的消息传输系统包括上游消息队列中间件20、消息传输装置30、下游消息队列中间件40。
上游消息队列中间件20配置成接收的消息发布端10发送的消息,并将所述消息加入所述上游消息队列中间件20的上游消息队列。基于消息队列的消息传输装置30配置成:消费上游消息队列中间件10的上游消息队列中的消息,所述上游消息队列中间件10的上游消息队列中的消息为所述上游消息队列中间件10接收的消息发布端10发送的消息;将所消费的消息发布至下游消息队列中间件40。下游消息队列中间件40配置成接收所述发布的消息,将所述消息加入该下游消息队列中间件40的下游消息队列中,以供消息消费端50自所述下游消息队列中间件40的下游消息队列中消费所述消息。
在本实施例中,一所述上游消息队列关联至多一基于消息队列的消息传输装置30,一所述基于消息队列的消息传输装置30关联至多一上游消息队列。在本实施例中,一所述基于消息队列的消息传输装置30关联至少一下游消息队列,一所述下游消息队列关联至多一基于消息队列的消息传输装置30。
由此,通过基于消息队列的消息传输装置和其余组件之间的关联关系的设定,便于消息队列的管理,从而避免上游消息队列中间件向下游消息队列中间件发布消息时产生误发送的情况。
在本实施例中,所述基于消息队列的消息传输装置30与所述上游消息队列中间件20和/或下游消息队列中间件40的关联关系是动态配置的。在本实施例中,所述基于消息队列的消息传输装置30的数量也可以是动态调整的。
由此,通过灵活动态调整基于消息队列的消息传输装置与其它组件之间的关联关系和/或所述基于消息队列的消息传输装置的数量,从而便于消息队列中间件的纵向扩展(多级消息队列中间件)、横向扩展(下游消息队列中间件和上游消息队列中间件的数量)、内部扩展(消息队列中间件的消息队列的数量)以及各组件之间的关联关系的调整和变更,从而实现消息队列的灵活管理,便于适配置成各种不同的应用场景。
具体而言,消息传输装置30的结构将在下文中结合图5进行描述。如图3所示,消息发布端10将消息发布至上游消息队列中间件20。两个消息传输装置30分别自上游消息队列中间件20中消费消息,并将所消费的消息发布至各消费传输装置30关联的下游消息队列中间件40。消息消费端50分别自各自关联的下游消息队列中间件40中消费消息。由此,通过至少两级消息队列中间件(上游消息队列中间件以及下游消息队列中间件)来实现消息发布端向消息消费端同步消息,进一步解耦消息消费端与上游消息队列中间件。由此,一方面,可以缓解由于同一消息队列中间件承载多个消息消费端,产生的消息队列瓶颈问题;另一方面,可以灵活实现消息发布的扩充,提供整个消息中间件的消息传输性能;再一方面,通过至少两级消息队列中间件的消息同步更便于消息队列中间件的管理,减少人工开发成本及设备资源成本。
图4是第三实施例提供的基于消息队列的消息传输系统的一种结构示意图。图4示意性地示出基于消息队列的消息传输系统。消费发布端10、上游消息队列中间件20、消息传输装置30、下游消息队列中间件40以及消息消费端50的数量仅仅是示意性地,并非以此为限制。
图4示出的第三实施例是本发明的基于消息队列的消息传输系统的更具体的实施例。
在第三实施例中,消息发布端1(10)将消息发布至关联的上游消息队列中间件20,并由关联的上游交换机1(21)将消息加入关联的两个上游消息队列1(22)和上游消息队列2(22)。消息传输装置1(30)从上游消息队列1(22)消费消息,并将消息发布至关联的下游消息队列中间件1(40),并由关联的下游交换机1(41),下游交换机1(41)将消息加入关联的下游消息队列1(42)及下游消息队列2(42)。消息消费端1(50)自关联的下游消息队列1(42)消费消息。消息消费端2(50)自关联的下游消息队列2(42)消费消息。消息传输装置2(30)从上游消息队列2(22)消费消息,并将消息发布至关联的下游消息队列中间件2(40),并由关联的下游交换机2(41)将消息加入关联的下游消息队列3(42)。消息消费端3(50)自关联的下游消息队列3(42)消费消息。
消息发布端2(10)将消息发布至关联的上游消息队列中间件20,并由关联的上游交换机2(21)将消息加入关联的上游消息队列3(22)。消息传输装置3(30)从上游消息队列3(22)消费消息,并将消息发布至关联的下游消息队列中间件2(40),并由关联的下游交换机3(42)将消息加入关联的下游消息队列4(42)。消息消费端4(50)自关联的下游消息队列4(42)消费消息。
消息发布端3(10)将消息发布至关联的上游消息队列中间件20的上游交换机3(21),在本实施例中,消息发布端3(10)发布的数据并未有消费方消费,因此,无需分配上游消息队列、消息传输装置、下游消息队列。
在本实施例中,各交换机可以统一为扇出(fanout)类型,本发明并非以此为限制,其它类型的交换机也在本发明的保护范围之内。
进一步地,本实施例中的消息发布端的对象可以采用如下方式定义:
本实施例中的消息消费端的对象可以采用如下方式定义:
消费者ID | 消费者名称 | 所属系统 | 关联的消息传输装置 | 关联下游消息队列 |
本实施例中的消息传输装置的对象可以采用如下方式定义:
上述各对象之间可以按如下关系限定:
消息发布端与上游交换机之间为一对一的关联关系。一个消息发布端至多分配一个上游交换机(从而一个消息发布端至多分配一个上游消息队列中间件);
消息发布端与消息传输装置之间为一对多的关联关系。一个消息发布端可以和多个消息传输装置关联,一个消息传输装置至多关联一个消息发布端。
消息传输装置与下游交换机之间为一对一的关联关系。一个消息传输装置至多向一个下游交换机发布消息。一个下游交换机至多关联一消息传输装置。
消息传输装置与消息消费端之间为一对多的关联关系。一个消息传输装置可以和多个消费消费端关联,一个消费消费端至多关联一个消息传输装置。
以上仅仅是示意性地描述,本实施例的具体实现方式,本发明并非以此为限制。
下面参见图5,图5是第四实施例提供的基于消息队列的消息传输装置的一种结构示意图。基于消息队列的消息传输装置1包括消费模块101以及发布模块102。消费模块101与发布模块102之间进行数据交互。
消费模块101配置成消费上游消息队列中间件的上游消息队列中的消息,所述上游消息队列中间件的上游消息队列中的消息为所述上游消息队列中间件接收的消息发布端发送的消息。发布模块102配置成将所消费的消息发布至下游消息队列中间件,供所述下游消息队列中间件将所述消息加入该下游消息队列中间件的下游消息队列中,以供消息消费端自所述下游消息队列中间件的下游消息队列中消费所述消息。由此,消费模块101相当于一中间消息消费端;发布模块102相当于一中间消息发布端。
在该实施例中,基于消息队列的消息传输装置1还可以包括第一调整模块103、第二调整模块104、第三调整模块105、第四调整模块106、第五调整模块107中的一个或多个模块。在一些具体实现中,消费模块101与发布模块102可以共同组成一转发器,第一调整模块103、第二调整模块104、第三调整模块105、第四调整模块106、第五调整模块107中的一个或多个模块可以共同组成一管理器,从而实现传输功能和管理功能的隔离。
第一调整模块103配置成动态配置及管理所述消息发布端、所述上游消息队列中间件、上游消息队列、所述下游消息队列中间件、下游消息队列以及所述消息消费端之间的关联关系。第二调整模块104配置成动态增减上游消息队列中间件和/或下游消息队列中间件。第三调整模块105配置成动态增减所述上游消息队列中间件的上游消息队列。第四调整模块106配置成动态增减所述下游消息队列中间件的下游消息队列。第五调整模块107配置成使所述下游消息队列中间件作为上游消息队列中间件,并使另一消息队列中间件作为该上游消息队列中间件的下游消息队列中间件。
图5仅仅是示意性的示出本发明提供的基于消息队列的消息传输装置1,在不违背本发明构思的前提下,模块的拆分、合并、增加都在本发明的保护范围之内。本发明提供的基于消息队列的消息传输装置1可以由软件、硬件、固件、插件及他们之间的任意组合来实现,本发明提供的基于消息队列的消息传输装置1还可以通过容器的方式实现,本发明并非以此为限。
下面参见图6,图6是第五实施例提供的消息队列管理方法的一种流程示意图。消息队列的管理方法包括如下步骤:
步骤S210:根据消息发布端的信息查找该消息发布端关联的消息传输装置,所述信息发布端关联一上游消息队列中间件,以将消息发送至所述信息发布端关联的上游消息队列中间件,所述消息传输装置配置成将所述上游消息队列中间件的上游消息队列中的消息发送至下游消息队列中间件的下游消息队列。
步骤S220:根据所述消息传输装置的查找结果,使一消息消费端关联所查找的所述消息传输装置;或者新增一消息传输装置,并使所述消息消费端关联所述消息传输装置。
步骤S230:根据所述消息消费端关联的所述消息传输装置向所述消息消费端分配一所述下游消息队列中间件的下游消息队列。
由此,通过查询和关联消息传输装置的方式,便于用户获知并可以直接应用已存在的消息发布端的消息队列,无需重新开发消息队列,减少人工开发成本及设备资源成本;此外,还通过至少两级消息队列中间件(上游消息队列中间件以及下游消息队列中间件)来实现消息发布端向消息消费端同步消息,进一步解耦消息消费端与上游消息队列中间件,以缓解由于同一消息队列中间件承载多个消息消费端,产生的消息队列瓶颈问题,同时,可以灵活实现消息发布的扩充,提高整个消息中间件的消息传输性能。
下面参见图7,图7是第六实施例提供的消息队列管理方法的一种流程示意图。进一步地,第六实施例是第五实施例的一种具体实现。图7共示出如下步骤:
步骤S200:消息发布方注册发布者。消息发布方在系统中注册一个发布者信息,并提供消息类型(JSON、XML、STRING等)、字段说明和消息示例。
步骤S201:为发布者分配一个上游消息队列中间件,和一个上游交换机。该步骤可以由管理员执行或系统自动执行。
步骤S202:消息发布方开发消息发布端,并由消息发布端推送消息到给定的上游交换机。
步骤S203:消息消费方在系统中查询已有的发布者,找到自己需要的发布者。
步骤S204:消息消息费方提出消息消费申请。
步骤S205:判断所申请的发布者是否已有关联的消息传输装置。
若步骤S205判断为否,则执行步骤S207和步骤S208:为该消费方新增一个消息传输装置,并为消费方在消息传输装置关联的下游交换机上分配一个下游消息队列,同时将消息传输装置、下游消息队列和消费方信息作为消费者资料在系统中进行注册,最后把注册好的消费者信息提供给消息使用方。
若步骤S205判断为是,则执行步骤S206,判断消息传输装置关联的下游交换机是否可堪负载。若步骤S206判断为否,则执行步骤S207和步骤S208:为该消费方新增一个消息传输装置,并为消费方在消息传输装置关联的下游交换机上分配一个下游消息队列,同时将消息传输装置、下游消息队列和消费方信息作为消费者资料在系统中进行注册,最后把注册好的消费者信息提供给消息使用方。若步骤S206判断为是,则不新增消息传输装置,仅执行步骤S208为消费方在消息传输装置关联的下游交换机上分配一个下游消息队列,同时将消息传输装置、下游消息队列和消费方信息作为消费者资料在系统中进行注册,最后把注册好的消费者信息提供给消息使用方。
步骤S209:消息消费方拿到消费者信息后,根据其中的下游消息队列中间件信息、下游交换机、下游消息队列配置和开发自己的消息消费端。
在上述实施例中,步骤S207中可以通过如下方式新增消息传输装置:
首先,在消息传输装置配置界面录入发布者ID、下游消息队列中间件(某个已有下游消息队列中间件)、下游交换机名称(新增加的)并保存。然后,系统根据录入的信息,自动创建下游交换机、生成一个消息传输装置,并启动运行该消息传输装置。
具体而言,在本实施例中,消息传输装置是一个消息消费端与消息发布端的集合体。在消息发布端对应的上游交换机上绑定一个与消息传输装置同名的上游消息队列,由消息传输装置对该上游消息队列的消息进行消费(一个上游交换机可以对应多个消息传输装置,每个消息传输装置至多对应一个上游消息队列)。.消息传输装置在拿到消息后,再把该消息发送到对应的下游交换机上(一个消息传输装置至多对应一个下游交换机)。由此,只需要根据消息队列来源和目标生成配置文件(程序语言可用的配置文件,例如java程序的.properties,视不同的开发语言而变)即可生成不同的消息传输装置。
在本发明的一个系统的实际实现中,上述方案可以按如下步骤执行:
网点系统开发订单数据接口,可以对外提供实时订单信息,因此开发人员到系统中注册了一个发布者,名为“PUB_BRANCH_ORDER”,类型为JSON,并提交了字段说明和示例数据样式。
管理员收到注册资料后审核该信息,确认该信息可以发布,然后把“PUB_BRANCH_ORDER”这个发布者分到上游消息队列中间件A1上,并为其创建了一个上游交换机:UEX_BRANCH_ORDER,并把服务器IP、端口、上游交换机名称告知网点系统的开发人员。
网点系统的开发人员完成开发,把消息推送到上游消息队列中间件A1的UEX_BRANCH_ORDER交换机上,此时因为还没有消费者,因此该上游交换机没有绑定上游消息队列,消息发过来之后会自动丢弃。(没有人要消费的数据是没有意义的,因此可以丢弃)。
运输管理系统的开发人员需要实时抓取订单信息,因此到本平台来查询是否有已经有相关实时消息队列,找到了“PUB_BRANCH_ORDER”这个发布者,查看其字段信息后认为可以使用该消息,并发起使用申请。
管理员和网点系统负责人收到使用申请后,审核确认运输管理系统可以使用订单数据,然后由管理员做转发器的查询,发现“PUB_BRANCH_ORDER”这个发布者还没有关联的消息传输装置,因此进入消息传输装置器维护界面新增一个名为“TRANS_BRANCH_ORDER_1”的消息传输装置,发布者为“PUB_BRANCH_ORDER”,并将下游交换机分配到目前比较空闲的下游消息队列中间件B2上,命名为“DEX_BRANCH_ORDER_1”。
管理员为运输管理系统注册一个消费者,名为“CON_TPMS_ORDER”,关联转发器为“TRANS_BRANCH_ORDER_1”,下游队列为“Q_TPMS_ORDER”,并把消费者信息通知到运输管理系统的开发人员。
运输管理系统的开发人员开始开发消费端,他拿到的消费端信息如下:的下游消息队列中间件为B2,下游交换机为DEX_BRANCH_ORDER_1,下游队列为Q_TPMS_ORDER。
运输管理系统开发测试完成,功能上线,此时运输管理系统就可以得到实时订单数据了。
以上仅仅是示意性地描述本发明的一个具体实现方式,本发明并非以此为限制。
下面参见图8,图8是第七实施例提供的消息队列管理装置的一种结构示意图。消息队列管理装置5包括查询模块501、关联模块502、分配模块503。查询模块501与关联模块502进行数据交互。关联模块502与分配模块503进行数据交互。
查询模块501配置成根据消息发布端的信息查找该消息发布端关联的消息传输装置,所述信息发布端关联一上游消息队列中间件,以将消息发送至所述信息发布端关联的上游消息队列中间件,所述消息传输装置配置成将所述上游消息队列中间件的上游消息队列中的消息发送至下游消息队列中间件的下游消息队列。
关联模块502配置成根据所述消息传输装置的查找结果,使一消息消费端关联所查找的所述消息传输装置;或者新增一消息传输装置,并使所述消息消费端关联所述消息传输装置。
分配模块503配置成根据所述消息消费端关联的所述消息传输装置向所述消息消费端分配一所述下游消息队列中间件的下游消息队列。
图8仅仅是示意性的示出本发明提供的消息队列管理装置5,在不违背本发明构思的前提下,模块的拆分、合并、增加都在本发明的保护范围之内。本发明提供消息队列管理装置5可以由软件、硬件、固件、插件及他们之间的任意组合来实现,本发明并非以此为限。
参见图9,第八实施例提供了一种配置成数据储存的电子设备3,电子设备3包括至少一个存储单元31、至少一个处理单元32以及连接不同平台系统的总线33。
存储单元31可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)311和/或高速缓存存储单元312,还可以进一步包括只读存储单元(ROM)313。
其中,存储单元31还存储有程序产品4,程序产品4可以被处理单元32执行,使得处理单元32执行任一实施例中的基于消息队列的消息传输方法和/或消息队列的管理方法的步骤(如图1至图7所示)。存储单元31还可以包括具有一组(至少一个)程序模块315的程序/实用工具314,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
相应的,处理单元32可以执行上述的程序产品4,以及可以执行程序/实用工具314。
总线33可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备3也可以与一个或多个外部设备34例如键盘、指向设备、蓝牙设备等通信,还可与一个或者多个能够与该电子设备3交互的设备通信,和/或与使得该电子设备3能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口35进行。并且,电子设备3还可以通过网络适配器36与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器36可以通过总线33与电子设备3的其它模块通信。应当明白,尽管图9中未示出,可以结合电子设备3使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储平台等。
参见图10,第八实施例提供了一种计算机可读存储介质,该计算机可读存储介质配置成存储计算机程序,所述计算机程序被执行时实现任一实施例中的基于消息队列的消息传输方法和/或消息队列的管理方法的步骤。图10示出了本实施例提供的配置成实现上述方法的程序产品4,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品4不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。程序产品4可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输配置成由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写配置成执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言诸如Java、C++等,还包括常规的过程式程序设计语言诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本申请从使用目的上,效能上,进步及新颖性等观点进行阐述,其设置有的实用进步性,已符合专利法所强调的功能增进及使用要件,本申请以上的说明及附图,仅为本申请的较佳实施例而已,并非以此局限本申请,因此,凡一切与本申请构造,装置,特征等近似、雷同的,即凡依本申请专利申请范围所作的等同替换或修饰等,皆应属本申请的专利申请保护的范围之内。
Claims (5)
1.一种基于消息队列的消息传输方法,其特征在于,所述方法包括:
消费上游消息队列中间件的上游消息队列中的消息,所述上游消息队列中间件的上游消息队列中的消息为所述上游消息队列中间件接收的消息发布端发送的消息;
将所消费的消息发布至下游消息队列中间件,供所述下游消息队列中间件将所述消息加入该下游消息队列中间件的下游消息队列中,以供消息消费端自所述下游消息队列中间件的下游消息队列中消费所述消息;将对时效要求高的消息消费端关联与消息发布端近的下游消息队列中间件,将对时效要求低的消息消费端关联与所述消息发布端远的下游消息队列中间件;所述与消息发布端近是指消息传输过程中经过的消息队列中间件的数量少,所述与消息发布端远是指消息传输过程中经过的消息队列中间件的数量多;所述上游消息队列中间件中的上游消息队列及所述下游消息队列中间件中的下游消息队列通过权限设置进行管理;
所述方法还包括如下步骤中的一个或多个步骤:
动态配置及管理所述消息发布端、所述上游消息队列中间件、上游消息队列、所述下游消息队列中间件、下游消息队列以及所述消息消费端之间的关联关系;
动态增减上游消息队列中间件和/或下游消息队列中间件;
动态增减所述上游消息队列中间件的上游消息队列;
动态增减所述下游消息队列中间件的下游消息队列;以及
使所述下游消息队列中间件作为上游消息队列中间件,并使另一消息队列中间件作为该上游消息队列中间件的下游消息队列中间件;
所述消息通过如下步骤加入所述上游消息队列中间件的上游消息队列:
由所述上游消息队列中间件的上游交换机接收关联该上游交换机的所述消息发布端发送的消息;
由所述上游消息队列中间件的上游交换机将所接收的消息加入该上游交换机关联的至少一上游消息队列,其中,
一消息发布端关联至多一上游交换机,一上游交换机关联至多一消息发布端;
所述将所消费的消息发布至下游消息队列中间件包括:
将所消费的消息发布关联的所述下游消息队列中间件的下游交换机,以由所述下游消息队列中间件的下游交换机将所接收的消息加入该下游交换机关联的至少一下游消息队列,其中,
一所述下游交换机关联至少一消息消费端,一消息消费端关联至多一下游交换机。
2.一种基于消息队列的消息传输装置,其特征在于,所述装置包括:
消费模块,配置成消费上游消息队列中间件的上游消息队列中的消息,所述上游消息队列中间件的上游消息队列中的消息为所述上游消息队列中间件接收的消息发布端发送的消息;
发布模块,配置成将所消费的消息发布至下游消息队列中间件,供所述下游消息队列中间件将所述消息加入该下游消息队列中间件的下游消息队列中,以供消息消费端自所述下游消息队列中间件的下游消息队列中消费所述消息;将对时效要求高的消息消费端关联与消息发布端近的下游消息队列中间件,将对时效要求低的消息消费端关联与消息发布端远的下游消息队列中间件;所述与消息发布端近是指消息传输过程中经过的消息队列中间件的数量少,所述与消息发布端远是指消息传输过程中经过的消息队列中间件的数量多;上游消息队列中间件中的上游消息队列及所述下游消息队列中间件中的下游消息队列通过权限设置进行管理;
所述装置还包括如下模块中的一个或多个模块:
第一调整模块,配置成动态配置及管理所述消息发布端、所述上游消息队列中间件、上游消息队列、所述下游消息队列中间件、下游消息队列以及所述消息消费端之间的关联关系;
第二调整模块,配置成动态增减上游消息队列中间件和/或下游消息队列中间件;
第三调整模块,配置成动态增减所述上游消息队列中间件的上游消息队列;
第四调整模块,配置成动态增减所述下游消息队列中间件的下游消息队列;
以及第五调整模块,配置成使所述下游消息队列中间件作为上游消息队列中间件,并使另一消息队列中间件作为该上游消息队列中间件的下游消息队列中间件;
一所述上游消息队列关联至多一基于消息队列的消息传输装置,一所述基于消息队列的消息传输装置关联至多一上游消息队列;以及
一所述基于消息队列的消息传输装置关联至少一下游消息队列,一所述下游消息队列关联至多一基于消息队列的消息传输装置。
3.一种基于消息队列的消息传输系统,其特征在于,包括
上游消息队列中间件,配置成接收的消息发布端发送的消息,并将所述消息加入所述上游消息队列中间件的上游消息队列;
基于消息队列的消息传输装置,配置成:
消费上游消息队列中间件的上游消息队列中的消息,所述上游消息队列中间件的上游消息队列中的消息为所述上游消息队列中间件接收的消息发布端发送的消息;
将所消费的消息发布至下游消息队列中间件;
下游消息队列中间件,配置成接收所述发布的消息,将所述消息加入该下游消息队列中间件的下游消息队列中,以供消息消费端自所述下游消息队列中间件的下游消息队列中消费所述消息;将对时效要求高的消息消费端关联与消息发布端近的下游消息队列中间件,将对时效要求低的消息消费端关联与消息发布端远的下游消息队列中间件;所述与消息发布端近是指消息传输过程中经过的消息队列中间件的数量少,所述与消息发布端远是指消息传输过程中经过的消息队列中间件的数量多;上游消息队列中间件中的上游消息队列及所述下游消息队列中间件中的下游消息队列通过权限设置进行管理;
所述基于消息队列的消息传输装置与所述上游消息队列中间件和/或下游消息队列中间件的关联关系是动态配置的;和/或
所述基于消息队列的消息传输装置的数量是动态调整的;
一所述上游消息队列关联至多一基于消息队列的消息传输装置,一所述基于消息队列的消息传输装置关联至多一上游消息队列;以及
一所述基于消息队列的消息传输装置关联至少一下游消息队列,一所述下游消息队列关联至多一基于消息队列的消息传输装置。
4.一种消息队列的管理方法,其特征在于,所述方法包括:
根据消息发布端的信息查找该消息发布端关联的消息传输装置,所述消息发布端关联一上游消息队列中间件,以将消息发送至所述消息发布端关联的上游消息队列中间件,所述消息传输装置配置成将所述上游消息队列中间件的上游消息队列中的消息发送至下游消息队列中间件的下游消息队列;
根据所述消息传输装置的查找结果,使一消息消费端关联一消息传输装置;
根据所述消息消费端关联的所述消息传输装置向所述消息消费端分配一所述下游消息队列中间件的下游消息队列将对时效要求高的消息消费端关联与消息发布端近的下游消息队列中间件,将对时效要求低的消息消费端关联与消息发布端远的下游消息队列中间件;所述与消息发布端近是指消息传输过程中经过的消息队列中间件的数量少,所述与消息发布端远是指消息传输过程中经过的消息队列中间件的数量多;上游消息队列中间件中的上游消息队列及所述下游消息队列中间件中的下游消息队列通过权限设置进行管理;
所述消息传输装置与所述上游消息队列中间件和/或下游消息队列中间件的关联关系是动态配置的;和/或
所述消息传输装置的数量是动态调整的;
一所述上游消息队列关联至多一基于消息队列的消息传输装置,一所述基于消息队列的消息传输装置关联至多一上游消息队列;以及
一所述基于消息队列的消息传输装置关联至少一下游消息队列,一所述下游消息队列关联至多一基于消息队列的消息传输装置。
5.一种消息队列管理装置,其特征在于,所述装置包括:
查询模块,配置成根据消息发布端的信息查找该消息发布端关联的消息传输装置,所述消息发布端关联一上游消息队列中间件,以将消息发送至所述消息发布端关联的上游消息队列中间件,所述消息传输装置配置成将所述上游消息队列中间件的上游消息队列中的消息发送至下游消息队列中间件的下游消息队列;
关联模块,配置成根据所述消息传输装置的查找结果,使一消息消费端关联一消息传输装置;
分配模块,配置成根据所述消息消费端关联的所述消息传输装置向所述消息消费端分配一所述下游消息队列中间件的下游消息队列将对时效要求高的消息消费端关联与消息发布端近的下游消息队列中间件,将对时效要求低的消息消费端关联与消息发布端远的下游消息队列中间件;所述与消息发布端近是指消息传输过程中经过的消息队列中间件的数量少,所述与消息发布端远是指消息传输过程中经过的消息队列中间件的数量多;上游消息队列中间件中的上游消息队列及所述下游消息队列中间件中的下游消息队列通过权限设置进行管理;
所述消息传输装置与所述上游消息队列中间件和/或下游消息队列中间件的关联关系是动态配置的;和/或
所述消息传输装置的数量是动态调整的;
一所述上游消息队列关联至多一基于消息队列的消息传输装置,一所述基于消息队列的消息传输装置关联至多一上游消息队列;
以及一所述基于消息队列的消息传输装置关联至少一下游消息队列,一所述下游消息队列关联至多一基于消息队列的消息传输装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010527124.0A CN111756652B (zh) | 2020-06-11 | 2020-06-11 | 消息传输及消息队列管理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010527124.0A CN111756652B (zh) | 2020-06-11 | 2020-06-11 | 消息传输及消息队列管理方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111756652A CN111756652A (zh) | 2020-10-09 |
CN111756652B true CN111756652B (zh) | 2023-07-18 |
Family
ID=72676517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010527124.0A Active CN111756652B (zh) | 2020-06-11 | 2020-06-11 | 消息传输及消息队列管理方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111756652B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114168605A (zh) * | 2021-12-08 | 2022-03-11 | 镁佳(北京)科技有限公司 | 一种数据上报方法、装置和设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8332537B1 (en) * | 2010-06-18 | 2012-12-11 | Sprint Communications Company L.P. | Establishing a bypass channel between queue managers |
CN105610926A (zh) * | 2015-12-22 | 2016-05-25 | 广州唯品会信息科技有限公司 | 消息传递方法、系统和消息中间件系统 |
CN106599043A (zh) * | 2016-11-09 | 2017-04-26 | 中国科学院计算技术研究所 | 用于多级数据库的中间件和多级数据库系统 |
CN109672748A (zh) * | 2019-01-03 | 2019-04-23 | 深圳怡化电脑股份有限公司 | 自助设备交易流水的处理方法、处理装置及处理系统 |
CN110781015A (zh) * | 2019-10-28 | 2020-02-11 | 深圳前海微众银行股份有限公司 | 消息队列的分配方法、装置、设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2516852A (en) * | 2013-08-01 | 2015-02-11 | Ibm | Consuming ordered streams of messages in a message oriented middleware |
-
2020
- 2020-06-11 CN CN202010527124.0A patent/CN111756652B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8332537B1 (en) * | 2010-06-18 | 2012-12-11 | Sprint Communications Company L.P. | Establishing a bypass channel between queue managers |
CN105610926A (zh) * | 2015-12-22 | 2016-05-25 | 广州唯品会信息科技有限公司 | 消息传递方法、系统和消息中间件系统 |
CN106599043A (zh) * | 2016-11-09 | 2017-04-26 | 中国科学院计算技术研究所 | 用于多级数据库的中间件和多级数据库系统 |
CN109672748A (zh) * | 2019-01-03 | 2019-04-23 | 深圳怡化电脑股份有限公司 | 自助设备交易流水的处理方法、处理装置及处理系统 |
CN110781015A (zh) * | 2019-10-28 | 2020-02-11 | 深圳前海微众银行股份有限公司 | 消息队列的分配方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111756652A (zh) | 2020-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11971895B2 (en) | Automated data conversion and route tracking in distributed databases | |
US9471647B2 (en) | Node-level sub-queries in distributed databases | |
US8671134B2 (en) | Method and system for data distribution in high performance computing cluster | |
US9003062B1 (en) | Framework for exchanging large B2B transactional in-order messages using distributed file system (DFS) and associated method | |
CN109194736B (zh) | 消息去重方法、装置、电子设备、介质和无人车 | |
CN105450618A (zh) | 一种api服务器处理大数据的运算方法及其系统 | |
CN108737176B (zh) | 一种数据网关控制方法、电子设备、存储介质及架构 | |
US10963298B2 (en) | Method, device and computer-readable for managing virtual machines | |
CN113495921A (zh) | 一种数据库集群的路由方法和装置 | |
EP4020270A1 (en) | Attestation support for elastic cloud computing environments | |
KR101950050B1 (ko) | 이벤트 데이터 획득을 위한 스케일 아웃 시스템 | |
CN111756652B (zh) | 消息传输及消息队列管理方法、装置及系统 | |
CN115827183A (zh) | 一种基于组合优化的混合容器云环境下Serverless服务调度系统 | |
CN111611308A (zh) | 信息处理方法、装置及系统 | |
US10652322B2 (en) | Scalable parallel messaging process | |
CN113282589A (zh) | 一种数据获取方法和装置 | |
CN113452600A (zh) | 跨地域的消息通信方法、装置、电子设备和存储介质 | |
CN108810130B (zh) | 一种分配请求规划的方法和装置 | |
US11683400B1 (en) | Communication protocol for Knative Eventing's Kafka components | |
CN112165527B (zh) | 文件分发方法、文件分发装置和电子设备 | |
US11614981B2 (en) | Handling of metadata for microservices processing | |
US10430488B2 (en) | Managing systems hosted at data centers | |
CN114820132A (zh) | 订单派发方法、装置、电子设备及存储介质 | |
US20110247008A1 (en) | System and method for federated services | |
CN112416980A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |