技术新讯 > 电子通信装置的制造及其应用技术 > 一种流量回放工具和方法与流程  >  正文

一种流量回放工具和方法与流程

  • 国知局
  • 2024-08-02 14:12:32

本发明涉及银行项目报文回放,具体涉及一种流量回放工具和方法。

背景技术:

1、银行有数量众多的上游渠道系统,除了部分系统(如treats、ghss等)外,其余绝大部分系统及其交易,在新旧并行期都通过报文整合层(online integration layer,oil)/文件整合层(file integration layer,fil)与旧核心系统和新核心系统(hub&mca)进行交互。

2、在新旧核心业务并行sit(系统集成测试)测试阶段,无法在测试环境中部署全量上游系统发起交易,因此需要有报文回放工具(即流量回放工具)(upstream mq/apisimulator(replay tool))模拟上游系统向oil发送交易请求报文,触发hub&mca交易处理,模拟新旧业务并行;而通过文件发起的批量交易的回放,不由报文回放工具负责,而是通过手工拷贝文件的方式进行;而且目前的流量回放工具发给对应的oil或hub接口地址/队列时,需要对应的配置相应的多个接口,效率低,而且无法高效地实现按时序发给对应的oil或hub接口地址/队列。

技术实现思路

1、针对上述问题,本发明的一个目的是提供一种流量回放工具,该流量回放工具通过对日志报文进行预处理,能把日志中的几十万、甚至上百万条报文(分属于600+接口)通过一个通用接口按时序、正确地发给对应的oil或hub接口地址/队列,且满足效率要求。

2、本发明的第二个目的是提供一种流量回放方法。

3、本发明所采用的第一个技术方案是:一种流量回放工具,包括应用层、服务层和数据层;

4、所述应用层用于从各接口采集日志报文,并配置接口预处理规则和一个通用接口,基于所述接口预处理规则对日志报文中的oil日志报文和hub日志报文进行预处理,获得回放请求报文,将所述回放请求报文按交易时间进行排序后存储至所述数据层,以及发出报文发送指令;

5、所述服务层用于接收应用层发出的报文发送指令,将所述回放请求报文通过所述通用接口按时序发给对应的接口地址/队列;

6、所述数据层用于数据存储、数据查询。

7、优选地,所述应用层包括报文预处理模块、报文案例配置模块和报文发送模块;

8、所述报文预处理模块用于从各接口采集日志报文,配置接口预处理规则,以及基于所述接口预处理规则对oil日志报文和hub日志报文进行预处理,获得回放请求报文,将所述回放请求报文按交易时间进行排序后,存储到数据层;

9、所述报文案例配置模块用于配置一个通用接口、组件和案例;

10、所述报文发送模块用于发出报文发送指令,所述报文发送指令包括执行规划和所述回放请求报文。

11、优选地,所述报文预处理模块执行以下操作对oil日志报文和hub日志报文进行预处理:

12、s1、配置接口预处理规则,所述接口预处理规则包括报文拼装规则和数据替换规则;

13、s2、采集日志报文,所述日志报文包括hub日志报文和oil日志报文;

14、s3、将所述oil日志报文和所述hub日志报文中的非紧耦合接口报文直接采用所述数据替换规则进行预处理,以及将所述hub日志报文中的紧耦合接口报文先采用所述报文拼装规则进行预处理,再采用数据替换规则进行预处理,获得回放请求报文;

15、s4、将所述回放请求报文按交易时间进行排序后存储至数据层。

16、优选地,所述报文预处理模块包括预处理规则配置子模块、oil日志报文预处理子模块和hub日志报文预处理子模块;

17、所述预处理规则配置子模块用于获取oil日志报文和hub日志报文,并针对每个接口单独配置接口预处理规则,接口预处理规则包括报文拼装规则和数据替换规则;

18、所述oil日志报文预处理子模块用于基于所述数据替换规则对oil日志报文进行预处理,获得回放请求报文;

