[发明专利]一种用于RPC接口调用失败处理的方法及设备有效
申请号: | 202011467883.9 | 申请日: | 2020-12-14 |
公开(公告)号: | CN112486719B | 公开(公告)日: | 2023-07-04 |
发明(设计)人: | 麦玉燕 | 申请(专利权)人: | 上海万物新生环保科技集团有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06Q30/0601 |
代理公司: | 上海百一领御专利代理事务所(普通合伙) 31243 | 代理人: | 汪祖乐 |
地址: | 200433 上海市杨浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 rpc 接口 调用 失败 处理 方法 设备 | ||
本申请的目的是提供一种用于RPC接口调用失败处理的方法及设备,本申请通过判断RPC接口调用是否失败,若是,则确定失败类型并保存业务订单失败记录;定时任务处理所述RPC接口调用时的业务订单失败记录,根据所述失败类型选取对应的业务处理方式进行处理,并更新所述业务订单失败记录的操作状态。通过按照业务维度来记录失败日志,方便快速定位,并区分失败类型,方便后续通过自动化处理方式去重试或作下一步业务操作。
技术领域
本申请涉及计算机领域,尤其涉及一种用于RPC接口调用失败处理的方法及设备。
背景技术
在服务之间RPC接口相互调用的场景中,一旦出现接口调用失败,有以下几种场景以及处理方式:一种是,接口调用返回失败,根据接口返回的错误码进行业务处理;另一种是,接口调用超时异常,捕捉超时异常后往外抛异常。但通过上述方式处理有以下缺点:判断接口返回错误码进行业务处理时,往往没有对错误的类型进行保存和区分,只能靠人工干预,如人工查询失败日志,对错误和错误信息进行人工识别,人工处理失败记录;对于调用失败除了重试,无法根据异常失败类型进行自动化业务逻辑判断和处理;使用重试策略也会有重试次数限制,若是业务逻辑错误,则重试多少次结果都是一样的失败。
发明内容
本申请的一个目的是提供一种用于RPC接口调用失败处理的方法及设备,解决现有技术中没有对调用失败的类型进行保存和区分以及需要人工干预,无法进行自动化业务逻辑判断和处理的问题。
根据本申请的一个方面,提供了一种用于RPC接口调用失败处理的方法,该方法包括:
判断RPC接口调用是否失败,若是,则确定失败类型并保存业务订单失败记录;
定时任务处理所述RPC接口调用时的业务订单失败记录,根据所述失败类型选取对应的业务处理方式进行处理,并更新所述业务订单失败记录的操作状态。
进一步地,判断RPC接口调用是否失败,包括以下任一项:
通过捕捉超时异常判断是否发生网络超时失败,若是,则RPC接口调用失败;
通过返回码判断业务操作是否失败,若是,则RPC接口调用失败。
进一步地,所述方法,包括:
调用RPC接口,判断调用是否成功,若否,则新建一个事务进行保存业务订单失败记录,并通过邮件或短信操作发送所述业务订单失败记录;
若是,则直接封装返回信息。
进一步地,所述失败类型包括业务场景调用失败类型,根据所述失败类型选取对应的业务处理方式进行处理,包括:
根据所述业务场景调用失败类型选取对应的业务处理方式进行处理。
进一步地,根据所述业务场景调用失败类型选取对应的业务处理方式进行处理,包括以下任一项:
若所述业务场景调用失败类型为购买场景的订单减库存失败,则根据业务需求进行重试,且重试次数达到预设次数前继续调用减库存RPC接口;
若所述业务场景调用失败类型为支付场景的订单付款失败,则根据业务需求进行取消订单的处理。
进一步地,更新所述业务订单失败记录的操作状态,包括:
将新增的业务订单失败记录的操作状态初始化为未操作,当定时任务对所述新增的业务订单失败记录进行自动化处理后,将所述操作状态更新为已操作。
进一步地,保存业务订单失败记录,包括:
将业务订单失败记录保存至数据表中,其中,所述数据表中包括varchar类型的业务单号。
根据本申请另一个方面,还提供了一种用于RPC接口调用失败处理的设备,该设备包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海万物新生环保科技集团有限公司,未经上海万物新生环保科技集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011467883.9/2.html,转载请声明来源钻瓜专利网。