[发明专利]一种异步消息的一致性测试方法及装置在审
申请号: | 202010235348.4 | 申请日: | 2020-03-30 |
公开(公告)号: | CN111464384A | 公开(公告)日: | 2020-07-28 |
发明(设计)人: | 郭敏;柳杨;郭超 | 申请(专利权)人: | 中国建设银行股份有限公司;建信金融科技有限责任公司 |
主分类号: | H04L12/26 | 分类号: | H04L12/26 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 董骁毅;周永君 |
地址: | 100033 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 异步 消息 一致性 测试 方法 装置 | ||
本发明提供了一种异步消息的一致性测试方法及装置,包括:对消息生产者发送至模拟队列中的消息进行模拟操作,并将模拟操作后的消息发送给消息消费者,其中,模拟队列是在消息中间件中预先创建的;根据消息消费者反馈的消息接收记录和消息生产者中的日志记录生成消息一致性测试结果。本申请通过引入模拟队列和异常模拟模块,可以对单个队列出现的正常场景、消息丢失、消息延时、消息重发等情况进行模拟,避免删队列、宕服务器、切断网络等操作引起的大范围影响,而且,通过异常模拟模块的配置化设置,可以灵活设计并可定制化实现各种复杂的异常场景。
技术领域
本申请属于信息处理技术领域,具体地讲,涉及一种异步消息的一致性测试方法及装置。
背景技术
目前金融领域的异步消息系统的主要架构如图1所示,由系统A、消息中间件B和系统C构成。系统A和系统C通过消息中间件B传递消息。与系统A发出消息后受到阻塞而等待返回的同步方式情况不同,异步消息系统的消息中间件B立刻返回成功响应给系统A,不需要等待消息的后续处理。
异步消息系统在金融业内有着广泛的应用,这种异步处理方式可以实现各系统间的解耦,解决了同步方式下因不同系统的性能差异而导致的“木桶效应”,能够有效减少资源占用的等待时间。但是对于金融领域的异步系统而言,若消息传递过程中出现故障(如消息丢失、消息超时、重传等)会造成业务数据的不一致。金融业务不同于其他行业,涉及到账务的业务数据不一致可能会导致错账,会给客户造成不同程度的经济损失,极大程度上降低了用户的体验。因此,金融领域的异步消息系统对消息的一致性要求极高,针对异步消息系统设计消息的一致性测试方法,保证异步消息系统在正常和异常情况下业务的一致性显得尤为重要。然而目前,异步消息系统的测试对消息一致性关注较少,通常的一致性测试方法主要是针对联机服务同步交易进行异常模拟来验证系统的一致性机制,这种方法用于异步消息系统会导致一致性测试不准确。
发明内容
本申请提出了一种异步消息的一致性测试方法及装置,以至少解决现有技术中在对异步消息系统进行测试时对消息的一致性关注较少而导致消息不同步的问题。
根据本申请的一个方面提供了一种异步消息的一致性测试方法,包括:
对消息生产者发送至模拟队列中的消息进行模拟操作,并将模拟操作后的消息发送给消息消费者,其中,模拟队列是在消息中间件中预先创建的;
根据消息消费者反馈的消息接收记录和消息生产者中的日志记录生成消息一致性测试结果。
在一实施例中,模拟操作包括:正常操作;对消息生产者发送至模拟队列中的消息进行模拟操作,并将模拟操作后的消息发送给消息消费者,包括:
将模拟队列中的消息发送至消息中间件中的第一目标队列;
从第一目标队列中获取消息,并将消息通过消息中间件中的第二目标队列发送至消息消费者。
在一实施例中,模拟操作包括:消息丢失操作;对消息生产者发送至模拟队列中的消息进行模拟操作,并将模拟操作后的消息发送给消息消费者,包括:
抹除模拟队列中的消息后将模拟队列中的所有剩余消息转发至消息中间件中的第一目标队列;
从第一目标队列中获取消息,并将消息通过消息中间件中的第二目标队列发送至消息消费者。
在一实施例中,模拟操作包括:消息超时操作;对消息生产者发送至模拟队列中的消息进行模拟操作,并将模拟操作后的消息发送给消息消费者,包括:
将模拟队列中的消息取出并间隔一段预设的时间后发送至消息中间件中的第一目标队列;
从第一目标队列中获取消息,并将消息通过消息中间件中的第二目标队列发送至消息消费者。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国建设银行股份有限公司;建信金融科技有限责任公司,未经中国建设银行股份有限公司;建信金融科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010235348.4/2.html,转载请声明来源钻瓜专利网。