System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种预发布环境下的消息转发方法和装置。
技术介绍
1、目前,互联网及各类it企业应用需要保持7*24小时服务可用。系统发布更新前需要用预发布环境验证更新内容有效性,验证系统更新达到预期后才可以正式将更新发布到生产环境。防止因生产环境与测试环境差异导致的上线事故。受消息中间件机制的影响,由预发布环境发起的业务验证,异步消息很难准确推送到预发环境的服务上,无法验证完整业务链路,带来上线风险。
技术实现思路
1、有鉴于此,本申请实施例提供一种预发布环境下的消息转发方法和装置,能够解决现有的受消息中间件机制的影响,由预发布环境发起的业务验证测试,异步消息很难准确推送到预发环境的服务上,无法验证完整业务链路,带来上线风险的问题。
2、为实现上述目的,根据本申请实施例的一个方面,提供了一种预发布环境下的消息转发方法,包括:
3、响应于消息转发请求,获取对应的业务标识,基于业务标识调用对应的消息队列接口,以遍历对应的消息队列获取消息内容和消息处理类名;
4、调用规则过滤器,以基于消息内容和消息处理类名过滤得到目标消息;
5、调用协议转换器以将目标消息转换为远程过程调用协议报文,进而调用远程服务以将远程过程调用协议报文转发至预发布环境下的目标实例以执行测试进程。
6、可选地,执行测试进程,包括:
7、调用预发布环境下的目标实例,以对接收到的远程过程调用协议报文进行反序列化,得到消息队列协议报文;
>8、获取远程过程调用协议报文携带的消息处理类名,进而路由至对应的处理类以处理消息队列协议报文。
9、可选地,调用规则过滤器,以基于消息内容和消息处理类名过滤得到目标消息,包括:
10、基于消息队列中的各个消息的消息内容和消息处理类名执行规则过滤器的如下过滤规则中的至少一者:
11、判断配置总开关是否开启;
12、判断当前测试时间是否在预设生效时间内;
13、判断是否命中预设主题;
14、判断是否命中预设处理类;
15、判断是否命中用户唯一标识;
16、若所执行的过滤规则的判断结果均为是,则将消息队列中对应的消息确定为过滤得到的目标消息。
17、可选地,调用协议转换器以将目标消息转换为远程过程调用协议报文,包括:
18、调用协议转换器,以向目标消息中添加对应的业务标识和对应的消息处理类名,以生成远程过程调用协议报文。
19、可选地,调用远程服务以将远程过程调用协议报文转发至预发布环境下的目标实例,包括:
20、获取远程过程调用协议报文携带的消息处理类名,进而将远程过程调用协议报文转发至预发布环境下的目标实例中对应的处理类。
21、可选地,在基于消息内容和消息处理类名过滤得到目标消息之后,方法还包括:
22、为目标消息标记转发标识。
23、另外,本申请还提供了一种预发布环境下的消息转发装置,包括:
24、获取单元,被配置成响应于消息转发请求,获取对应的业务标识,基于业务标识调用对应的消息队列接口,以遍历对应的消息队列获取消息内容和消息处理类名;
25、过滤单元,被配置成调用规则过滤器,以基于消息内容和消息处理类名过滤得到目标消息;
26、转换单元,被配置成调用协议转换器以将目标消息转换为远程过程调用协议报文,进而调用远程服务以将远程过程调用协议报文转发至预发布环境下的目标实例以执行测试进程。
27、可选地,转换单元进一步被配置成:
28、调用预发布环境下的目标实例,以对接收到的远程过程调用协议报文进行反序列化,得到消息队列协议报文;
29、获取远程过程调用协议报文携带的消息处理类名,进而路由至对应的处理类以处理消息队列协议报文。
30、可选地,过滤单元进一步被配置成:
31、基于消息队列中的各个消息的消息内容和消息处理类名执行规则过滤器的如下过滤规则中的至少一者:
32、判断配置总开关是否开启;
33、判断当前测试时间是否在预设生效时间内;
34、判断是否命中预设主题;
35、判断是否命中预设处理类;
36、判断是否命中用户唯一标识;
37、若所执行的过滤规则的判断结果均为是,则将消息队列中对应的消息确定为过滤得到的目标消息。
38、可选地,转换单元进一步被配置成:
39、调用协议转换器,以向目标消息中添加对应的业务标识和对应的消息处理类名,以生成远程过程调用协议报文。
40、可选地,预发布环境下的消息转发装置还包括转发单元,被配置成:
41、获取远程过程调用协议报文携带的消息处理类名,进而将远程过程调用协议报文转发至预发布环境下的目标实例中对应的处理类。
42、可选地,预发布环境下的消息转发装置还包括标记单元,被配置成:
43、为目标消息标记转发标识。
44、另外,本申请还提供了一种测试电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述的预发布环境下的消息转发方法。
45、另外,本申请还提供了一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现如上述的预发布环境下的消息转发方法。
46、上述专利技术中的一个实施例具有如下优点或有益效果:本申请通过响应于消息转发请求,获取对应的业务标识,基于业务标识调用对应的消息队列接口,以遍历对应的消息队列获取消息内容和消息处理类名;调用规则过滤器,以基于消息内容和消息处理类名过滤得到目标消息;调用协议转换器以将目标消息转换为远程过程调用协议报文,进而调用远程服务以将远程过程调用协议报文转发至预发布环境下的目标实例以执行测试进程。通过消息过滤,将过滤得到的需要进行测试的消息经协议转换后再转发,可以动态控制异步消息推送至指定环境服务器,实现精确验证完整业务链路,降低上线风险,并减少消息集群及业务应用搭建的硬件及维护成本。
47、上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
本文档来自技高网...【技术保护点】
1.一种预发布环境下的消息转发方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述执行测试进程,包括:
3.根据权利要求1所述的方法,其特征在于,所述调用规则过滤器,以基于所述消息内容和所述消息处理类名过滤得到目标消息,包括:
4.根据权利要求1所述的方法,其特征在于,所述调用协议转换器以将所述目标消息转换为远程过程调用协议报文,包括:
5.根据权利要求1所述的方法,其特征在于,所述调用远程服务以将所述远程过程调用协议报文转发至预发布环境下的目标实例,包括:
6.根据权利要求1所述的方法,其特征在于,在所述基于所述消息内容和所述消息处理类名过滤得到目标消息之后,所述方法还包括:
7.一种预发布环境下的消息转发装置,其特征在于,包括:
8.根据权利要求7所述的装置,其特征在于,所述转换单元进一步被配置成:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6中任一所述的
...【技术特征摘要】
1.一种预发布环境下的消息转发方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述执行测试进程,包括:
3.根据权利要求1所述的方法,其特征在于,所述调用规则过滤器,以基于所述消息内容和所述消息处理类名过滤得到目标消息,包括:
4.根据权利要求1所述的方法,其特征在于,所述调用协议转换器以将所述目标消息转换为远程过程调用协议报文,包括:
5.根据权利要求1所述的方法,其特征在于,所述调用远程服务以将所述远程过程调用协议报文转发至...
【专利技术属性】
技术研发人员:王天琦,张栋芳,
申请(专利权)人:重庆京东盛际小额贷款有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。