19、所述hub日志报文预处理子模块用于基于所述接口预处理规则对hub日志报文进行预处理,获得回放请求报文。

20、优选地,所述oil日志报文预处理子模块执行以下操作:

21、从oil日志文件中逐条读取报文;

22、判断当前报文所属接口;

23、读取该接口的数据替换规则,基于该数据替换规则中配置的替换值来替换当前报文中该字段的现有值,获得回放请求报文。

24、优选地,所述hub日志报文预处理子模块执行以下操作:

25、从hub日志报文中筛选出紧耦合接口报文,将每条紧耦合接口报文按每个接口的报文拼装规则整合成oil日志报文的格式;判断当前报文所属接口,基于该接口的数据替换规则中配置的替换值来替换当前报文中该字段的现有值,获得回放请求报文;

26、读取hub日志报文中的每条非紧耦合接口报文,判断当前报文所属接口,基于该接口的数据替换规则中配置的替换值来替换当前报文中该字段的现有值,获得回放请求报文;将所有回放请求报文按交易时间进行排序后存储至数据层。

27、优选地,所述报文案例配置模块包括接口配置子模块、组件配置子模块和案例配置子模块;

28、所述接口配置子模块用于配置一个通用接口;

29、所述组件配置子模块用于配置组件;

30、所述案例配置子模块用于通过组件为所述通用接口生成一个执行案例。

31、优选地,所述报文发送模块包括执行规划子模块和报文发送子模块;

32、所述执行规划子模块用于配置执行规划;

33、所述报文发送子模块用于发出报文发送指令,报文发送指令包括执行规划和回放请求报文。

34、优选地,所述服务层包括权限管理模块、配置管理模块、任务调度模块和发送执行机;

35、所述权限管理模块用于权限控制;

36、所述配置管理模块用于进行各项参数配置;

37、所述任务调度模块用于根据预设的调度规则自动调度相关报文发送任务;

38、所述发送执行机用于接收应用层发出的报文发送指令,通过所述通用接口将回放请求报文按时序发给对应的接口地址/队列。

39、本发明所采用的第二个技术方案是:一种基于如第一个技术方案中所述流量回放工具的流量回放方法,包括以下步骤:

40、s100:从各接口采集日志报文,并配置接口预处理规则和一个通用接口;所述日志报文包括oil日志报文和hub日志报文,所述接口预处理规则包括报文拼装规则和数据替换规则;

41、s200:将所述oil日志报文和所述hub日志报文中的非紧耦合接口报文直接采用所述数据替换规则进行预处理,以及将所述hub日志报文中的紧耦合接口报文先采用所述报文拼装规则进行预处理,再使用所述数据替换规则进行预处理,获得回放请求报文;

42、s300:将所述回放请求报文按交易时间进行排序,通过所述通用接口将所述回放请求报文按时序发给对应的接口地址/队列。

43、上述技术方案的有益效果:

44、(1)本发明公开的一种流量回放工具通过对日志报文进行预处理,能把日志中的几十万、甚至上百万条报文(分属于600+接口)通过一个通用接口按时序、正确地发给对应的oil或hub接口地址/队列,且满足效率要求。

45、(2)本发明公开的一种流量回放工具支持包括mq、http在内的银行常用通讯协议,支持包括json、定长、组合报文(定长+变长、定长+swift)等各种报文类型,支持多执行机并行执行,各执行机支持多线程、并发执行,保证报文发送速度,在部分银行用于压力测试场景;且报文数据支持包括sql语句等在内的动态数据来源,支持子案例模式;可一键完成将几万、几十万报文转化为可执行接口子案例,并按时序排列,并发执行可按顺序取数、执行;以及记录报文日志,可计算报文收发执行时长,辅助判断后端系统工作是否正常,用于后续发送速度的动态优化。

本文地址:https://www.jishuxx.com/zhuanli/20240801/242032.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。