一种跨系统调用结果三态处理方法和系统技术方案

技术编号:36688410 阅读:25 留言:0更新日期:2023-02-27 19:53
本发明专利技术提供了一种跨系统调用结果三态处理方法及系统,方法包括向被调方发起调用请求;当接收到来自被调方的调用应答时,得到调用结果,当调用结果为成功或失败时,执行对应的成功业务流程或失败业务流程;当调用应答接收超时时,向被调方发起询问请求;当接收到来自被调方的询问应答时,得到调用结果;当调用结果为成功或失败时,执行对应的成功业务流程或失败业务流程;当调用结果为未处理时,进行正向补偿;当询问N次都未接收到所述询问应答时,根据业务倾向确定调用请求的调用结果,将调用请求对应的调用数据存入数据库中。该方法通用性强,适用范围广泛,保证了调用结果获取的及时性与明确性。的及时性与明确性。的及时性与明确性。

【技术实现步骤摘要】
一种跨系统调用结果三态处理方法和系统


[0001]本专利技术属于计算机软件
,具体涉及一种跨系统调用结果三态处理方法和系统。

技术介绍

[0002]在计算机软件领域中,通常会涉及到跨系统调用。跨系统调用通过双方提前约定的接口规范进行交互。基本流程参见图1,主调方(也称为请求发出方等)获取被调方(也称为接收请求方)所在的地址、端口等信息;主调方按接口规范,发出请求报文至被调方,被调方接收请求报文并解析后进行业务处理;被调方按接口规范,将处理结果通过应答报文返回至主调方;主调方接收应答报文并解析,根据应答报文的结果进行后续处理。应答报文结果通常有两种:成功或者失败。无论成功还是失败,结果都是明确的,主调方可以明确的根据结果进行后续逻辑处理。
[0003]然后在实际调用过程中,可能出现主调方无法得到明确的结果(未知结果)的情况,例如:主调方发出了请求报文,但由于网络通讯等异常原因,被调方没有收到请求报文。主调方发出了请求报文,被调方收到了请求报文,但被调方处理过程中发生异常,被调方没有返回应答报文。主调方发出了请求报文,被调方收到了请求报文,业务处理完成后将应答报文返回,但由于网络通讯等异常原因,主调方没有收到应答报文。这些场景都会使主调方面临未知结果,这样主调方即不能轻易将本次调用当成功进行后续处理,也不能轻易将本次调用当失败进行后续处理。

技术实现思路

