调用请求的处理方法、装置和计算机存储介质制造方法及图纸

技术编号:25040819 阅读:15 留言:0更新日期:2020-07-29 05:32
本申请提供一种调用请求的处理方法、装置和计算机存储介质,第一服务接收第二服务根据交易请求生成的第一调用请求;在数据缓存区和数据库中查找第一调用请求携带的交易标识,从而判断第一调用请求是否为首次接收的与交易请求对应的调用请求;若第一调用请求是首次接收的与交易请求对应的调用请求,基于业务处理逻辑处理其中的业务数据,将交易标识写入数据缓存区和数据库;若第一调用请求不是首次接收的与交易请求对应的调用请求,删除第一调用请求;将首次接收的与交易请求对应的调用请求的处理结果反馈给第二服务。第一服务通过记录首次收到的调用请求的交易标识,避免重复处理同一交易的多次调用请求,从而防止由重复操作引起的交易错误。

【技术实现步骤摘要】
调用请求的处理方法、装置和计算机存储介质
本专利技术涉及信息处理
,特别涉及一种调用请求的处理方法、装置和计算机存储介质。
技术介绍
随着电子信息技术的发展,由多个通过互联网连接的服务组成的交易系统得到了广泛的应用。客户端可以向交易系统提交交易请求,使得交易系统的各个服务依次按自身的业务处理逻辑处理交易请求。上述处理过程中,各个服务通过服务调用的方式进行交互,上游服务会将需要下游服务处理的业务数据以调用请求的方式发送给下游服务,使下游服务处理并反馈处理结果。现有的服务调用过程中,针对一笔交易,下游服务超过一定时间未反馈(即服务超时)后,上游服务会再次发送这笔交易对应的调用请求,若下游服务接收这笔交易对应的每一次调用请求,并对每次收到的调用请求均进行相应的处理,就会导致这笔交易出现错误,例如重复扣款,重复下单等。因此,目前亟需一种避免服务超时后同一笔交易的多次调用请求被重复处理的方法。
技术实现思路
基于上述现有技术的缺点,本申请提供一种调用请求的处理方法、装置和计算机存储介质,以解决交易系统中下游服务重复处理相同的调用请求的问题。本申请第一方面提供一种调用请求的处理方法,应用于第一服务,所述第一服务是由多个服务构成的交易系统中的任意一个服务,所述处理方法包括:接收第二服务生成的与客户端提交的交易请求对应的第一调用请求;其中,所述第一调用请求包括业务数据和基于所述交易请求生成的交易标识,所述第二服务是所述第一服务的上游服务;分别在所述第一服务的数据缓存区和数据库中查找所述交易标识;若所述数据缓存区和所述数据库中均未存储所述交易标识,确定所述第一调用请求是所述第一服务首次接收的与所述交易请求对应的调用请求,按所述第一服务的业务处理逻辑处理所述业务数据,并将所述交易标识写入所述数据缓存区和所述数据库中;若所述数据缓存区和/或所述数据库中存储所述交易标识,确定所述第一调用请求不是所述第一服务首次接收的与所述交易请求对应的调用请求,并删除所述第一调用请求;将所述第一服务首次接收的与所述交易请求对应的调用请求的处理结果反馈给所述第二服务。可选的,所述将所述第一服务首次接收的与所述交易请求对应的调用请求的处理结果反馈给所述第二服务,包括:判断所述第一服务首次接收的与所述交易请求对应的调用请求是否处理成功;若处理成功,获取所述第一服务首次接收的与所述交易请求对应的调用请求的处理结果并将所述处理结果反馈给所述第二服务;若未处理成功,按当前的处理进度继续处理所述第一服务首次接收的与所述交易请求对应的调用请求的业务数据,并在处理成功后将处理结果反馈给所述第二服务。本申请第二方面提供一种调用请求的处理方法,应用于第二服务,所述第二服务是由多个服务构成的交易系统中的任意一个服务,所述处理方法包括:响应于客户端提交的交易请求,生成与所述交易请求对应的第一调用请求;其中,所述第一调用请求包括业务数据和基于所述交易请求生成的交易标识;将所述第一调用请求发送至第一服务,使所述第一服务根据所述交易标识判断是否处理所述第一调用请求携带的所述业务数据,并等待所述第一服务反馈所述业务数据的处理结果;其中,所述第二服务是所述第一服务的上游服务;判断等待时间是否大于或等于预设的超时时长;若所述等待时间大于或等于所述超时时长,向所述客户端发送第一提示信息,并再次将所述第一调用请求发送至所述第一服务,直至所述第一服务反馈所述业务数据的处理结果为止;其中,所述第一提示信息用于指示所述交易请求正在被处理。可选的,所述响应于客户端提交的交易请求,生成与所述交易请求对应的第一调用请求,包括:接收第三服务基于客户端提交的交易请求生成的第二调用请求,并根据所述第二调用请求携带的业务数据生成所述交易请求对应的第一调用请求;其中,所述第三服务是所述第二服务的上游服务。可选的,所述生成与所述交易请求对应的第一调用请求,包括:按所述第二服务的业务处理逻辑处理所述交易请求携带的业务数据,并将得到的处理结果作为所述交易请求对应的第一调用请求的业务数据;利用所述客户端提交所述交易请求的时间和处理所述业务数据的服务器的服务器编号生成所述交易请求的交易标识;组合所述业务数据和所述交易标识,得到所述交易请求对应的第一调用请求。本申请第三方面提供一种调用请求的处理装置,应用于第一服务,所述第一服务是由多个服务构成的交易系统中的任意一个服务,所述处理装置包括:接收单元,用于接收第二服务生成的与客户端提交的交易请求对应的第一调用请求;其中,所述第一调用请求包括业务数据和基于所述交易请求生成的交易标识,所述第二服务是所述第一服务的上游服务;查找单元,用于分别在所述第一服务的数据缓存区和数据库中查找所述交易标识;处理单元,若所述数据缓存区和所述数据库均未存储所述交易标识,用于确定所述第一调用请求是所述第一服务首次接收的与所述交易请求对应的调用请求,并按预设的业务处理逻辑处理所述业务数据;写入单元,若所述第一调用请求是所述第一服务首次接收的与所述交易请求对应的调用请求,用于将所述交易标识写入所述数据缓存区和所述数据库中;删除单元,若所述数据缓存区和/或所述数据库存储所述交易标识,用于确定所述第一调用请求不是所述第一服务首次接收的与所述交易请求对应的调用请求,并删除所述第一调用请求;反馈单元,用于将所述第一服务首次接收的与所述交易请求对应的调用请求的处理结果反馈给所述第二服务。可选的,所述反馈单元将所述第一服务首次接收的与所述交易请求对应的调用请求的处理结果反馈给所述第二服务时,具体用于:判断所述第一服务首次接收的与所述交易请求对应的调用请求是否处理成功;若处理成功,获取所述第一服务首次接收的与所述交易请求对应的调用请求的处理结果并将所述处理结果反馈给所述第二服务;若未处理成功,按当前的处理进度继续处理所述第一服务首次接收的与所述交易请求对应的调用请求的业务数据,并在处理成功后将处理结果反馈给所述第二服务。本申请第四方面提供一种调用请求的处理装置,应用于第二服务,所述第二服务是由多个服务构成的交易系统中的任意一个服务,所述处理装置包括:生成单元,用于响应于客户端提交的交易请求,生成与所述交易请求对应的第一调用请求;其中,所述第一调用请求包括业务数据和基于所述交易请求生成的交易标识;发送单元,用于将所述第一调用请求发送至第一服务,使所述第一服务根据所述交易标识判断是否处理所述第一调用请求携带的所述业务数据,并等待所述第一服务反馈所述业务数据的处理结果;其中,所述第二服务是所述第一服务的上游服务;判断单元,用于判断等待时间是否大于或等于预设的超时时长,若等待时间大于或等于所述超时时长,触发所述发送单元再次将所述第一调用请求发送至所述第一服务,直至所述第一服务反馈所述业务数据的处理结果为止;提示单元,用于若所述等待时间大于或等于所述超时本文档来自技高网...

