CN112181677A - 业务的处理方法和装置、存储介质、电子装置 - Google Patents
业务的处理方法和装置、存储介质、电子装置 Download PDFInfo
- Publication number
- CN112181677A CN112181677A CN202010911105.8A CN202010911105A CN112181677A CN 112181677 A CN112181677 A CN 112181677A CN 202010911105 A CN202010911105 A CN 202010911105A CN 112181677 A CN112181677 A CN 112181677A
- Authority
- CN
- China
- Prior art keywords
- message
- service
- producer
- consumer
- target
- 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.)
- Pending
Links
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
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种业务的处理方法和装置、存储介质、电子装置。其中,该方法包括:获取目标业务的配置文件,其中,目标业务为需要使用消息中间件的业务,配置文件中记录有消息中间件的配置信息;利用配置信息为消息中间件配置消息生产者和消息消费者;在目标业务运行时,为目标业务启用消息生产者和消息消费者,其中,消息生产者用于为目标业务生成业务消息,消息消费者用于消费消息中间件中的业务消息。本申请解决了相关技术中使用消息中间件需要重复声明的技术问题。
Description
技术领域
本申请涉及互联网领域,具体而言,涉及一种业务的处理方法和装置、存储介质、电子装置。
背景技术
在电商场景中,如果商品服务和订单服务是两个不同的微服务,在下单的过程中订单服务需要调用商品服务进行扣库存操作。按照传统的方式,下单过程要等到调用完毕之后才能返回下单成功,如果网络产生波动等原因使得商品服务扣库存延迟或者失败,会带来较差的用户体验,如果在高并发的场景下,这样的处理显然是不合适的,消息队列的出现可以解决该问题。
消息队列提供一个异步通信机制,消息的发送者不必一直等待到消息被成功处理才返回,而是立即返回。消息中间件负责处理网络通信,如果网络连接不可用,消息被暂存于队列当中,当网络畅通的时候再将消息转发给相应的应用程序或者服务,当然前提是这些服务订阅了该队列。如果在商品服务和订单服务之间使用消息中间件,既可以提高并发量,又降低服务之间的耦合度。
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。在使用RabbitMQ的过程中,存在调用RabbitMQ时需要重复声明的问题;RabbitMQ异常时业务无法恢复。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种业务的处理方法和装置、存储介质、电子装置,以至少解决相关技术中使用消息中间件需要重复声明的技术问题。
根据本申请实施例的一个方面,提供了一种业务的处理方法,包括:获取目标业务的配置文件,其中,目标业务为需要使用消息中间件的业务,配置文件中记录有消息中间件的配置信息;利用配置信息为消息中间件配置消息生产者和消息消费者;在目标业务运行时,为目标业务启用消息生产者和消息消费者,其中,消息生产者用于为目标业务生成业务消息,消息消费者用于消费消息中间件中的业务消息。
根据本申请实施例的另一方面,还提供了一种业务的处理装置,包括:获取单元,用于获取目标业务的配置文件,其中,目标业务为需要使用消息中间件的业务,配置文件中记录有消息中间件的配置信息;配置单元,用于利用配置信息为消息中间件配置消息生产者和消息消费者;处理单元,用于在目标业务运行时,为目标业务启用消息生产者和消息消费者,其中,消息生产者用于为目标业务生成业务消息,消息消费者用于消费消息中间件中的业务消息。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。
根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
在本申请实施例中,利用配置信息为消息中间件配置消息生产者和消息消费者,为目标业务启用消息生产者和消息消费者,消息生产者为目标业务生成业务消息,消息消费者消费消息中间件中的业务消息,使用了类接口化注册方式,使用连接池方案建立连接,解耦了业务方法与逻辑方法,使开发者可以专注开发业务,而不用在业务方法中重复写入生产者和消费者的声明等逻辑,通过配置文件可以自动生成生产者和消费者,同时具有异常恢复和错误重连及异常重发等功能,可以解决相关技术中使用消息中间件需要重复声明的技术问题
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种可选的业务的处理方法的流程图;
图2是根据本申请实施例的一种可选的业务的处理方法的流程图;
图3是根据本申请实施例的一种可选的业务的处理装置的示意图;
以及
图4是根据本申请实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
声明:当一个计算机程序需要调用内存空间时,对内存发出的“占位”指令,称为“声明”,声明一个变量只是将变量名标识符的有关信息告诉编译器,使编译器“认识”该标识符,但声明不一定引起内存的分配。而定义变量意味着给变量分配内存空间,用于存放对应类型的数据,变量名就是对相应的内存单元的命名。
根据本申请实施例的一方面,提供了一种业务的处理方法的方法实施例。图1是根据本申请实施例的一种可选的业务的处理方法的流程图,如图1所示,该方法可以包括以下步骤:
步骤S1,获取目标业务的配置文件,目标业务为需要使用消息中间件的业务,配置文件中记录有消息中间件的配置信息。
步骤S2,利用配置信息为消息中间件配置消息生产者和消息消费者。
可选地,在利用配置信息为消息中间件生成消息生产者和消息消费者之前,可调用构造方法,构造消息中间件的实体;通过提前声明的交换机地址获取交换机的目标连接;为目标连接声明线程池并声明连接守护进程。
可选地,利用配置信息为消息中间件配置消息生产者和消息消费者时,可读取配置文件中的注册类型、队列名、交换机名以及绑定键;调用注册函数,按照配置文件中的注册类型对消息生产者和消息消费者进行注册,并将按照配置文件中的队列名、交换机名以及绑定键将消息生产者和消息消费者关联至消息中间件。
可选地,在为目标业务启用消息生产者和消息消费者之后,可调用运行方法,从提前声明好的通道池获取一个目标通道;利用目标通道与目标业务的交换机进行通信,并将目标通道与消息消费者或消息生产者进行绑定;对目标通道进行异常监听。
步骤S3,在目标业务运行时,为目标业务启用消息生产者和消息消费者,消息生产者用于为目标业务生成业务消息,消息消费者用于消费消息中间件中的业务消息。
可选地,在为目标业务启用消息生产者和消息消费者之后,在监听到目标连接发生异常的情况下,销毁连接池和进程;再次利用配置信息为消息中间件配置消息生产者和消息消费者;在目标业务运行时,为目标业务启用配置的消息生产者和消息消费者。
配置文件中主要为用户需要注册的消费者和生产者使用的注册类型、队列名、交换机名与绑定键,通过这些配置,用户就可以通过之前声明的实体自行决定注册生产者和消费者,用户使用方法通过读取配置文件,通过实体调取注册函数时,实体中就会包含进用户实际需要使用的消费者和生产者信息,可以在发生错误时,帮助用户恢复这些生产者和消费者,在调用函数后,还会为用户生成一个方法接口,完成配置和注册后;用户需要调用run方法,该方法将之前注册的生产者和消费者实例化相当于激活之前声明的实例,同时为这些实例获取一个新的次级连接,即通道channel,并为连接开启连接进程守护,当异常发生时,摧毁该连接,并从连接池中重新获取一条,连接池根据连接总数又会重新声明一条可用连接,这时用户只需要朝接口发送数据,就可以实现向目的交换机的目的队列发送或接受数据了。
通过类声明了一系列构造方法,用户通过声明该类的实体时,通过构造方法自动开启这个类的其他方法,其中具体实施例为:通过声明RabbitMQ类及一系列注册方法与异常监听方法等提供给用户使用,用户通过声明RabbitMQ实体,就可以调用类中声明的方法,在声明实体的同时,就会调取类中的构造方法,构造方法会通过声明实体时填写的交换机地址,获取与该交换机的连接,同时为该连接声明线程池,同时声明连接守护进程,该方法通过监听连接异常进行业务恢复,当监听到连接异常,摧毁连接池并杀死僵尸进程,并通过用户之前声明中所带的信息,重新构造本身,恢复业务,保障与交换机的连接与用户的业务,完成这一系列构造后,返回给用户RabbitMQ实体内容。让用户通过实体进行注册实际业务。
通过上述步骤,利用配置信息为消息中间件配置消息生产者和消息消费者,为目标业务启用消息生产者和消息消费者,消息生产者为目标业务生成业务消息,消息消费者消费消息中间件中的业务消息,使用了类接口化注册方式,使用连接池方案建立连接,解耦了业务方法与逻辑方法,使开发者可以专注开发业务,而不用在业务方法中重复写入生产者和消费者的声明等逻辑,通过配置文件可以自动生成生产者和消费者,同时具有异常恢复和错误重连及异常重发等功能,可以解决相关技术中使用消息中间件需要重复声明的技术问题。
作为一种可选的实施例,下面结合图2所示的内容以将本申请的技术方案应用于RabbitMQ为例进一步详述本申请的技术方案。
本申请提供了一种RabbitMQ的消息队列优化方法,本方法采用类http接口的方式,使RabbitMQ消费者或生产者接口化,使开发者不用关心消费者和生产者的生成,只需要关注业务函数的编写即可,方法可通过配置文件自动生成相应的生产者和消费者(分别指代消息队列的发送方和接收方)。
具体实施方式如下:通过编写RabbitMQ实体类,添加队列地址,同时在构造函数中声明连接消息队列方法,使主函数中声明实体时,自动调用构造方法,建立起与消息队列的连接,同时构造方法中还声明了连接错误监听信道与异常监听方法,在声明了RabbitMQ实体后,实体会通过这个连接建立空闲通道,组成通道连接池,该方法会自动读取配置文件,并生成对应的生产者或消费者实体,开发者可以调用该实体的类方法,即添加相应的业务函数,完成注册生产者或消费者,在开发者添加完方法,调用run方法,该方法会通过RabbitMQ实体中提前声明好的通道池获取一个通道与RabbitMQ服务中交换机进行通信,同时会通过该方法将通道与声明的消费者或生产者进行绑定,即进行通道异常监听(通道是指RabbitMQ连接建立后声明的次级连接),同时会为消费者开启消费线程池,用于帮助消费者快速消费。在此过程中,完全将业务方法与队列声明解耦,开发者只需要写配置文件即可自动生成相应的队列方法,而不需要像传统方法一样,需要每个队列声明重新建立连接,进行队列绑定。
在线上运行过程中,有的时候会遭遇RabbitMQ服务断开,致使连接失效,方法设置了二层监听,首先在实体声明时注册了连接异常监听,其次在每个消费者或生产者调用绑定方法,注册通道异常监听。
当RabbitMQ连接发生异常时,连接会毁去其下属的所有通道,业务层仍从原来的通道中读取数据,致使业务雪崩,该方法通过注册了连接异常监听,当监听到连接异常时,首先确认所有通道是否关闭,若无则关闭所有通道,同时关闭注册时收集的消费者和生产者业务,终结掉业务线程,防止该线程持续消费空通道,并防止僵尸线程的生成,在确认关闭后,唤醒构造函数中连接方法,循环重连RabbitMQ服务,正常情况下,则通过自动重连可以重新获取到连接,如超过配置文件预设时间,如1小时,则调用外部文件方法(linux命令脚本)外部重启RabbitMQ服务,当循环重连成功后,执行构造方法,并将之前注册过的消费者和生产者重启,恢复其中业务。
当单个通道发生异常时,首先检测连接是否关闭,如连接关闭则跳转到连接关闭处理方法,如连接没有关闭,仅通道关闭,则将该通道从连接池删除,重新使用连接声明新的通道,关闭之前的业务,这样仅仅针对其中发生异常的业务进行恢复,并通过绑定开启新的业务,完成业务重建,通过所述方法,即可完成RabbitMQ发生异常时,对核心业务进行恢复,相对于传统RabbitMQ连接方式,添加了业务恢复机制,帮助开发者自动恢复业务,不需要将服务重启,从而增加了系统的健壮性与稳定性。
本方案可应用于需要使用RabbitMQ的平台系统,解决了RabbitMQ在系统中过度耦合和故障恢复的问题。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述业务的处理方法的业务的处理装置。图3是根据本申请实施例的一种可选的业务的处理装置的示意图,如图3所示,该装置可以包括:
获取单元301,用于获取目标业务的配置文件,其中,所述目标业务为需要使用消息中间件的业务,所述配置文件中记录有所述消息中间件的配置信息;
配置单元303,用于利用所述配置信息为所述消息中间件配置消息生产者和消息消费者;
处理单元305,用于在所述目标业务运行时,为所述目标业务启用所述消息生产者和所述消息消费者,其中,所述消息生产者用于为所述目标业务生成业务消息,所述消息消费者用于消费所述消息中间件中的业务消息。
需要说明的是,该实施例中的获取单元301可以用于执行本申请实施例中的步骤S1,该实施例中的配置单元303可以用于执行本申请实施例中的步骤S2,该实施例中的处理单元305可以用于执行本申请实施例中的步骤S3。
通过上述模块,利用配置信息为消息中间件配置消息生产者和消息消费者,为目标业务启用消息生产者和消息消费者,消息生产者为目标业务生成业务消息,消息消费者消费消息中间件中的业务消息,使用了类接口化注册方式,使用连接池方案建立连接,解耦了业务方法与逻辑方法,使开发者可以专注开发业务,而不用在业务方法中重复写入生产者和消费者的声明等逻辑,通过配置文件可以自动生成生产者和消费者,同时具有异常恢复和错误重连及异常重发等功能,可以解决相关技术中使用消息中间件需要重复声明的技术问题。
可选地,所述配置单元包括:读取模块,用于读取所述配置文件中的注册类型、队列名、交换机名以及绑定键;配置模块,用于调用注册函数,按照所述配置文件中的注册类型对所述消息生产者和所述消息消费者进行注册,并将按照所述配置文件中的队列名、交换机名以及绑定键将所述消息生产者和所述消息消费者关联至所述消息中间件。
可选地,所述装置还包括监听单元,用于:在为所述目标业务启用所述消息生产者和所述消息消费者之后,调用运行方法,从提前声明好的通道池获取一个目标通道;利用所述目标通道与所述目标业务的交换机进行通信,并将所述目标通道与所述消息消费者或所述消息生产者进行绑定;对所述目标通道进行异常监听。
可选地,本申请的装置还可包括:构造单元,用于在利用所述配置信息为所述消息中间件生成消息生产者和消息消费者之前,调用构造方法,构造所述消息中间件的实体;通过提前声明的交换机地址获取交换机的目标连接;为所述目标连接声明线程池并声明连接守护进程。
可选地,本申请的装置还可包括:重构单元,用于:在为所述目标业务启用所述消息生产者和所述消息消费者之后,在监听到所述目标连接发生异常的情况下,销毁连接池和进程;再次利用所述配置信息为所述消息中间件配置消息生产者和消息消费者;在所述目标业务运行时,为所述目标业务启用配置的消息生产者和消息消费者。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在相应的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的另一个方面,还提供了一种用于实施上述业务的处理方法的服务器或终端。
图4是根据本申请实施例的一种终端的结构框图,如图4所示,该终端可以包括:一个或多个(图4中仅示出一个)处理器201、存储器203、以及传输装置205,如图4所示,该终端还可以包括输入输出设备207。
其中,存储器203可用于存储软件程序以及模块,如本申请实施例中的业务的处理方法和装置对应的程序指令/模块,处理器201通过运行存储在存储器203内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的业务的处理方法。存储器203可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器203可进一步包括相对于处理器201远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置205用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置205包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置205为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器203用于存储应用程序。
处理器201可以通过传输装置205调用存储器203存储的应用程序,以执行下述步骤:
获取目标业务的配置文件,其中,目标业务为需要使用消息中间件的业务,配置文件中记录有消息中间件的配置信息;
利用配置信息为消息中间件配置消息生产者和消息消费者;
在目标业务运行时,为目标业务启用消息生产者和消息消费者,其中,消息生产者用于为目标业务生成业务消息,消息消费者用于消费消息中间件中的业务消息。
处理器201还用于执行下述步骤:
读取配置文件中的注册类型、队列名、交换机名以及绑定键;
调用注册函数,按照配置文件中的注册类型对消息生产者和消息消费者进行注册,并将按照配置文件中的队列名、交换机名以及绑定键将消息生产者和消息消费者关联至消息中间件。
采用本申请实施例,利用配置信息为消息中间件配置消息生产者和消息消费者,为目标业务启用消息生产者和消息消费者,消息生产者为目标业务生成业务消息,消息消费者消费消息中间件中的业务消息,使用了类接口化注册方式,使用连接池方案建立连接,解耦了业务方法与逻辑方法,使开发者可以专注开发业务,而不用在业务方法中重复写入生产者和消费者的声明等逻辑,通过配置文件可以自动生成生产者和消费者,同时具有异常恢复和错误重连及异常重发等功能,可以解决相关技术中使用消息中间件需要重复声明的技术问题。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图4所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图4其并不对上述电子装置的结构造成限定。例如,终端还可包括比图4中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图4所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行业务的处理方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
获取目标业务的配置文件,其中,目标业务为需要使用消息中间件的业务,配置文件中记录有消息中间件的配置信息;
利用配置信息为消息中间件配置消息生产者和消息消费者;
在目标业务运行时,为目标业务启用消息生产者和消息消费者,其中,消息生产者用于为目标业务生成业务消息,消息消费者用于消费消息中间件中的业务消息。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
读取配置文件中的注册类型、队列名、交换机名以及绑定键;
调用注册函数,按照配置文件中的注册类型对消息生产者和消息消费者进行注册,并将按照配置文件中的队列名、交换机名以及绑定键将消息生产者和消息消费者关联至消息中间件。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种业务的处理方法,其特征在于,包括:
获取目标业务的配置文件,其中,所述目标业务为需要使用消息中间件的业务,所述配置文件中记录有所述消息中间件的配置信息;
利用所述配置信息为所述消息中间件配置消息生产者和消息消费者;
在所述目标业务运行时,为所述目标业务启用所述消息生产者和所述消息消费者,其中,所述消息生产者用于为所述目标业务生成业务消息,所述消息消费者用于消费所述消息中间件中的业务消息。
2.根据权利要求1所述的方法,其特征在于,利用所述配置信息为所述消息中间件配置消息生产者和消息消费者包括:
读取所述配置文件中的注册类型、队列名、交换机名以及绑定键;
调用注册函数,按照所述配置文件中的注册类型对所述消息生产者和所述消息消费者进行注册,并将按照所述配置文件中的队列名、交换机名以及绑定键将所述消息生产者和所述消息消费者关联至所述消息中间件。
3.根据权利要求1所述的方法,其特征在于,在为所述目标业务启用所述消息生产者和所述消息消费者之后,所述方法还包括:
调用运行方法,从提前声明好的通道池获取一个目标通道;
利用所述目标通道与所述目标业务的交换机进行通信,并将所述目标通道与所述消息消费者或所述消息生产者进行绑定;
对所述目标通道进行异常监听。
4.根据权利要求1所述的方法,其特征在于,在利用所述配置信息为所述消息中间件生成消息生产者和消息消费者之前,所述方法还包括:
调用构造方法,构造所述消息中间件的实体;
通过提前声明的交换机地址获取交换机的目标连接;
为所述目标连接声明线程池并声明连接守护进程。
5.根据权利要求4所述的方法,其特征在于,在为所述目标业务启用所述消息生产者和所述消息消费者之后,所述方法还包括:
在监听到所述目标连接发生异常的情况下,销毁连接池和进程;
再次利用所述配置信息为所述消息中间件配置消息生产者和消息消费者;
在所述目标业务运行时,为所述目标业务启用配置的消息生产者和消息消费者。
6.一种业务的处理装置,其特征在于,包括:
获取单元,用于获取目标业务的配置文件,其中,所述目标业务为需要使用消息中间件的业务,所述配置文件中记录有所述消息中间件的配置信息;
配置单元,用于利用所述配置信息为所述消息中间件配置消息生产者和消息消费者;
处理单元,用于在所述目标业务运行时,为所述目标业务启用所述消息生产者和所述消息消费者,其中,所述消息生产者用于为所述目标业务生成业务消息,所述消息消费者用于消费所述消息中间件中的业务消息。
7.根据权利要求6所述的装置,其特征在于,所述配置单元包括:
读取模块,用于读取所述配置文件中的注册类型、队列名、交换机名以及绑定键;
配置模块,用于调用注册函数,按照所述配置文件中的注册类型对所述消息生产者和所述消息消费者进行注册,并将按照所述配置文件中的队列名、交换机名以及绑定键将所述消息生产者和所述消息消费者关联至所述消息中间件。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括监听单元,用于:
在为所述目标业务启用所述消息生产者和所述消息消费者之后,调用运行方法,从提前声明好的通道池获取一个目标通道;
利用所述目标通道与所述目标业务的交换机进行通信,并将所述目标通道与所述消息消费者或所述消息生产者进行绑定;
对所述目标通道进行异常监听。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至5任一项中所述的方法。
10.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行上述权利要求1至5任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010911105.8A CN112181677A (zh) | 2020-09-02 | 2020-09-02 | 业务的处理方法和装置、存储介质、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010911105.8A CN112181677A (zh) | 2020-09-02 | 2020-09-02 | 业务的处理方法和装置、存储介质、电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112181677A true CN112181677A (zh) | 2021-01-05 |
Family
ID=73924691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010911105.8A Pending CN112181677A (zh) | 2020-09-02 | 2020-09-02 | 业务的处理方法和装置、存储介质、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112181677A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113064742A (zh) * | 2021-04-12 | 2021-07-02 | 平安国际智慧城市科技股份有限公司 | 消息处理方法、装置、设备及存储介质 |
CN113626226A (zh) * | 2021-10-13 | 2021-11-09 | 云和恩墨(北京)信息技术有限公司 | 数据通信方法及装置、处理器、计算机存储介质 |
CN113656195A (zh) * | 2021-08-13 | 2021-11-16 | 广州虎牙科技有限公司 | 服务消息通道管理方法、装置和电子设备 |
CN114675908A (zh) * | 2022-05-27 | 2022-06-28 | 武汉中科通达高新技术股份有限公司 | 业务数据处理系统、方法、计算机设备及存储介质 |
CN115103017A (zh) * | 2022-06-13 | 2022-09-23 | 珠海格力电器股份有限公司 | 一种消息中间件处理系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468708A (zh) * | 2014-10-28 | 2015-03-25 | 用友软件股份有限公司 | 数据协同方法和数据协同装置 |
CN105094956A (zh) * | 2015-06-02 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 一种基于通道隔离的业务分配方法和装置 |
CN106302473A (zh) * | 2016-08-18 | 2017-01-04 | 深圳市金证科技股份有限公司 | 一种SQL Server数据库的复制维护方法及系统 |
CN110032459A (zh) * | 2019-04-22 | 2019-07-19 | 深圳乐信软件技术有限公司 | 消息队列配置方法、装置、计算机设备及存储介质 |
CN111447143A (zh) * | 2020-03-31 | 2020-07-24 | 苏宁云计算有限公司 | 业务服务数据传输方法、装置、计算机设备和存储介质 |
-
2020
- 2020-09-02 CN CN202010911105.8A patent/CN112181677A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468708A (zh) * | 2014-10-28 | 2015-03-25 | 用友软件股份有限公司 | 数据协同方法和数据协同装置 |
CN105094956A (zh) * | 2015-06-02 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 一种基于通道隔离的业务分配方法和装置 |
CN106302473A (zh) * | 2016-08-18 | 2017-01-04 | 深圳市金证科技股份有限公司 | 一种SQL Server数据库的复制维护方法及系统 |
CN110032459A (zh) * | 2019-04-22 | 2019-07-19 | 深圳乐信软件技术有限公司 | 消息队列配置方法、装置、计算机设备及存储介质 |
CN111447143A (zh) * | 2020-03-31 | 2020-07-24 | 苏宁云计算有限公司 | 业务服务数据传输方法、装置、计算机设备和存储介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113064742A (zh) * | 2021-04-12 | 2021-07-02 | 平安国际智慧城市科技股份有限公司 | 消息处理方法、装置、设备及存储介质 |
CN113656195A (zh) * | 2021-08-13 | 2021-11-16 | 广州虎牙科技有限公司 | 服务消息通道管理方法、装置和电子设备 |
CN113656195B (zh) * | 2021-08-13 | 2024-02-27 | 广州虎牙科技有限公司 | 服务消息通道管理方法、装置和电子设备 |
CN113626226A (zh) * | 2021-10-13 | 2021-11-09 | 云和恩墨(北京)信息技术有限公司 | 数据通信方法及装置、处理器、计算机存储介质 |
CN113626226B (zh) * | 2021-10-13 | 2022-02-22 | 云和恩墨(北京)信息技术有限公司 | 数据通信方法及装置、处理器、计算机存储介质 |
CN114675908A (zh) * | 2022-05-27 | 2022-06-28 | 武汉中科通达高新技术股份有限公司 | 业务数据处理系统、方法、计算机设备及存储介质 |
CN114675908B (zh) * | 2022-05-27 | 2022-08-26 | 武汉中科通达高新技术股份有限公司 | 业务数据处理系统、方法、计算机设备及存储介质 |
CN115103017A (zh) * | 2022-06-13 | 2022-09-23 | 珠海格力电器股份有限公司 | 一种消息中间件处理系统及方法 |
CN115103017B (zh) * | 2022-06-13 | 2023-12-08 | 珠海格力电器股份有限公司 | 一种消息中间件处理系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112181677A (zh) | 业务的处理方法和装置、存储介质、电子装置 | |
US20220179682A1 (en) | Task processing method, apparatus, and system based on distributed system | |
CN111163129A (zh) | 一种基于跨链网络的资源处理方法及装置 | |
CN109743358A (zh) | 异步消息接口熔断控制方法、装置、计算机设备及存储介质 | |
CN109558160A (zh) | 升级方法、嵌入式系统 | |
CN108572986B (zh) | 一种数据更新的方法及节点设备 | |
CN114257551A (zh) | 一种分布式限流的方法及系统、存储介质 | |
CN111064626B (zh) | 配置更新方法、装置、服务器及可读存储介质 | |
CN105847231A (zh) | 服务发布方法、装置及系统 | |
CN111784329A (zh) | 业务数据的处理方法和装置、存储介质、电子装置 | |
CN110457132B (zh) | 一种功能对象的创建方法、装置和终端设备 | |
US8719622B2 (en) | Recording and preventing crash in an appliance | |
CN113347257A (zh) | 通信方法、装置、服务器及存储介质 | |
CN113179301A (zh) | 文件的下载方法和装置、存储介质、电子装置 | |
CN106874073A (zh) | Soa架构下事务的实现方法和装置 | |
CN112769945B (zh) | 分布式服务调用方法及装置 | |
CN111158987A (zh) | 微服务架构的健康检查方法及装置 | |
CN104657240B (zh) | 多内核操作系统的失效控制方法及装置 | |
CN110502238A (zh) | 一种前后端联调的方法及装置 | |
CN108270832B (zh) | 一种故障重放方法和装置 | |
CN111182070B (zh) | 应用数据备份和恢复方法、装置、设备及存储介质 | |
CN113434234A (zh) | 页面跳转方法、装置、计算机可读存储介质及处理器 | |
CN113986423A (zh) | 一种弹框显示方法、系统及存储介质和终端设备 | |
CN114422358A (zh) | Api网关配置更新方法及设备 | |
CN111625375A (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 |