[0004]针对现有技术中的缺陷,本专利技术提供一种跨系统调用结果三态处理方法,确定跨系统调用结果存在的成功、失败、未知三类状态下的调用结果,通用性强,适用范围广泛,保证了调用结果获取的及时性与明确性。
[0005]一种跨系统调用结果三态处理方法,包括:
[0006]向被调方发起调用请求;
[0007]当接收到来自被调方的调用应答时,解析调用应答,以得到调用结果,当调用结果为成功或失败时,执行对应的成功业务流程或失败业务流程;
[0008]当调用应答接收超时时,向被调方发起询问请求;
[0009]当接收到来自被调方的询问应答时,解析询问应答,以得到调用结果,不再询问;当调用结果为成功或失败时,执行对应的成功业务流程或失败业务流程;当调用结果为未处理时,进行正向补偿;
[0010]当询问N次都未接收到所述询问应答时,根据业务倾向确定调用请求的调用结果,将调用请求对应的调用数据存入数据库中,不再询问;当调用结果为成功或失败时,执行对应的成功业务流程或失败业务流程。
[0011]进一步地,询问请求用于询问被调方的调用结果。
[0012]进一步地,业务倾向根据业务场景确定,包括乐观倾向和悲观倾向;
[0013]根据业务倾向确定调用请求的调用结果具体包括:
[0014]当调用请求业务场景归属于乐观倾向时,其调用结果为成功;
[0015]当调用请求业务场景归属于悲观倾向时,其调用结果为失败。
[0016]进一步地,定时从数据库中获取业务倾向为乐观倾向的调用数据,进行正向补偿;
[0017]定时从数据库中获取业务倾向为悲观倾向的调用数据,进行反向冲正。
[0018]进一步地,正向补偿包括:
[0019]向被调方发起获取到的调用数据对应的调用请求,进行本次正向补偿;
[0020]当本次正向补偿的调用结果为成功,执行成功业务流程,在数据库中更新调用数据的调用结果为成功,调用数据不再进行正向补偿;
[0021]当本次正向补偿的调用结果为失败、且失败原因为已存在调用结果为成功的记录,执行成功业务流程,在数据库中更新调用数据的调用结果为成功,调用数据不再进行正向补偿;
[0022]当本次正向补偿的调用结果为失败、且失败原因为已存在调用结果为失败的记录,或本次正向补偿的调用应答接收超时时,本次正向补偿失败。
[0023]进一步地,反向冲正包括:
[0024]向被调方发出撤销原调用请求的冲正请求,进行本次反向冲正;
[0025]当本次反向冲正的冲正结果为成功时,执行失败业务流程,在数据库中更新调用数据的调用结果为失败,调用数据不再进行反向冲正;
[0026]当本次反向冲正的冲正结果为失败、且失败原因为已存在调用结果为失败的记录,执行失败业务流程,在数据库中更新调用数据的调用结果为失败,调用数据不再进行反向冲正;
[0027]当本次反向冲正的冲正结果为失败、且失败原因为已存在调用结果为成功的记录,或本次反向冲正超时时,本次反向冲正失败。
[0028]进一步地,如果当日正向补偿的触发或反向冲正的触发达到阈值时,人工更新数据库中对应的调用结果。
[0029]第二方面,一种跨系统调用结果三态处理系统,包括:
[0030]被调方模块:用于根据调用请求返回调用应答,根据询问应答返回询问应答;
[0031]主调方模块:用于向被调方模块发起调用请求;当接收到调用应答时,解析调用应答,以得到调用结果,当调用结果为成功或失败时,执行对应的成功业务流程或失败业务流程;
[0032]当调用应答接收超时时,向被调方模块发起询问请求;
[0033]当接收到询问应答时,解析询问应答,以得到调用结果,不再询问;当调用结果为成功或失败时,执行对应的成功业务流程或失败业务流程;当调用结果为未处理时,进行正向补偿;
[0034]当询问N次都未接收到所述询问应答时,根据业务倾向确定调用请求的调用结果,将调用请求对应的调用数据存入数据库中,不再询问;当调用结果为成功或失败时,执行对应的成功业务流程或失败业务流程。
[0035]进一步地,由具体业务场景确定该类业务的业务倾向,包括乐观倾向和悲观倾向;
[0036]主调方模块具体用于:
[0037]当调用请求业务场景归属于乐观倾向时,其调用结果为成功;
[0038]当调用请求业务场景归属于悲观倾向时,其调用结果为失败。
[0039]进一步地,主调方模块还用于:
[0040]定时从数据库中获取业务倾向为乐观倾向的调用数据,进行正向补偿;
[0041]定时从数据库中获取业务倾向为悲观倾向的调用数据,进行反向冲正。
[0042]由上述技术方案可知,本专利技术提供的跨系统调用结果三态处理方法及系统,确定跨系统调用结果存在成功、失败、未知三类状态(简称三态)下的调用结果,提出了一种通用的、安全的方法,即适用于主调方得到明确的调用结果的情况,也适用于主调方得到未知的调用结果的情况,通用性强,适用范围广泛。该方法通过未知询问环节可以及时获得调用结果,保证了调用结果获取的及时性与明确性。
附图说明
[0043]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
[0044]图1为
技术介绍
提供的现有调用系统的示意图。
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种跨系统调用结果三态处理方法,其特征在于,包括:向被调方发起调用请求;当接收到来自所述被调方的调用应答时,解析所述调用应答,以得到调用结果,当所述调用结果为成功或失败时,执行对应的成功业务流程或失败业务流程;当所述调用应答接收超时时,向被调方发起询问请求;当接收到来自所述被调方的询问应答时,解析所述询问应答,以得到调用结果,不再询问;当所述调用结果为成功或失败时,执行对应的成功业务流程或失败业务流程;当所述调用结果为未处理时,进行正向补偿;当询问N次都未接收到所述询问应答时,根据业务倾向确定所述调用请求的调用结果,将所述调用请求对应的调用数据存入数据库中,不再询问;当所述调用结果为成功或失败时,执行对应的成功业务流程或失败业务流程。2.根据权利要求1所述跨系统调用结果三态处理方法,其特征在于,所述询问请求用于询问所述被调方的调用结果。3.根据权利要求1所述跨系统调用结果三态处理方法,其特征在于,所述业务倾向根据业务场景确定,包括乐观倾向和悲观倾向;所述根据业务倾向确定所述调用请求的调用结果具体包括:当所述调用请求所述业务场景归属于乐观倾向时,其调用结果为成功;当所述调用请求所述业务场景归属于悲观倾向时,其调用结果为失败。4.根据权利要求3所述跨系统调用结果三态处理方法,其特征在于,定时从所述数据库中获取业务倾向为乐观倾向的调用数据,进行正向补偿;定时从所述数据库中获取业务倾向为悲观倾向的调用数据,进行反向冲正。5.根据权利要求4所述跨系统调用结果三态处理方法,其特征在于,所述正向补偿包括:向被调方发起获取到的所述调用数据对应的调用请求,进行本次正向补偿;当本次正向补偿的调用结果为成功,执行所述成功业务流程,在所述数据库中更新所述调用数据的调用结果为成功,所述调用数据不再进行正向补偿;当本次正向补偿的调用结果为失败、且失败原因为已存在调用结果为成功的记录,执行所述成功业务流程,在所述数据库中更新所述调用数据的调用结果为成功,所述调用数据不再进行正向补偿;当本次正向补偿的调用结果为失败、且失败原因为已存在调用结果为失败的记录,或本次正向补偿的调用应答接收超时时,本次正向补偿失败。6.根据权利要求4所述跨系统调用结果三态处理方法,其特征在于,...

【专利技术属性】
技术研发人员:春煜张瑜平何当清汪日清
申请(专利权)人:深圳市雁联计算系统有限公司
类型:发明
国别省市:

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

1