[发明专利]Dubbo框架下交易防悬挂方法及装置在审
申请号: | 202010611227.5 | 申请日: | 2020-06-30 |
公开(公告)号: | CN111796958A | 公开(公告)日: | 2020-10-20 |
发明(设计)人: | 让涛;夏龙飞;张家宇;张远征 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 孙乳笋;王涛 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | dubbo 框架 交易 悬挂 方法 装置 | ||
本发明提供了Dubbo框架下交易防悬挂方法及装置,方法包括:接收消费方发起交易服务调用请求;根据接收消费方发起交易服务调用请求的时间生成时间戳;将所述的时间戳和根据交易服务调用请求生成的消费报文发送至服务提供方;根据时间戳和当前时间确定当前消费请求是否超时,确定已超时则终止当前交易处理。本发明可以在不侵入业务系统交易报文的情况下,额外传递时间戳信息,在消费方发起服务调用时,通过该机制将调用时的时间也传递给提供方,提供方根据时间戳和当前时间确定该笔报文在网络传输上消耗了过多的时间达到提供方,避免产生悬挂,节约系统资源。
技术领域
本发明涉及数据处理技术,具体的讲是一种Dubbo框架下交易防悬挂方法及装置。
背景技术
在分布式架构下,微服务部署在不同的集群上,微服务之间通过RPC远程服务调用。分布式架构下微服务调用耗时较短,交易超时时间一般也在毫秒级,某些系统故障场景下(如服务器系统故障、网络故障等),容易发生调用超时现象。
服务调用方在交易超时异常后,由于超时异常场景下无法确定原有交易执行情况(是否执行或何时执行),即使调用方进行反交易补偿,也可能会导致系统产生“悬挂”现象,往往需要进一步保障机制或者人工核对。
现有技术中,Dubbo框架提供了超时机制,消费方调用服务超时后,会主动标记该交易为失败,立刻返回失败提示给客户。但服务调用都是通过网络进行,网络的稳定性无法保证,所以会存在网络数据丢失,网络延时等多种复杂的场景,会造成链路资源的无效使用,影响系统的吞吐率。
发明内容
为降低由于请求超时导致的悬挂现象,本发明提供了一种Dubbo框架下交易防悬挂方法,包括:
接收消费方发起交易服务调用请求;
根据接收消费方发起交易服务调用请求的时间生成时间戳;
将所述的时间戳和根据交易服务调用请求生成的消费报文发送至服务提供方;
根据时间戳和当前时间确定当前消费请求是否超时,确定已超时则终止当前交易处理。
本发明实施例中,所述的根据接收消费方发起交易服务调用请求的时间生成时间戳包括:
接收设置的超时时长;
根据接收消费方发起交易服务调用请求的时间和设置的超时时长生成时间戳。
本发明实施例中,所述的根据接收消费方发起交易服务调用请求的时间生成时间戳还包括:
利用Dubbo框架的filter根据接收消费方发起交易服务调用请求的时间生成时间戳。
本发明实施例中,所述的根据时间戳和当前时间确定当前消费请求是否超时,确定已超时则终止当前交易处理包括:
获取当前消费请求的时间戳和当前时间;
根据所述的时间戳和当前时间确定当前消费请求是否超时,确定已超时则终止当前交易处理;确定未超时,则进行当前报文的消费请求处理。
同时,本发明还提供一种Dubbo框架下交易防悬挂装置,包括:
请求接收模块,用于接收消费方发起交易服务调用请求;
时间戳生成模块,用于根据接收消费方发起交易服务调用请求的时间生成时间戳;
报文发送模块,用于将所述的时间戳和根据交易服务调用请求生成的消费报文发送至服务提供方;
超时处理模块,用于根据时间戳和当前时间确定当前消费请求是否超时,确定已超时则终止当前交易处理。
本发明实施例中,所述的时间戳生成模块包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010611227.5/2.html,转载请声明来源钻瓜专利网。