一种用于RPC接口调用失败处理的方法及设备技术

技术编号:27655576 阅读:17 留言:0更新日期:2021-03-12 14:17
本申请的目的是提供一种用于RPC接口调用失败处理的方法及设备,本申请通过判断RPC接口调用是否失败,若是,则确定失败类型并保存业务订单失败记录;定时任务处理所述RPC接口调用时的业务订单失败记录,根据所述失败类型选取对应的业务处理方式进行处理,并更新所述业务订单失败记录的操作状态。通过按照业务维度来记录失败日志,方便快速定位,并区分失败类型,方便后续通过自动化处理方式去重试或作下一步业务操作。

【技术实现步骤摘要】
一种用于RPC接口调用失败处理的方法及设备
本申请涉及计算机领域,尤其涉及一种用于RPC接口调用失败处理的方法及设备。
技术介绍
在服务之间RPC接口相互调用的场景中,一旦出现接口调用失败,有以下几种场景以及处理方式:一种是,接口调用返回失败,根据接口返回的错误码进行业务处理;另一种是,接口调用超时异常,捕捉超时异常后往外抛异常。但通过上述方式处理有以下缺点:判断接口返回错误码进行业务处理时,往往没有对错误的类型进行保存和区分,只能靠人工干预,如人工查询失败日志,对错误和错误信息进行人工识别,人工处理失败记录;对于调用失败除了重试,无法根据异常失败类型进行自动化业务逻辑判断和处理;使用重试策略也会有重试次数限制,若是业务逻辑错误,则重试多少次结果都是一样的失败。
技术实现思路
本申请的一个目的是提供一种用于RPC接口调用失败处理的方法及设备,解决现有技术中没有对调用失败的类型进行保存和区分以及需要人工干预,无法进行自动化业务逻辑判断和处理的问题。根据本申请的一个方面,提供了一种用于RPC接口调用失败处理的方法,该方法包括:判断RPC接口调用是否失败,若是,则确定失败类型并保存业务订单失败记录;定时任务处理所述RPC接口调用时的业务订单失败记录,根据所述失败类型选取对应的业务处理方式进行处理,并更新所述业务订单失败记录的操作状态。进一步地,判断RPC接口调用是否失败,包括以下任一项:通过捕捉超时异常判断是否发生网络超时失败,若是,则RPC接口调用失败;通过返回码判断业务操作是否失败,若是,则RPC接口调用失败。进一步地,所述方法,包括:调用RPC接口,判断调用是否成功,若否,则新建一个事务进行保存业务订单失败记录,并通过邮件或短信操作发送所述业务订单失败记录;若是,则直接封装返回信息。进一步地,所述失败类型包括业务场景调用失败类型,根据所述失败类型选取对应的业务处理方式进行处理,包括:根据所述业务场景调用失败类型选取对应的业务处理方式进行处理。进一步地,根据所述业务场景调用失败类型选取对应的业务处理方式进行处理,包括以下任一项:若所述业务场景调用失败类型为购买场景的订单减库存失败,则根据业务需求进行重试,且重试次数达到预设次数前继续调用减库存RPC接口;若所述业务场景调用失败类型为支付场景的订单付款失败,则根据业务需求进行取消订单的处理。进一步地,更新所述业务订单失败记录的操作状态,包括:将新增的业务订单失败记录的操作状态初始化为未操作,当定时任务对所述新增的业务订单失败记录进行自动化处理后,将所述操作状态更新为已操作。进一步地,保存业务订单失败记录,包括:将业务订单失败记录保存至数据表中,其中,所述数据表中包括varchar类型的业务单号。根据本申请另一个方面,还提供了一种用于RPC接口调用失败处理的设备,该设备包括:判断装置,用于判断RPC接口调用是否失败,若是,则确定失败类型并保存业务订单失败记录;处理装置,用于定时任务处理所述RPC接口调用时的业务订单失败记录,根据所述失败类型选取对应的业务处理方式进行处理,并更新所述业务订单失败记录的操作状态。根据本申请又一个方面,还提供了一种用于RPC接口调用失败处理的设备,所述设备包括:一个或多个处理器;以及存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述所述方法的操作。根据本申请再一个方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如前述所述的方法。与现有技术相比,本申请通过判断RPC接口调用是否失败,若是,则确定失败类型并保存业务订单失败记录;定时任务处理所述RPC接口调用时的业务订单失败记录,根据所述失败类型选取对应的业务处理方式进行处理,并更新所述业务订单失败记录的操作状态。通过按照业务维度来记录失败日志,方便快速定位,并区分失败类型,方便后续通过自动化处理方式去重试或作下一步业务操作。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1示出根据本申请的一个方面提供的一种用于RPC接口调用失败处理的方法流程示意图;图2示出本申请一实施例中保存业务订单数据的流程示意图;图3示出本申请一实施例中定时任务处理RPC调用失败记录的流程示意图;图4示出本申请又一个方面提供的一种用于RPC接口调用失败处理的设备结构示意图。附图中相同或相似的附图标记代表相同或相似的部件。具体实施方式下面结合附图对本申请作进一步详细描述。在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如中央处理器(CentralProcessingUnit,CPU))、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccessMemory,RAM)和/或非易失性内存等形式,如只读存储器(ReadOnlyMemory,ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-ChangeRAM,PRAM)、静态随机存取存储器(StaticRandomAccessMemory,SRAM)、动态随机存取存储器(DynamicRandomAccessMemory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(ElectricallyErasableProgrammableRead-OnlyMemory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CompactDiscRead-OnlyMemory,CD-ROM)、数字多功能光盘(DigitalVersatileDisk,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。图1示出根据本申请的一个方面提供的一种用于RPC接口调用失败处理的方法流程示意图,该方法包括:步骤S11~步骤S12,其中,在步骤S11中,判断RPC接口调用是否失败,若是,则确定失败类型并保存业务订单失败记录;在步骤S12中,定时任务处理所述RPC接口调用时的业务订单失败记录,根据所述失败类型选取对应的业务处理方式进行处理,并更新所述业务订单失败记录的操作状态。通过按照业务维度来记录失败日志,方便本文档来自技高网...

【技术保护点】
1.一种用于RPC接口调用失败处理的方法,其特征在于,所述方法包括:/n判断RPC接口调用是否失败,若是,则确定失败类型保存业务订单失败记录;/n定时任务处理所述RPC接口调用时的业务订单失败记录,根据所述失败类型选取对应的业务处理方式进行处理,并更新所述业务订单失败记录的操作状态。/n

【技术特征摘要】
1.一种用于RPC接口调用失败处理的方法,其特征在于,所述方法包括:
判断RPC接口调用是否失败,若是,则确定失败类型保存业务订单失败记录;
定时任务处理所述RPC接口调用时的业务订单失败记录,根据所述失败类型选取对应的业务处理方式进行处理,并更新所述业务订单失败记录的操作状态。


2.根据权利要求1所述的方法,其特征在于,判断RPC接口调用是否失败,包括以下任一项:
通过捕捉超时异常判断是否发生网络超时失败,若是,则RPC接口调用失败;
通过返回码判断业务操作是否失败,若是,则RPC接口调用失败。


3.根据权利要求1所述的方法,其特征在于,所述方法包括:
调用RPC接口,判断调用是否成功,若否,则新建一个事务进行保存业务订单失败记录,并通过邮件或短信操作发送所述业务订单失败记录;
若是,则直接封装返回信息。


4.根据权利要求1所述的方法,其特征在于,所述失败类型包括业务场景调用失败类型,根据所述失败类型选取对应的业务处理方式进行处理,包括:
根据所述业务场景调用失败类型选取对应的业务处理方式进行处理。


5.根据权利要求4所述的方法,其特征在于,根据所述业务场景调用失败类型选取对应的业务处理方式进行处理,包括以下任一项:
若所述业务场景调用失败类型为购买场景的订单减库存失败,则根据业务需求进行重试,当重试次数达到预设次数前继续调用减库存...

【专利技术属性】
技术研发人员:麦玉燕
申请(专利权)人:上海悦易网络信息技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1