本发明专利技术涉及计算机软件技术领域,提供一种消息路由方法、系统及电子设备,该方法首先在消息队列接入后,获取消息队列的当前消息,并确定当前消息的描述信息;然后将当前消息的描述信息与预先配置的规则信息进行比对,确定用于处理当前消息的目标处理器,并将当前消息发送至目标处理器。该路由方法引入预先配置的规则信息,并不需要针对不同MQ编写不同的接入代码和消费代码,使得消息的消费方式不再依靠硬编码实现,而是依靠配置的规则信息实现,如此可以大大降低不同MQ的实现成本,提升对不同来源的消息的有效管理能力,为不同来源的消息的应用提供便利,也可以使重启成本较高的服务具备消息消费热更换、热暂停的能力。热暂停的能力。热暂停的能力。
【技术实现步骤摘要】
消息路由方法、系统及电子设备
[0001]本专利技术涉及计算机软件
,尤其涉及一种消息路由方法、系统及电子设备。
技术介绍
[0002]随着目前市面上消息中间件(MessageQueue,MQ)技术的不断涌现,单个应用往往需要接入多个不同MQ。
[0003]现有的应用接入MQ的实现方式通常是针对不同MQ编写不同的接入代码和消费代码,消息的消费方式依靠硬编码实现,这将导致应用接入多个不同MQ的实现成本高,对不同来源的消息进行有效管理的能力也大大降低。而且,由于生产环境的服务重启成本高低不等,针对重启成本较高的服务,目前也没有较好的手段达到消息消费热更换、热暂停的能力。
[0004]为此,现急需提供一种消息路由方法。
技术实现思路
[0005]本专利技术提供一种消息路由方法、系统及电子设备,用以解决现有技术中存在的缺陷。
[0006]本专利技术提供一种消息路由方法,包括:
[0007]在消息队列接入后,获取所述消息队列的当前消息,并确定所述当前消息的描述信息;
[0008]将所述描述信息与预先配置的规则信息进行比对,确定用于处理所述当前消息的目标处理器,并将所述当前消息发送至所述目标处理器。
[0009]根据本专利技术提供的一种消息路由方法,所述获取所述消息队列的当前消息,之后包括:
[0010]确定所述当前消息的链路标识,并将所述链路标识传入至所述当前消息的消息上下文内。
[0011]根据本专利技术提供的一种消息路由方法,所述将所述当前消息发送至所述目标处理器,之后包括:
[0012]接收所述当前消息的转发请求,所述转发请求包括转发目标;
[0013]将所述消息上下文内的链路标识取出,并将所述链路标识、所述当前消息与所述描述信息进行封装,将封装所得结果发送至所述转发目标。
[0014]根据本专利技术提供的一种消息路由方法,所述将所述当前消息发送至所述目标处理器,之后包括:
[0015]对所述当前消息的生命周期进行监控;
[0016]若所述目标处理器对所述当前消息的处理过程未发生异常,则所述当前消息的生命周期进入注销阶段;
[0017]若所述目标处理器对所述当前消息的处理过程发生异常,则所述当前消息的生命
周期进入异常处理阶段;
[0018]其中,所述异常处理阶段包括:向所述当前消息所属的异常消息队列传递异常信号,以通知所述异常消息队列进行消息重试。
[0019]根据本专利技术提供的一种消息路由方法,所述将所述描述信息与预先配置的规则信息进行比对,确定用于处理所述当前消息的目标处理器,并将所述当前消息发送至所述目标处理器,包括:
[0020]将所述描述信息与所述当前消息传输至路由解析器;
[0021]基于所述路由解析器,将所述描述信息与所述规则信息进行比对,确定所述目标处理器,并将所述当前消息发送至所述目标处理器。
[0022]根据本专利技术提供的一种消息路由方法,所述路由解析器中还配置有日志模块;
[0023]所述日志模块用于记录所述当前消息的消息属性。
[0024]根据本专利技术提供的一种消息路由方法,所述确定所述当前消息的描述信息,之后包括:
[0025]基于所述当前消息的消息上下文以及所述描述信息,判断所述当前消息是否重复消费,并丢弃属于重复消费的当前消息。
[0026]根据本专利技术提供的一种消息路由方法,所述将所述描述信息与预先配置的规则信息进行比对,确定用于处理所述当前消息的目标处理器,之前包括:
[0027]获取所述规则信息对应的配置信息;
[0028]将所述配置信息进行解析,得到规则对象,并将所述规则对象作为所述规则信息进行存储。
[0029]根据本专利技术提供的一种消息路由方法,所述配置信息基于如下步骤配置得到:
[0030]获取消息消费规则以及消息路由规则;
[0031]基于动态加载技术,将所述消息消费规则以及所述消息路由规则转换为消息队列接入代码规则;
[0032]将所述消息队列接入代码规则进行格式配置,得到所述配置信息。
[0033]本专利技术还提供一种消息路由系统,包括:
[0034]获取模块,用于在消息队列接入后,获取所述消息队列的当前消息,并确定所述当前消息的描述信息;
[0035]路由模块,用于将所述描述信息与预先配置的规则信息进行比对,确定用于处理所述当前消息的目标处理器,并将所述当前消息发送至所述目标处理器。
[0036]本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述的消息路由方法。
[0037]本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述的消息路由方法。
[0038]本专利技术还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述的消息路由方法。
[0039]本专利技术提供的消息路由方法、系统及电子设备,该方法首先在消息队列接入后,获取消息队列的当前消息,并确定当前消息的描述信息;然后将当前消息的描述信息与预先
配置的规则信息进行比对,确定用于处理当前消息的目标处理器,并将当前消息发送至目标处理器。该路由方法引入预先配置的规则信息,并不需要针对不同MQ编写不同的接入代码和消费代码,使得消息的消费方式不再依靠硬编码实现,而是依靠配置的规则信息实现,如此可以大大降低不同MQ的实现成本,提升对不同来源的消息的有效管理能力,为不同来源的消息的应用提供便利,也可以使重启成本较高的服务具备消息消费热更换、热暂停的能力。
附图说明
[0040]为了更清楚地说明本专利技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0041]图1是本专利技术提供的消息路由方法的流程示意图之一;
[0042]图2是本专利技术提供的消息路由方法的流程示意图之二;
[0043]图3是本专利技术提供的消息路由系统的结构示意图;
[0044]图4是本专利技术提供的电子设备的结构示意图。
具体实施方式
[0045]为使本专利技术的目的、技术方案和优点更加清楚,下面将结合本专利技术中的附图,对本专利技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0046]MQ又名消息队列,是基于队列与消息传递技术,在网络环境中为应用系统提供同步或异步、可靠的消息传输的支撑性软件系统。MQ利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种消息路由方法,其特征在于,包括:在消息队列接入后,获取所述消息队列的当前消息,并确定所述当前消息的描述信息;将所述描述信息与预先配置的规则信息进行比对,确定用于处理所述当前消息的目标处理器,并将所述当前消息发送至所述目标处理器。2.根据权利要求1所述的消息路由方法,其特征在于,所述获取所述消息队列的当前消息,之后包括:确定所述当前消息的链路标识,并将所述链路标识传入至所述当前消息的消息上下文内。3.根据权利要求2所述的消息路由方法,其特征在于,所述将所述当前消息发送至所述目标处理器,之后包括:接收所述当前消息的转发请求,所述转发请求包括转发目标;将所述消息上下文内的链路标识取出,并将所述链路标识、所述当前消息与所述描述信息进行封装,将封装所得结果发送至所述转发目标。4.根据权利要求1所述的消息路由方法,其特征在于,所述将所述当前消息发送至所述目标处理器,之后包括:对所述当前消息的生命周期进行监控;若所述目标处理器对所述当前消息的处理过程未发生异常,则所述当前消息的生命周期进入注销阶段;若所述目标处理器对所述当前消息的处理过程发生异常,则所述当前消息的生命周期进入异常处理阶段;其中,所述异常处理阶段包括:向所述当前消息所属的异常消息队列传递异常信号,以通知所述异常消息队列进行消息重试。5.根据权利要求1所述的消息路由方法,其特征在于,所述将所述描述信息与预先配置的规则信息进行比对,确定用于处理所述当前消息的目标处理器,并将所述当前消息发送至所述目标处理器,包括:将所述描述信息与所述当前消息传输至路由解析器;...
【专利技术属性】
技术研发人员:周立运,请求不公布姓名,
申请(专利权)人:魔方医药科技苏州有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。