一种消息队列的消息转发方法及设备技术

技术编号:25270175 阅读:22 留言:0更新日期:2020-08-14 23:03
本申请的目的是提供一种消息队列的消息转发方法及设备,本申请通过对消息队列中的所有消息进行解析匹配,将满足转发条件的目标消息转发至预发环境中的目标消息接收器上;将所述消息接收器上的目标消息进行参数还原,得到本地服务调用的参数;通过预发布实例执行所述本地服务调用的参数,并将执行结果返回给线上实例的消息执行器,其中,所述预发布实例在所述预发环境中。从而消息队列的消息处理的逻辑升级不再需要限制某些服务器的消费,能够对消息队列消息进行过滤,从而针对性的不影响全部的消息处理。

【技术实现步骤摘要】
一种消息队列的消息转发方法及设备
本申请涉及计算机领域,尤其涉及一种消息队列的消息转发方法及设备。
技术介绍
在服务端开发过程中,如果对消息队列(MQ)消息处理进行逻辑变更,可以使用以下方式进行处理:开启预发环境的MQ消费或将MQ消息的线上服务限制消费,所有的MQ消费都经过预发环境处理。但通过限制消费的方式升级MQ处理有以下缺点:逻辑变更在预发未经过验证,直接全部接管线上MQ处理会有失败的风险;预发环境一般不太稳定,比如服务器的配置和数量较少,容易造成MQ积压等问题;MQ限制消费增加维护成本和风险,如需要手动操作,完成后需要及时切换回去。
技术实现思路
本申请的一个目的是提供一种消息队列的消息转发方法及设备,解决现有技术中MQ的处理的逻辑需要限制某些服务器的消费的问题。根据本申请的一个方面,提供了一种消息队列的消息转发方法,该方法包括:对消息队列中的所有消息进行解析匹配,将满足转发条件的目标消息转发至预发环境中的目标消息接收器上;将所述消息接收器上的目标消息进行参数还原,得到本地服务调用的参数;通过预发布实例执行所述本地服务调用的参数,并将执行结果返回给线上实例的消息执行器,其中,所述预发布实例在所述预发环境中。进一步地,对消息队列中的所有消息进行解析匹配,将满足转发条件的目标消息转发至预发环境中的目标消息接收器上,包括:在消息执行器上对消息队列中的所有消息进行数据结构的解析,根据解析结果及配置条件过滤消息的数据结构中的内容,得到过滤后的消息;>在消息执行器上根据下发的配置规则判断所过滤后的消息是否满足转发条件,若是,则为目标消息,将所述目标消息转发至预发环境中的目标消息接收器上。进一步地,所述方法包括:根据DUCC配置管理下发配置规则,其中,所述配置规则包括消息被转发到的IP地址及转发的过滤条件。进一步地,在消息执行器上根据下发的配置规则判断所过滤后的消息是否满足转发条件之后,包括:若所述消息被转发到的IP地址为空或所述转发的过滤条件为空,则所述消息执行器停止将所述过滤后的消息转发至预发环境中的目标消息接收器上。进一步地,所述方法包括:若解析匹配过程中发生HTTP异常或所述预发布实例执行异常,则在线上抛出异常信息。进一步地,将满足转发条件的目标消息转发至预发环境中的目标消息接收器上,包括:将满足转发条件的目标消息通过预发提供的HTTP接口转发至预发环境中的目标消息接收器上,其中,所述预发提供的HTTP接口在线上环境时处于关闭状态。进一步地,所述方法包括:根据DUCC配置管理内的配置规则的更新将最新配置下发至所有预发布实例及线上实例。根据本申请一个方面,还提供一种消息队列的消息转发的设备,该设备包括:匹配装置,用于对消息队列中的所有消息进行解析匹配,将满足转发条件的目标消息转发至预发环境中的目标消息接收器上;还原装置,用于将所述消息接收器上的目标消息进行参数还原,得到本地服务调用的参数;返回装置,用于通过预发布实例执行所述本地服务调用的参数,并将执行结果返回给线上实例的消息执行器,其中,所述预发布实例在所述预发环境中。根据本申请又一个方面,还提供一种消息队列的消息转发的设备,所述设备包括:一个或多个处理器;以及存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述所述方法的操作。根据本申请再一个方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如前述所述的方法。与现有技术相比,本申请通过对消息队列中的所有消息进行解析匹配,将满足转发条件的目标消息转发至预发环境中的目标消息接收器上;将所述消息接收器上的目标消息进行参数还原,得到本地服务调用的参数;通过预发布实例执行所述本地服务调用的参数,并将执行结果返回给线上实例的消息执行器,其中,所述预发布实例在所述预发环境中。从而消息队列的消息处理的逻辑升级不再需要限制某些服务器的消费,能够对消息队列消息进行过滤,从而针对性的不影响全部的消息处理。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1示出根据本申请的一个方面提供的一种消息队列的消息转发方法的流程示意图;图2示出本申请一具体实施例中的MQ消息转发的系统框架示意图;图3示出本申请又一个方面提供的一种消息队列的消息转发的设备的结构示意图。附图中相同或相似的附图标记代表相同或相似的部件。具体实施方式下面结合附图对本申请作进一步详细描述。在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如中央处理器(CentralProcessingUnit,CPU))、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccessMemory,RAM)和/或非易失性内存等形式,如只读存储器(ReadOnlyMemory,ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-ChangeRAM,PRAM)、静态随机存取存储器(StaticRandomAccessMemory,SRAM)、动态随机存取存储器(DynamicRandomAccessMemory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(ElectricallyErasableProgrammableRead-OnlyMemory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CompactDiscRead-OnlyMemory,CD-ROM)、数字多功能光盘(DigitalVersatileDisk,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。图1示出根据本申请的一个方面提供的一种消息队列的消息转发方法的流程示意图,该方法包括:步骤S11~步骤S13,在步骤S11中,对消息队列中的所有消息进行解析匹配,将满足转发条件的目标消息转发至预发环境中的目标消息接收器上;在此,可以通过引入隔离转发框架JAR包,在对应消息任务/消息中间件系统(比如Worker/JMQ)上消息队列中的每条消息通过解析匹配,将满足转发条件的消息作为目标消息交给预发环境处理的方式,从而解决任务消息开发测试问题。本文档来自技高网...

【技术保护点】
1.一种消息队列的消息转发方法,其特征在于,所述方法包括:/n对消息队列中的所有消息进行解析匹配,将满足转发条件的目标消息转发至预发环境中的目标消息接收器上;/n将所述消息接收器上的目标消息进行参数还原,得到本地服务调用的参数;/n通过预发布实例执行所述本地服务调用的参数,并将执行结果返回给线上实例的消息执行器,其中,所述预发布实例在所述预发环境中。/n

【技术特征摘要】
1.一种消息队列的消息转发方法,其特征在于,所述方法包括:
对消息队列中的所有消息进行解析匹配,将满足转发条件的目标消息转发至预发环境中的目标消息接收器上;
将所述消息接收器上的目标消息进行参数还原,得到本地服务调用的参数;
通过预发布实例执行所述本地服务调用的参数,并将执行结果返回给线上实例的消息执行器,其中,所述预发布实例在所述预发环境中。


2.根据权利要求1所述的方法,其特征在于,对消息队列中的所有消息进行解析匹配,将满足转发条件的目标消息转发至预发环境中的目标消息接收器上,包括:
在消息执行器上对消息队列中的所有消息进行数据结构的解析,根据解析结果及配置条件过滤消息的数据结构中的内容,得到过滤后的消息;
在消息执行器上根据下发的配置规则判断所过滤后的消息是否满足转发条件,若是,则为目标消息,将所述目标消息转发至预发环境中的目标消息接收器上。


3.根据权利要求2所述的方法,其特征在于,所述方法包括:
根据DUCC配置管理下发配置规则,其中,所述配置规则包括消息被转发到的IP地址及转发的过滤条件。


4.根据权利要求3所述的方法,其特征在于,在消息执行器上根据下发的配置规则判断所过滤后的消息是否满足转发条件之后,包括:
若所述消息被转发到的IP地址为空或所述转发的过滤条件为空,则所述消息执行器停止将所述过滤后的消息转发至预发环境中的目标消息接收器上。


5.根据权利要求1所述的方法,其特征在于,所述方法包括:...

【专利技术属性】
技术研发人员:张亚博
申请(专利权)人:上海悦易网络信息技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1