CN113656195A - 服务消息通道管理方法、装置和电子设备 - Google Patents
服务消息通道管理方法、装置和电子设备 Download PDFInfo
- Publication number
- CN113656195A CN113656195A CN202110931243.7A CN202110931243A CN113656195A CN 113656195 A CN113656195 A CN 113656195A CN 202110931243 A CN202110931243 A CN 202110931243A CN 113656195 A CN113656195 A CN 113656195A
- Authority
- CN
- China
- Prior art keywords
- message
- service
- target
- channel
- software development
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 31
- 238000012545 processing Methods 0.000 claims abstract description 19
- 230000006870 function Effects 0.000 claims description 61
- 238000000034 method Methods 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 9
- 230000006399 behavior Effects 0.000 description 33
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 2
- 244000046052 Phaseolus vulgaris Species 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种服务消息通道管理方法、装置和电子设备,在获取消息业务方发起的消息操作行为时,获取消息操作行为指向的目标消息通道,根据预先构建的软件开发工具包获得目标消息通道的属性信息,而该软件开发工具包为基于系统中消息生产者和消息消费者的属性信息所构建。最后基于目标消息通道的属性信息以及软件开发工具包中封装的基础功能,执行消息业务方对于目标消息通道的业务消息的处理。该方案中,采用构建软件开发工具包的方案,业务方只需指定消息通道,即可在系统中实现适宜的消息发送及消息消费,业务方无需编写大量代码以适配不同的场景,可以大大降低业务方的复杂度。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种服务消息通道管理方法、装置和电子设备。
背景技术
消息队列(Message Queue)是一种软件工程组件,用于业务系统解耦和异步通信,通过消息队列能够显著提高吞吐量。对于亿万级消息数量的web站点,其众多子系统、子应用都有消费消息的需求,消息队列的应用是非常普遍的。
目前常用的消息总线管理方案为Springcloud bus,Springcloud bus是springcloud推出的相关消息总线的方案。但是,Springcloud bus方案中生产方和消费方还是需要基于不同的场景进行不同的设计,例如,在不同的中间件类型时需要针对性地设计适用的方案,也就是说,服务与服务之间仍然需要编写大量代码实现消息发送以及消息消费。
发明内容
本发明的目的包括,例如,提供了一种服务消息通道管理方法、装置和电子设备,其能够降低业务方配置复杂度。
本发明的实施例可以这样实现:
第一方面,本发明提供一种服务消息通道管理方法,应用于消息队列系统中的服务端,所述方法包括:
获取消息业务方发起的消息操作行为,并获取所述消息操作行为指向的目标消息通道;
根据预先构建的软件开发工具包获得所述目标消息通道的属性信息,所述软件开发工具包为基于所述消息队列系统中的消息生产者和消息消费者的属性信息所构建;
基于所述目标消息通道的属性信息以及所述软件开发工具包中封装的基础功能,执行所述消息业务方对于所述目标消息通道的业务消息的处理。
在可选的实施方式中,所述软件开发工具包中包括消息通道与消息主题、所属组件类型之间的映射关系,所述目标消息通道的属性信息包括目标消息通道对应的消息主题和所属组件类型。
在可选的实施方式中,所述消息业务方包括消息生产者,所述消息操作行为包括消息下发行为;
所述基于所述目标消息通道的属性信息以及所述软件开发工具包中封装的基础功能,执行所述消息业务方对于所述目标消息通道的业务消息的处理的步骤,包括:
获得所述消息生产者的消息下发行为所推送的业务消息;
按所述目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,将所述业务消息推送到所述目标消息通道。
在可选的实施方式中,所述目标消息通道的属性信息还包括目标机房信息;
所述按所述目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,将所述业务消息推送到所述目标消息通道的步骤,包括:
获取所述消息下发行为中包含的目标机房信息;
按所述目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,通过所述目标消息通道将所述业务消息写入至所述目标机房对应的消息队列中。
在可选的实施方式中,所述消息业务方包括消息消费者;
所述基于所述目标消息通道的属性信息以及所述软件开发工具包中封装的基础功能,执行所述消息业务方对于所述目标消息通道的业务消息的处理的步骤,包括:
获取业务消息,所述业务消息为从所述消息队列系统用于下发业务消息的消息通道中获取的;
按所述目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,通过所述目标消息通道将拉取的业务消息推送至所述消息消费者。
在可选的实施方式中,所述消息消费者包括多个,多个所述消息消费者构成一群组;
所述按所述目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,通过所述目标消息通道将拉取的业务消息推送至所述消息消费者的步骤,包括:
将拉取的业务消息存放至线程池;
在消息订阅方式为广播订阅方式时,按各所述消息消费者对应的目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,通过所述目标消息通道依次将从所述线程池提取的业务消息推送至各个消息消费者;
在消息订阅方式为集群订阅方式时,依次将从线程池提取的业务消息推送至所述群组,以针对所述群组中其中一个消息消费者,按该消息消费者对应的目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,通过对应的目标消息通道将业务消息推送至该消息消费者。
在可选的实施方式中,所述按所述目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,通过所述目标消息通道将拉取的业务消息推送至所述消息消费者的步骤,还包括:
在每次推送之后将所推送的业务消息在所述线程池中的偏移量进行记录。
在可选的实施方式中,所述消息业务方包括至少两个消息消费者;
所述基于所述目标消息通道的属性信息以及所述软件开发工具包中封装的基础功能,执行所述消息业务方对于所述目标消息通道的业务消息的处理的步骤,包括:
在所述至少两个消息消费者的目标消息通道对应不同的消息主题时,将不同消息主题的业务消息通过对应的目标消息通道,并根据其所属组件类型以及所述软件开发工具包中封装的基础功能进行推送;
在所述至少两个消息消费者的目标消息通道对应同一消息主题时,获取该同一消息主题下的各个业务消息的类以及各个类对应的消息通道类型,将不同类的业务消息通过对应的目标消息通道,并根据其所属组件类型以及所述软件开发工具包中封装的基础功能进行推送。
第二方面,本发明提供一种服务消息通道管理装置,应用于消息队列系统中的服务端,所述装置包括:
获取模块,用于获取消息业务方发起的消息操作行为,并获取所述消息操作行为指向的目标消息通道;
获得模块,用于根据预先构建的软件开发工具包获得所述目标消息通道的属性信息,所述软件开发工具包为基于所述消息队列系统中的消息生产者和消息消费者的属性信息所构建;
执行模块,用于基于所述目标消息通道的属性信息以及所述软件开发工具包中封装的基础功能,执行所述消息业务方对于所述目标消息通道的业务消息的处理。
第三方面,本发明提供一种电子设备,包括一个或多个存储介质和一个或多个与存储介质通信的处理器,一个或多个存储介质存储有处理器可执行的机器可执行指令,当电子设备运行时,处理器执行所述机器可执行指令,以执行前述实施方式中任意一项所述的方法步骤。
本发明实施例的有益效果包括,例如:
本申请提供一种服务消息通道管理方法、装置和电子设备,在获取消息业务方发起的消息操作行为时,获取消息操作行为指向的目标消息通道,根据预先构建的软件开发工具包获得目标消息通道的属性信息,而该软件开发工具包为基于系统中消息生产者和消息消费者的属性信息所构建。最后基于目标消息通道的属性信息以及软件开发工具包中封装的基础功能,执行消息业务方对于目标消息通道的业务消息的处理。该方案中,采用构建软件开发工具包的方案,业务方只需指定消息通道,即可在系统中实现适宜的消息发送及消息消费,业务方无需编写大量代码以适配不同的场景,可以大大降低业务方的复杂度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的服务消息通道管理方法的流程图;
图2为图1中步骤S130包含的子步骤的流程图;
图3为图2中步骤S132A包含的子步骤的流程图;
图4为图1中步骤S130包含的子步骤的另一流程图;
图5为图4中步骤S132B包含的子步骤的流程图;
图6为本申请实施例提供的服务推送和服务消费的示意图;
图7为本申请实施例提供的服务消息通道管理装置的功能模块框图;
图8为本申请实施例提供的电子设备的结构框图。
图标:110-处理器;120-存储器;130-多媒体组件;140-I/O接口;150-通信组件;200-服务消息通道管理装置;210-获取模块;220-获得模块;230-执行模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
本申请实施例提供一种服务消息通道管理方法,以实现消息发送和消息消费的管理。该服务消息通道管理方法有关的流程所定义的方法步骤可以由电子设备实现。该电子设备可以是消息队列系统中的后台服务端,下面将对图1所示的具体流程进行详细阐述。
步骤S110,获取消息业务方发起的消息操作行为,并获取所述消息操作行为指向的目标消息通道。
步骤S120,根据预先构建的软件开发工具包获得所述目标消息通道的属性信息,所述软件开发工具包为基于所述消息队列系统中的消息生产者和消息消费者的属性信息所构建。
步骤S130,基于所述目标消息通道的属性信息以及所述软件开发工具包中封装的基础功能,执行所述消息业务方对于所述目标消息通道的业务消息的处理。
消息队列是一种软件工程组件,用于业务系统解耦和异步通信。消息队列通常的组成部分有消息生产者、消息通道、消息消费者,消息生产者可将消息推送到消息通道,消息消费者可依据自身需求接入网络,并从消息通道消费不同类型的业务消息。
本实施例中,后台服务端可预先基于消息队列系统中的消息生产者和消息消费者的属性信息构建软件开发工具包SDK。详细地,SDK可通过bean工厂在初始化时自动扫描系统中所有消息生产者和消息消费者的消息类型,然后通过内网RPC(Remote ProcedureCall,远程过程调用)模式调用消息管理服务查询各个消息类型所对应的机房、中间件类型、消息主题等信息,并将这些相关属性信息注册至ioc容器中。SDK中封装了各种消息中间件以及平台的私有消息队列的基础功能,包括消息发送、多线程消费、多通道消费、顺序、事物、过滤、消息应答等一系列基础核心功能。
SDK中除了上述的封装的基础功能外,SDK中还包括消息通道与消息主题、所属组件类型之间的映射关系。
消息业务方在发起消息操作行为时,只需指定所需的目标消息通道,消息业务方无需关注具体的消息主题等信息,消息通道和消息主题的映射关系由服务端统一管理分配。如此,可基于预先构建的软件开发工具包获得消息业务方所指定的目标消息通道的属性信息。目标消息通道的属性信息包括目标消息通道对应的消息主题和所属组件类型,其中,所属组件类型包括kafka,rocketmq等。
在确定目标消息通道的属性信息后,如消息主题和所属组件类型,可基于SDK中封装的基础功能,以及目标消息通道的属性信息实现目标消息通道的业务消息的处理。
本实施例中,通过预先构建SDK,将消息通道、消息主题、所属组件类型等之间的映射关系封装在SDK中,并将消息发送、接收等相关的基础功能封装在SDK中。各个消息业务方在进行消息发送或消息接收时,无需在各端针对不同的中间件类型等进行适配而导致大量的代码的编写,而只需在服务端基于SDK中管理的映射关系,确定相应的属性信息消息主题、所属组件类型等,进而基于确定的属性信息和SDK中的基础功能实现消息的发送和消息的接收。
本方案,通过服务端实现配置的统一管理,各个消息业务方不需要关注底层消息实现、消息主题等,无需编写大量重复代码实现发送与消费的实现,更无需关注性能相关问题。实现各个消息业务方对消息内部的无感知,大大降低业务方在不同接入需求下的代码编写复杂度。
本实施例中,上述的消息业务方可以是消息生产者,或者是消息消费者。
在一种可能的实现方式中,在消息业务方为消息生产者时,相应地,消息操作行为包括消息下发行为。此种情形下,请参阅图2,上述步骤S130可以包括以下子步骤。
步骤S131A,获得所述消息生产者的消息下发行为所推送的业务消息;
步骤S132A,按所述目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,将所述业务消息推送到所述目标消息通道。
本实施例中,消息生产者在产生业务消息后,可以指定将业务消息通过某个消息通道进行推送。通过上述方式可以获得消息生产者所指定的消息通道对应的消息主题、所属组件类型。进而结合软件开发工具包中封装的基础功能,将业务消息推送到指定的消息通道。
现有的消息通道管理方案中,在存在跨机房的应用场景时,仍然需要通过编码大量代码来实现,需要业务方基于具体的机房信息来实现相应配置,存在接入以及维护成本高的问题。
基于此,请参阅图3,本实施例中,上述步骤S132A可以包括以下子步骤:
步骤S1321A,获取所述消息下发行为中包含的目标机房信息。
步骤S1322A,按所述目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,通过所述目标消息通道将所述业务消息写入至所述目标机房对应的消息队列中。
在本实施例中,还可预先查询出消息生产者、消息消费者所对应的机房,可以是机房集群。消息生产者的消息下发行为中还可包括所指定的目标机房,例如,可以直接在消息下发行为中携带目标机房的属性,如“广州”、“深圳”即可。后台服务端可以基于获得的目标机房的属性从SDK中获得具体的目标机房信息。也即,目标消息通道的属性信息还包括目标机房信息。
然后可以按软件开发工具包中封装的基础功能,并按目标消息通道的消息主题、所属组件类型,通过目标消息通道将业务消息写入到目标机房对应的消息队列中。
如此,可以将消息生产者所推送的业务消息写入到其所属的目标机房对应的消息队列中,例如,若目标机房为A机房,则相应地业务消息会写入到A机房的消息队列中,若目标机房为B机房,则相应地业务消息会写入到B机房的消息队列中。如此,可以实现跨机房的高可用,并且,无需业务方进行对接机房的相关配置。
本实施例中,在出现故障时,例如A机房宕机,可以自动重新加载初始化注册的信息,也即,SDK中的信息,将故障节点迁移至可用配置。如此,即使A机房宕机,也可将业务消息写入到B机房中,保障业务消息的成功写入。并且,同机房内部可采取主从模式来保障机房的高可用,消息业务方可以无需进行代码编写,即可实现机房隔离,业务方无需关注故障迁移,SDK内部会自动平滑来进行自动适配。
在一种可能的实现方式中,上述的消息业务方还可包括消息消费者,消息操作行为可包括消息拉取行为。请参阅图4,上述步骤S130还可包括以下子步骤:
步骤S131B,获取业务消息,所述业务消息为从所述消息队列系统用于下发业务消息的消息通道中获取的。
步骤S132B,按所述目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,通过所述目标消息通道将拉取的业务消息推送至所述消息消费者。
本实施例中,消息消费者在消费消息时,可以指定想要哪个通道的数据,也即指定目标消息通道。基于此,可以将目标消息通道的业务数据推送至消息消费者。
首先可以获取业务消息,业务消息可以是通过上述的针对消息生产者的处理所推送到某个消息通道中的业务消息。例如,若消息消费者指定的目标消息通道为aaa,则相应地获得的业务消息可以是消息生产者所指定推送到消息通道aaa的业务消息。
将获得的业务消息基于软件开发工具包中封装的基础功能,按目标消息通道的消息主题、所属组件类型等,通过目标消息通道将业务消息推送到消息消费者。
现有的消息通道管理方案中所采用的原生的广播模式,存在诸多缺陷,例如,平台无法确定业务方是否已经消费成功,这样无法进行自动处理故障,需要业务方自己处理故障,造成了资源浪费。此外,消息消费者订阅相关主题下的业务消息的偏移量也是消息消费者记录,这样就容易造成消息的丢失,消息消费者需要自己单独编写大量代码来保证正确的偏移量。
基于此,本实施例中,消息消费者可包括多个,多个消息消费者可构成一群组。请参阅图5,上述步骤S132B可以包括以下子步骤:
步骤S1321B,将拉取的业务消息存放至线程池。
步骤S1322B,在消息订阅方式为广播订阅方式时,按各所述消息消费者对应的目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,通过所述目标消息通道依次将从所述线程池提取的业务消息推送至每个消息消费者。
步骤S1323B,在消息订阅方式为集群订阅方式时,依次将从线程池提取的业务消息推送至所述群组,以针对所述群组中其中一个消息消费者,按该消息消费者对应的目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,通过对应的目标消息通道将业务消息推送至该消息消费者。
本实施例中,可以具有两种消息订阅方式,包括广播订阅方式和集群订阅方式。其中,广播订阅方式中是采用群组订阅的方式来实现广播订阅,也即将消息消费者进行群组划分。可以预先按不同的消息订阅方式的不同机制进行相关的注册,例如对应的服务名、各个消息消费者的IP、消息订阅方式等。可以根据消息消费者注册信息按预设规则生成群组group id,以完成订阅。其中,group id生成规则可以按照消息订阅方式(集群还是广播)+服务名生成,而广播订阅方式还需加上消息消费者的IP。
对于消息生产者推送的业务消息,则先将业务消息存放至线程池中。对于广播订阅方式的多个消息消费者,消息消费者可接入SDK,SDK可支持注解式信息注入,消息消费者只需配置相关的消息类型,而一个消息类型即是一种消息通道。
则可以将线程池中的业务消息依次通知到各个消息消费者。并基于软件开发工具包中封装的基础功能,将各个业务消息通过其对应的目标消息通道推送至各个消息消费者。
而对于集群订阅方式的多个消息消费者,则可以将线程池中的各个业务消息推送给集群中其中一个消息消费者。具体推送的消息消费者可以是根据群组中消息消费者的空闲程度进行确定。详细地,可以基于该确定的其中一个消息消费者的目标消息通道的消息主题、所属组件类型,并基于软件开发工具包中封装的基础功能,通过目标消息通道进行推送。
在此基础上,本实施例中,在每次推送之后将所推送的业务消息在线程池中的偏移量进行记录。各个群组的偏移量是单独的,服务端可以精确知道各个消息消费者是否消费成功,以及数据的偏移量。在消费成功时,则可以进行后续偏移量的业务消息的推送,而在未消费成功时,则重复将上一轮的偏移量的业务消息进行推送。
相对于原生广播模式排障需要业务方自己去完成,平台方无法知道消息是否消费成功,同时偏移量存在业务方,可能会造成丢失数据或大量重复消息、业务方需要非常精准保证正确的偏移量的方式而言,本申请中,通过采用集群订阅方式以及群组形式的广播订阅方式,并在服务端记录推送的业务消息的偏移量的方式,如此,不同组的偏移量是单独保存的,服务端可以精确知道是否消费成功以及数据的偏移量,业务方只需简单配置便能以不同模式进行相关消费,无需关注排障以及准确偏移量保障的问题。
本实施例中,采用封装线程池的方式,可以允许业务方进行多线程消费,不同线程可同时拉取线程池中消息。服务端可针对多个请求同时分配数据区间,以实现单节点多线程消费。并且,针对不同所属组件类型可划分不同数据区间,能实现单节点加快消费、提高消费速度,避免消息堆积的目的。
此外,当业务方需要将某个消息通道指向另一数据源时,也即需要更改消息通道对应的消息主题时,只需在服务端进行配置切换,数据库层面会自动检测更新,并下发配置更新信息。业务方在接收到配置更新信息后,会重新加载ioc容器中注册的bean对象,从而无需服务重启便能及时更改消费与发送。
本实施例中,每个消息类型(即消息通道)可对应一个或多个消息主题,以及消息主题对应的所属组件类型,例如kafka,rocketmq等。服务端对于多机房配置也可统一管理,包括不同机房的消息队列的不同配置。如此,业务方如果是多机房,不同业务节点可自动读取相应机房的配置,可实现业务方对消息主题和所属组件类型的透明。
本实施例中,消息生产者可按其消息类型将业务消息发送到对应的消息通道,消息消费者只需要订阅该消息类型即可获得该消息通道的内容。
在消息消费者包括至少两个的情况下,上述步骤S132还可包括以下子步骤:
在所述至少两个消息消费者的目标消息通道对应不同的消息主题时,将不同消息主题的业务消息通过对应的目标消息通道,并根据其所属组件类型以及所述软件开发工具包中封装的基础功能进行推送。
在所述至少两个消息消费者的目标消息通道对应同一消息主题时,获取该同一消息主题下的各个业务消息的类以及各个类对应的消息通道类型,将不同类的业务消息通过对应的目标消息通道,并根据其所属组件类型以及所述软件开发工具包中封装的基础功能进行推送。
本实施例中,例如消费消费者具有两个,在两个消息消费者的消息类型(也即目标消息通道)对应不同的消息主题时,即业务消息发送通过两条消息通道实现,各个消息消费者通过各自的消息通道接收业务消息。
而在两个消息类型对应同一消息主题,两个消息消费者实质是接收同一通道的业务数据。此时,服务端会根据业务消息注册的类来进行推送,例如,若业务消息A类注册了消息类型M1,业务消息B类注册了消息类型M2,则SDK将通道中的业务消息A类通过消息类型M1进行推送,将业务消息B类通过消息类型M2进行推送。
若两个类订阅的都是同一消息类型,也即上述的消息类型M1和消息类型M2为同一消息类型的情况下,则可以将上述不同类的业务消息通过同一消息通道同时推送给2个消息消费者。此种情形下,可以是当2个消息消费者均接收成功确定业务消息推送成功。此外,也可以是只要一个消息消费者接收成功则确定业务消息推送成功。以上述任一方式确定业务消息未推送成功时,可进行消息重试机制。
本实施例中,集成了SDK的各个业务方在启动时可扫描本地订阅的消息类型,同时会对消息类型进行查询以及消息通道的注册,消息通道内部进行缓存以及多机房多节点的高可用。
在本实施例中,当服务端配置发生变化时,可以通过各业务方重新加载相关配置信息,及时实现消息和发送的更改。
请结合参阅图6,图6中示出了关于服务Service A和服务Service B之间的交互示意图。其中,Service A和Service B均可分别作为消息生产者和消息消费者。其中,ServiceA中可包括模块a、模块b、模块c和模块d,分别对应的消息类型为msg_type=aaa、msg_type=bbb、msg_type=ccc、msg_type=ddd。其中,Service B可包括模块1、模块2、模块3和模块4,分别对应的消息类型为msg_type=ccc、msg_type=ddd、msg_type=aaa、msg_type=bbb。
后台服务端中配置后台可构建有SDK,SDK中可包括消息类型msg_type、消息主题topic、所属组件类型的映射关系。映射关系可以以列表的形式进行保存。此外,还可标记对应的状态status,可以以1或0分别标记在线和离线状态。
配置后台中可通过消息通道管理message-channel-manage组件进行消息通道的管理。
当Service A中的模块a和模块b进行消息推送push时,两者所指定的目标消息类型(目标消息通道)可为tag=aaa和tag=bbb,可基于SDK获得相应的消息通道的消息主题、所属组件类型等。并基于SDK中封装的基础功能,并按消息主题、所属组件类型将业务消息分别推送到消息通道tag=aaa和tag=bbb。
相应地,在ServiceB中的模块3和模块4进行消息消费subscribe时,所指定的目标消息类型(目标消息通道)可分别为subscribe tag=aaa和subscribe tag=bbb。同样地,可基于SDK获得相应的消息通道的消息主题、所属组件类型,并基于SDL中封装的基础功能,并按消息主题、所属组件类型从subscribe tag=aaa和subscribe tag=bbb中将业务消息推送给模块3和模块4。
此外,ServiceB中的模块1和模块2也可以作为消息生产者进行业务消息的推送,该两个模块分别对应的目标消息通道可分别为tag=ccc和tag=ddd。可将模块1和模块2产生的业务消息通过tag=ccc和tag=ddd分别进行推送。
而ServiceA中的模块c和模块d也可分别作为消息消费者,进行业务消息的消费。该两个模块可共同指向消息通道tag=ccc和tag=ddd。也即,可对tag=ccc和tag=ddd中的业务消息进行消费,消息通道tag=ccc和tag=ddd中的业务消息可同时推送给模块c和模块d。
此外,图6中还示意性示出了在某一消息服务过程中的消息结构体的构成,例如在ServiceA中的模块a作为消息生产者时,消息结构体的具体构成可包括:reply Msg Id:47908675464,sender Ip:10.244.1.2,sender Name:service A,msg Data:{xxxxx},msgId:56674343,msg Type:aaa,msgTime:1674234322,tag:hxtimerJob。
在订阅模式为广播模式时,注册信息构成为:消息主题topic+服务名称appName+消息消费者ip,而在订阅模式为集群模式时,注册信息构成为:消息主题topic+服务名称appName。
本实施例所提供的服务消息通道管理方案,可统一消息格式、规范消息传递过程,对于庞大的微服务集群而言,跨机房之间的消息传递简化了接入成本。且解耦服务与服务之间的消息传递,消息通道之间相互隔离,如果想要不接收某个消息通道的消息,在服务端可将其设置为离线状态,无需改动代码。
本实施例中,服务所关心的数据通道统一由后台服务端来管理,接入方对消息内部实现无感知,在无需改动代码的情况下实现消息通道上线、下线,停止/启动发送或消费,新增及销毁消息通道,消息通道配置更新等。
以上为本申请实施例提供的服务消息通道管理方法,基于同样的思路,请参阅图7,本申请实施例还提供一种服务消息通道管理装置200。该服务消息通道管理装置200包括获取模块210、获得模块220和执行模块230。
获取模块210,用于获取消息业务方发起的消息操作行为,并获取所述消息操作行为指向的目标消息通道;
可以理解,该获取模块210可以用于执行上述步骤S110,关于该获取模块210的详细实现方式可以参照上述对步骤S110有关的内容。
获得模块220,用于根据预先构建的软件开发工具包获得所述目标消息通道的属性信息,所述软件开发工具包为基于所述消息队列系统中的消息生产者和消息消费者的属性信息所构建;
可以理解,该获得模块220可以用于执行上述步骤S120,关于该获得模块220的详细实现方式可以参照上述对步骤S120有关的内容。
执行模块230,用于基于所述目标消息通道的属性信息以及所述软件开发工具包中封装的基础功能,执行所述消息业务方对于所述目标消息通道的业务消息的处理。
可以理解,该执行模块230可以用于执行上述步骤S130,关于该执行模块230的详细实现方式可以参照上述对步骤S130有关的内容。
在一种可能的实现方式中,所述软件开发工具包中包括消息通道与消息主题、所属组件类型之间的映射关系,所述目标消息通道的属性信息包括目标消息通道对应的消息主题和所属组件类型。
在一种可能的实现方式中,所述消息业务方包括消息生产者,所述消息操作行为包括消息下发行为,上述执行模块230具体可以用于:
获得所述消息生产者的消息下发行为所推送的业务消息;
按所述目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,将所述业务消息推送到所述目标消息通道。
在一种可能的实现方式中,所述目标消息通道的属性信息还包括目标机房信息,上述执行模块230具体可以用于:
获取所述消息下发行为中包含的目标机房信息;
按所述目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,通过所述目标消息通道将所述业务消息写入至所述目标机房对应的消息队列中。
在一种可能的实现方式中,所述消息业务方包括消息消费者,所述消息操作行为包括消息拉取行为,上述执行模块230具体可以用于:
获取业务消息,所述业务消息为从所述消息队列系统用于下发业务消息的消息通道中获取的;
按所述目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,通过所述目标消息通道将拉取的业务消息推送至所述消息消费者。
在一种可能的实现方式中,所述消息消费者包括多个,多个所述消息消费者构成一群组,上述执行模块230具体可以用于:
将拉取的业务消息存放至线程池;
在消息订阅方式为广播订阅方式时,按各所述消息消费者对应的目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,通过所述目标消息通道依次将从所述线程池提取的业务消息推送至各个消息消费者;
在消息订阅方式为集群订阅方式时,依次将从线程池提取的业务消息推送至所述群组,以针对所述群组中其中一个消息消费者,按该消息消费者对应的目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,通过对应的目标消息通道将业务消息推送至该消息消费者。
在一种可能的实现方式中,上述执行模块230具体还可以用于:
在每次推送之后将所推送的业务消息在所述线程池中的偏移量进行记录。
在一种可能的实现方式中,所述消息业务方包括至少两个消息消费者,所述消息操作行为包括消息拉取行为,上述执行模块230具体可以用于:
在所述至少两个消息消费者的目标消息通道对应不同的消息主题时,将不同消息主题的业务消息通过对应的目标消息通道,并根据其所属组件类型以及所述软件开发工具包中封装的基础功能进行推送;
在所述至少两个消息消费者的目标消息通道对应同一消息主题时,获取该同一消息主题下的各个业务消息的类以及各个类对应的消息通道类型,将不同类的业务消息通过对应的目标消息通道,并根据其所属组件类型以及所述软件开发工具包中封装的基础功能进行推送。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
以上为本申请实施例提供的服务消息通道管理装置200,基于同样的思路,请参阅图8,本申请实施例还提供一种电子设备,该电子设备可以是消息队列系统中的后台服务端。
图8是根据一示例性实施例示出的一种电子设备的框图。如图8所示,该电子设备可以包括:处理器110,存储器120,多媒体组件130,I/O接口140,以及通信组件150。
其中,处理器110用于控制该电子设备的整体操作,以完成上述的管理方法的全部或部分步骤。存储器120用于存储各种类型的数据以支持在该电子设备的操作,这些数据例如可以包括用于在该电子设备上操作的任何处理软件或方法的指令,以及处理软件相关的数据。
该存储器120可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-OnlyMemory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
多媒体组件130可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器120或通过通信组件150发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口140为处理器110和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件150用于该电子设备与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件150可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器110(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器110或其他电子元件实现,用于执行上述的管理方法。
综上所述,本申请实施例提供服务消息通道管理方法、装置和电子设备,在获取消息业务方发起的消息操作行为时,获取消息操作行为指向的目标消息通道,根据预先构建的软件开发工具包获得目标消息通道的属性信息,而该软件开发工具包为基于系统中消息生产者和消息消费者的属性信息所构建。最后基于目标消息通道的属性信息以及软件开发工具包中封装的基础功能,执行消息业务方对于目标消息通道的业务消息的处理。该方案中,采用构建软件开发工具包的方案,业务方只需指定消息通道,即可在系统中实现适宜的消息发送及消息消费,业务方无需编写大量代码以适配不同的场景,可以大大降低业务方的复杂度。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种服务消息通道管理方法,其特征在于,应用于消息队列系统中的服务端,所述方法包括:
获取消息业务方发起的消息操作行为,并获取所述消息操作行为指向的目标消息通道;
根据预先构建的软件开发工具包获得所述目标消息通道的属性信息,所述软件开发工具包为基于所述消息队列系统中的消息生产者和消息消费者的属性信息所构建;
基于所述目标消息通道的属性信息以及所述软件开发工具包中封装的基础功能,执行所述消息业务方对于所述目标消息通道的业务消息的处理。
2.根据权利要求1所述的服务消息通道管理方法,其特征在于,所述软件开发工具包中包括消息通道与消息主题、所属组件类型之间的映射关系,所述目标消息通道的属性信息包括目标消息通道对应的消息主题和所属组件类型。
3.根据权利要求2所述的服务消息通道管理方法,其特征在于,所述消息业务方包括消息生产者,所述消息操作行为包括消息下发行为;
所述基于所述目标消息通道的属性信息以及所述软件开发工具包中封装的基础功能,执行所述消息业务方对于所述目标消息通道的业务消息的处理的步骤,包括:
获得所述消息生产者的消息下发行为所推送的业务消息;
按所述目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,将所述业务消息推送到所述目标消息通道。
4.根据权利要求3所述的服务消息通道管理方法,其特征在于,所述目标消息通道的属性信息还包括目标机房信息;
所述按所述目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,将所述业务消息推送到所述目标消息通道的步骤,包括:
获取所述消息下发行为中包含的目标机房信息;
按所述目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,通过所述目标消息通道将所述业务消息写入至所述目标机房对应的消息队列中。
5.根据权利要求2所述的服务消息通道管理方法,其特征在于,所述消息业务方包括消息消费者;
所述基于所述目标消息通道的属性信息以及所述软件开发工具包中封装的基础功能,执行所述消息业务方对于所述目标消息通道的业务消息的处理的步骤,包括:
获取业务消息,所述业务消息为从所述消息队列系统用于下发业务消息的消息通道中获取的;
按所述目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,通过所述目标消息通道将拉取的业务消息推送至所述消息消费者。
6.根据权利要求5所述的服务消息通道管理方法,其特征在于,所述消息消费者包括多个,多个所述消息消费者构成一群组;
所述按所述目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,通过所述目标消息通道将拉取的业务消息推送至所述消息消费者的步骤,包括:
将拉取的业务消息存放至线程池;
在消息订阅方式为广播订阅方式时,按各所述消息消费者对应的目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,通过所述目标消息通道依次将从所述线程池提取的业务消息推送至每个消息消费者;
在消息订阅方式为集群订阅方式时,依次将从线程池提取的业务消息推送至所述群组,以针对所述群组中其中一个消息消费者,按该消息消费者对应的目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,通过对应的目标消息通道将业务消息推送至该消息消费者。
7.根据权利要求6所述的服务消息通道管理方法,其特征在于,所述按所述目标消息通道的消息主题、所属组件类型,并基于所述软件开发工具包中封装的基础功能,通过所述目标消息通道将拉取的业务消息推送至所述消息消费者的步骤,还包括:
在每次推送之后将所推送的业务消息在所述线程池中的偏移量进行记录。
8.根据权利要求2所述的服务消息通道管理方法,其特征在于,所述消息业务方包括至少两个消息消费者;
所述基于所述目标消息通道的属性信息以及所述软件开发工具包中封装的基础功能,执行所述消息业务方对于所述目标消息通道的业务消息的处理的步骤,包括:
在所述至少两个消息消费者的目标消息通道对应不同的消息主题时,将不同消息主题的业务消息通过对应的目标消息通道,并根据其所属组件类型以及所述软件开发工具包中封装的基础功能进行推送;
在所述至少两个消息消费者的目标消息通道对应同一消息主题时,获取该同一消息主题下的各个业务消息的类以及各个类对应的消息通道类型,将不同类的业务消息通过对应的目标消息通道,并根据其所属组件类型以及所述软件开发工具包中封装的基础功能进行推送。
9.一种服务消息通道管理装置,其特征在于,应用于消息队列系统中的服务端,所述装置包括:
获取模块,用于获取消息业务方发起的消息操作行为,并获取所述消息操作行为指向的目标消息通道;
获得模块,用于根据预先构建的软件开发工具包获得所述目标消息通道的属性信息,所述软件开发工具包为基于所述消息队列系统中的消息生产者和消息消费者的属性信息所构建;
执行模块,用于基于所述目标消息通道的属性信息以及所述软件开发工具包中封装的基础功能,执行所述消息业务方对于所述目标消息通道的业务消息的处理。
10.一种电子设备,其特征在于,包括一个或多个存储介质和一个或多个与存储介质通信的处理器,一个或多个存储介质存储有处理器可执行的机器可执行指令,当电子设备运行时,处理器执行所述机器可执行指令,以执行权利要求1-8中任意一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110931243.7A CN113656195B (zh) | 2021-08-13 | 2021-08-13 | 服务消息通道管理方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110931243.7A CN113656195B (zh) | 2021-08-13 | 2021-08-13 | 服务消息通道管理方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113656195A true CN113656195A (zh) | 2021-11-16 |
CN113656195B CN113656195B (zh) | 2024-02-27 |
Family
ID=78479876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110931243.7A Active CN113656195B (zh) | 2021-08-13 | 2021-08-13 | 服务消息通道管理方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113656195B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174296A (zh) * | 2022-05-30 | 2022-10-11 | 青岛海尔科技有限公司 | 设备功能接入方法、装置、存储介质及电子装置 |
CN115278561A (zh) * | 2022-06-01 | 2022-11-01 | 浪潮软件股份有限公司 | 一种应用于政务领域的多通道短信服务优化方法 |
CN115914120A (zh) * | 2022-11-08 | 2023-04-04 | 湖南长银五八消费金融股份有限公司 | 消息发送方法、装置、计算机设备和计算机可读存储介质 |
CN115934158A (zh) * | 2023-02-23 | 2023-04-07 | 云筑信息科技(成都)有限公司 | 一种基于业务身份的个性化配置方法 |
CN117390337A (zh) * | 2023-12-11 | 2024-01-12 | 宁德时代新能源科技股份有限公司 | 消息发送方法、装置、中间件及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103957188A (zh) * | 2014-03-24 | 2014-07-30 | 浪潮集团山东通用软件有限公司 | 一种对称的双向解耦的企业服务描述方法及服务调度系统 |
CN105897797A (zh) * | 2014-12-03 | 2016-08-24 | 北京航天长峰科技工业集团有限公司 | 海量异构数据接入及标准化系统 |
CN112181677A (zh) * | 2020-09-02 | 2021-01-05 | 珠海格力电器股份有限公司 | 业务的处理方法和装置、存储介质、电子装置 |
-
2021
- 2021-08-13 CN CN202110931243.7A patent/CN113656195B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103957188A (zh) * | 2014-03-24 | 2014-07-30 | 浪潮集团山东通用软件有限公司 | 一种对称的双向解耦的企业服务描述方法及服务调度系统 |
CN105897797A (zh) * | 2014-12-03 | 2016-08-24 | 北京航天长峰科技工业集团有限公司 | 海量异构数据接入及标准化系统 |
CN112181677A (zh) * | 2020-09-02 | 2021-01-05 | 珠海格力电器股份有限公司 | 业务的处理方法和装置、存储介质、电子装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174296A (zh) * | 2022-05-30 | 2022-10-11 | 青岛海尔科技有限公司 | 设备功能接入方法、装置、存储介质及电子装置 |
CN115174296B (zh) * | 2022-05-30 | 2024-03-22 | 青岛海尔科技有限公司 | 设备功能接入方法、装置、存储介质及电子装置 |
CN115278561A (zh) * | 2022-06-01 | 2022-11-01 | 浪潮软件股份有限公司 | 一种应用于政务领域的多通道短信服务优化方法 |
CN115914120A (zh) * | 2022-11-08 | 2023-04-04 | 湖南长银五八消费金融股份有限公司 | 消息发送方法、装置、计算机设备和计算机可读存储介质 |
CN115914120B (zh) * | 2022-11-08 | 2024-04-02 | 湖南长银五八消费金融股份有限公司 | 消息发送方法、装置、计算机设备和计算机可读存储介质 |
CN115934158A (zh) * | 2023-02-23 | 2023-04-07 | 云筑信息科技(成都)有限公司 | 一种基于业务身份的个性化配置方法 |
CN115934158B (zh) * | 2023-02-23 | 2023-06-23 | 云筑信息科技(成都)有限公司 | 一种基于业务身份的个性化配置方法 |
CN117390337A (zh) * | 2023-12-11 | 2024-01-12 | 宁德时代新能源科技股份有限公司 | 消息发送方法、装置、中间件及介质 |
CN117390337B (zh) * | 2023-12-11 | 2024-04-26 | 宁德时代新能源科技股份有限公司 | 消息发送方法、装置、中间件及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113656195B (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113656195B (zh) | 服务消息通道管理方法、装置和电子设备 | |
CN111866191B (zh) | 消息事件的分发方法、分发平台、系统及服务器 | |
CN109376197B (zh) | 一种数据同步方法、服务器及计算机存储介质 | |
US20160057024A1 (en) | Method and device for terminal device management based on right control | |
CN110719311B (zh) | 分布式协调服务方法、系统及计算机可读存储介质 | |
CN102868736A (zh) | 一种云计算监控框架设计及实现方法及云计算处理设备 | |
CN111143382B (zh) | 数据处理方法、系统和计算机可读存储介质 | |
CN111064626B (zh) | 配置更新方法、装置、服务器及可读存储介质 | |
US11336588B2 (en) | Metadata driven static determination of controller availability | |
CN109684036A (zh) | 一种容器集群管理方法、存储介质、电子设备及系统 | |
CN111182019B (zh) | 跨平台通信方法及装置、电子设备 | |
CN113377626B (zh) | 基于服务树的可视化统一报警方法、装置、设备和介质 | |
CN107133160B (zh) | 服务器和客户端 | |
US20130024874A1 (en) | Data distribution system based on the exchange of asynchronous messages | |
US9935830B1 (en) | Cloud management system and method for disparate computing nodes in a cloud computing environment | |
CN114500257A (zh) | 网络配置分发方法、装置、控制节点及存储介质 | |
CN116233217B (zh) | 基于路由的页面跳转方法、装置、电子设备及存储介质 | |
CN115344644A (zh) | 数据同步方法、装置、电子设备和计算机可读存储介质 | |
CN111600958B (zh) | 服务发现系统、服务数据管理方法、服务器及存储介质 | |
CN109117152B (zh) | 服务生成系统及方法 | |
US7685303B2 (en) | Object-oriented discovery framework | |
CN113439418A (zh) | 更改资源状态的方法、系统、终端及存储介质 | |
CN111142897B (zh) | 多应用程序的计数方法、计数装置、存储介质及电子设备 | |
CN116244099B (zh) | 嵌入式系统内进程通讯方法、装置、电子设备和存储介质 | |
CN112055057B (zh) | 一种Web系统动态扩展的方法及系统和设备 |
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 |