[发明专利]一种与银行进行交互重试的方法和系统在审
申请号: | 201710740013.6 | 申请日: | 2017-08-23 |
公开(公告)号: | CN107544853A | 公开(公告)日: | 2018-01-05 |
发明(设计)人: | 王子嵩;容赜 | 申请(专利权)人: | 万惠投资管理有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06Q40/02 |
代理公司: | 北京超凡志成知识产权代理事务所(普通合伙)11371 | 代理人: | 王术兰 |
地址: | 510000 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 银行 进行 交互 重试 方法 系统 | ||
技术领域
本发明涉及数据处理领域,特别涉及一种与银行进行交互重试的方法和系统。
背景技术
现代的互联网金融应用为了实现自身需求,其系统内部需要和大量的银行接口进行交互调用,比如充值、提现、还款等。在交互过程中,存在各种跨机房、跨网段、跨运营商的场景,由于距离较远、网络稳定性不确定等因素,会经常性发生交互失败。交互失败后,一般会采用重试等机制来解决交互失败的问题。传统同类方法因其设计思路、理念的不同,主要有以下缺点:
1.无法快速开发,无法方便的应用于各种各样需要重试的业务。传统方案只能根据某一具体业务实行重试,比如充值、提现、投资等,没有抽象出一套灵活的、可扩展的,方便快速适用的解决方法。需要为每一种业务定义重试记录表、编写定时调度代码,开发过程繁琐,存在大量逻辑相似或重复的代码。
2.重试的触发时间无法灵活配置。传统方案只能根据事先配置好的策略进行简单的定时重试,比如每X秒,重试一次。无法指定重试停止条件,无法根据不同业务信息参数,指定重试触发时间、最大重试次数等。
3.重试过程、结果无法追踪。传统方法仅仅是单纯反复调用,行为比较单一,比如定时查询,调用某一银行接口,没有记录调用结果过程上下文等,无法跟踪、定位、调试重试过程中遇到的异常问题。
4.手工操作。传统方法往往会提供一个后台管理界面,由管理员或客服人员在后台执行重试逻辑。比如充值场景,当用户充值,调用银行接口时发生网络异常,需要商户登录后台管理界面,自行针对该笔业务进行查询、重试,最终达到业务成功或失败结果。此种方案在当今的互联网信息技术中,显得十分笨拙,当交互异常大量发生时,需要消耗大量的人力、时间去进行手工操作。
发明内容
针对现有技术中的缺陷,本发明提出了一种与银行进行交互重试的方法和系统,提供了一种更加完善,方便的与银行接口交互的重试方法。
具体的,本发明提出了以下具体的实施例:
本发明实施例1公开了一种与银行进行交互重试的方法,应用于包括客户端以及服务端的系统中,该方法包括:
当在触发调用银行接口的操作时,客户端判断所述调用的返回结果是否满足预设的重试条件;
若判断结果为是,判断待进行的重试是同步模式还是异步模式;
若为同步模式,则以预设时间段为周期进行预设次数的重试,并将重试的结果输入状态机,以及执行与状态机所反馈的结果对应的处理流程;
若为异步模式,则向服务端发送异步重试消息,并将调用银行接口的结果返回给调用方。
在一个具体的实施例中,当重试为同步模式时,所述重试为同步阻塞式重新调用银行接口。
本发明实施例还提出了一种与银行进行交互重试的方法,应用于包括客户端以及服务端的系统中,该方法包括:
服务端接收客户端发送的异步重试消息;
根据所述异步重试消息获取重试任务配置信息;
基于所述重试任务配置信息确定下次重试的执行时间,并创建重试任务;
初始化所创建的重试任务;
将所述重试任务持久化到存储设备上。
在一个具体的实施例中,还包括:
定时获取所述存储设备上的重试任务;
执行所获取的重试任务。
在一个具体的实施例中,还包括:
获取所述执行的执行结果;
将所述执行结果发送给状态机;
接收所述状态机所反馈的输出结果;
执行与所述输出结果对应的处理流程。
本发明实施例还提出了一种客户端,应用于包括客户端以及服务端的系统中,该客户端包括:
第一判断模块,用于当在触发调用银行接口的操作时,判断所述调用的返回结果是否满足预设的重试条件;
第二判断模块,用于当所述第一判断模块的判断结果为是时,判断待进行的重试是同步模式还是异步模式;
执行模块,用于当重试为同步模式时,则以预设时间段为周期进行预设次数的重试,并将重试的结果输入状态机,以及执行与状态机所反馈的结果对应的处理流程;
发送模块,用于当重试为异步模式时,向服务端发送异步重试消息,并将调用银行接口的结果返回给调用方。
在一个具体的实施例中,当重试为同步模式时,所述重试为同步阻塞式重新调用银行接口。
本发明实施例还提出了一种服务端,应用于包括客户端以及服务端的系统中,该服务端包括:
接收模块,用于接收客户端发送的异步重试消息;
获取模块,用于根据所述异步重试消息获取重试任务配置信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于万惠投资管理有限公司,未经万惠投资管理有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710740013.6/2.html,转载请声明来源钻瓜专利网。