【技术保护点】
1.一种调用请求的处理方法,其特征在于,应用于第一服务,所述第一服务是由多个服务构成的交易系统中的任意一个服务,所述处理方法包括:/n接收第二服务生成的与客户端提交的交易请求对应的第一调用请求;其中,所述第一调用请求包括业务数据和基于所述交易请求生成的交易标识,所述第二服务是所述第一服务的上游服务;/n分别在所述第一服务的数据缓存区和数据库中查找所述交易标识;/n若所述数据缓存区和所述数据库中均未存储所述交易标识,确定所述第一调用请求是所述第一服务首次接收的与所述交易请求对应的调用请求,按所述第一服务的业务处理逻辑处理所述业务数据,并将所述交易标识写入所述数据缓存区和所述数据库中;/n若所述数据缓存区和/或所述数据库中存储所述交易标识,确定所述第一调用请求不是所述第一服务首次接收的与所述交易请求对应的调用请求,并删除所述第一调用请求;/n将所述第一服务首次接收的与所述交易请求对应的调用请求的处理结果反馈给所述第二服务。/n

【技术特征摘要】
1.一种调用请求的处理方法,其特征在于,应用于第一服务,所述第一服务是由多个服务构成的交易系统中的任意一个服务,所述处理方法包括:
接收第二服务生成的与客户端提交的交易请求对应的第一调用请求;其中,所述第一调用请求包括业务数据和基于所述交易请求生成的交易标识,所述第二服务是所述第一服务的上游服务;
分别在所述第一服务的数据缓存区和数据库中查找所述交易标识;
若所述数据缓存区和所述数据库中均未存储所述交易标识,确定所述第一调用请求是所述第一服务首次接收的与所述交易请求对应的调用请求,按所述第一服务的业务处理逻辑处理所述业务数据,并将所述交易标识写入所述数据缓存区和所述数据库中;
若所述数据缓存区和/或所述数据库中存储所述交易标识,确定所述第一调用请求不是所述第一服务首次接收的与所述交易请求对应的调用请求,并删除所述第一调用请求;
将所述第一服务首次接收的与所述交易请求对应的调用请求的处理结果反馈给所述第二服务。


2.根据权利要求1所述的处理方法,其特征在于,所述将所述第一服务首次接收的与所述交易请求对应的调用请求的处理结果反馈给所述第二服务,包括:
判断所述第一服务首次接收的与所述交易请求对应的调用请求是否处理成功;
若处理成功,获取所述第一服务首次接收的与所述交易请求对应的调用请求的处理结果并将所述处理结果反馈给所述第二服务;
若未处理成功,按当前的处理进度继续处理所述第一服务首次接收的与所述交易请求对应的调用请求的业务数据,并在处理成功后将处理结果反馈给所述第二服务。


3.一种调用请求的处理方法,其特征在于,应用于第二服务,所述第二服务是由多个服务构成的交易系统中的任意一个服务,所述处理方法包括:
响应于客户端提交的交易请求,生成与所述交易请求对应的第一调用请求;其中,所述第一调用请求包括业务数据和基于所述交易请求生成的交易标识;
将所述第一调用请求发送至第一服务,使所述第一服务根据所述交易标识判断是否处理所述第一调用请求携带的所述业务数据,并等待所述第一服务反馈所述业务数据的处理结果;其中,所述第二服务是所述第一服务的上游服务;
判断等待时间是否大于或等于预设的超时时长;
若所述等待时间大于或等于所述超时时长,向所述客户端发送第一提示信息,并再次将所述第一调用请求发送至所述第一服务,直至所述第一服务反馈所述业务数据的处理结果为止;其中,所述第一提示信息用于指示所述交易请求正在被处理。


4.根据权利要求3所述的处理方法,其特征在于,所述响应于客户端提交的交易请求,生成与所述交易请求对应的第一调用请求,包括:
接收第三服务基于客户端提交的交易请求生成的第二调用请求,并根据所述第二调用请求携带的业务数据生成所述交易请求对应的第一调用请求;其中,所述第三服务是所述第二服务的上游服务。


5.根据权利要求4所述的方法,其特征在于,所述生成与所述交易请求对应的第一调用请求,包括:
按所述第二服务的业务处理逻辑处理所述交易请求携带的业务数据,并将得到的处理结果作为所述交易请求对应的第一调用请求的业务数据;
利用所述客户端提交所述交易请求的时间和处理所述业务数据的服务器的服务器编号生成所述交易请求的交易标识;
组合所述业务数据和所述交易标识,得到所述交易请求对应的第一调用请求。


6.一种调用请求的...

【专利技术属性】
技术研发人员:张顺张雄盼
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:北京;11

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

1