买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】调用超时处理方法、装置及系统_创新先进技术有限公司_201910404875.0 

申请/专利权人:创新先进技术有限公司

申请日:2019-05-15

公开(公告)日:2024-03-19

公开(公告)号:CN110275764B

主分类号:G06F9/48

分类号:G06F9/48;G06F9/54

优先权:

专利状态码:有效-授权

法律状态:2024.03.19#授权;2020.10.27#专利申请权的转移;2020.10.27#专利申请权的转移;2019.10.22#实质审查的生效;2019.09.24#公开

摘要:本说明书实施例提供一种调用超时处理方法、装置及系统,通过被调方判断处理完成目标任务的实际耗时是否大于预期耗时,并在判断出实际耗时大于预期耗时后向调用方返回处理目标任务完成的完成结果,从而实现自动化补偿,使得整个调用过程中被调用方只收到了一次服务调用请求,提高了调用可靠性,进而避免重复调用在各种应用场景下的弊端。

主权项:1.一种调用超时处理方法,应用于被调方,所述方法包括:接收调用方发起的服务调用请求,所述服务调用请求用于调用所述被调方的目标微服务;响应所述服务调用请求,基于所述目标微服务处理所述服务调用请求对应的目标任务,在基于目标微服务处理服务调用请求对应的目标任务的过程中,监听到处理目标任务的当前耗时超出预设超时阈值时,返回超时错误消息;在所述目标任务处理完成之后,确定所述目标任务处理完成的实际耗时;判断所述实际耗时是否大于期望耗时,如果是,向所述调用方返回所述目标任务处理完成的完成结果,以使所述调用方基于所述完成结果进行结果更新,从超时错误更新为对应的处理成功结果;其中,获取由所述调用方传入的期望耗时,所述传入的期望耗时由所述调用方根据所述调用方的平均响应时长和所述调用方的内部耗时时长进行预估得到,所述平均响应时长为所述调用方调用不同微服务的响应时长的平均值,所述内部耗时时长为调用所述目标微服务的所有步骤中,属于所述调用方执行步骤的耗时时长;或者确定所述目标微服务的性能信息,根据目标微服务的性能信息预估所述被调方基于目标微服务处理所述目标任务的所有步骤的总耗时时长,并将所述总耗时时长作为期望耗时。

全文数据:调用超时处理方法、装置及系统技术领域本说明书实施例涉及互联网技术领域,尤其涉及一种调用超时处理方法、装置及系统。背景技术当前主流的微服务架构中,不同的微服务之间通过接口调用方式来交互,最终组合形成一个完整业务单元。在RPCRemoteProcedureCall,远程过程调用调用场景下,经常会出现被调方接口超时的情况,这种情况发生以后会出现调用方认为失败但实际上被调方是处理成功的,这种调用超时:是指在调用过程中站在调用方视角感知到的超时,超时后会导致调用方认为超时,导致超时原因很多,例如网络抖动、被调方数据库抖动,被调方磁盘打满,被调方内存占用不足等等。亟需一种调用超时处理方法,来更好应对这类调用超时。发明内容本说明书实施例提供一种调用超时处理方法、装置及系统。第一方面,本说明书实施提供一种调用超时处理方法,应用于被调方,所述方法包括:接收调用方发起的服务调用请求,所述服务调用请求用于调用所述被调方的目标微服务;响应所述服务调用请求,基于所述目标微服务处理所述服务调用请求对应的目标任务;确定所述目标任务处理完成的实际耗时;判断所述实际耗时是否大于期望耗时,如果是,向所述调用方返回所述目标任务处理完成的完成结果。第二方面,本说明书实施提供一种调用超时处理装置,包括:请求接收单元,用于接收调用方发起的服务调用请求,所述服务调用请求用于调用所述被调方的目标微服务;请求处理单元,用于响应所述服务调用请求,基于所述目标微服务处理所述服务调用请求对应的目标任务;实际耗时确定单元,用于确定所述目标任务处理完成的实际耗时;超时处理单元,用于判断所述实际耗时是否大于期望耗时,如果是,向所述调用方返回所述目标任务处理完成的完成结果。第三方面,本说明书实施例提供一种微服务调用系统,包括:调用方,发起服务调用请求;被调方,响应所述服务调用请求,利用所述被调方的目标微服务处理所述服务调用请求对应的目标任务,确定所述目标任务处理完成的实际耗时,以及判断所述实际耗时是否大于期望耗时,如果是,向所述调用方返回所述目标任务处理完成的完成结果;所述调用方,接收所述完成结果并基于所述完成结果进行结果更新。第四方面,本说明书实施提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述方法的步骤。第五方面,本说明书实施提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。本说明书实施例有益效果如下:在本说明书实施例通过被调用方在被调方对目标任务处理完成之后确定基于目标微服务处理完成目标任务的实际耗时,并根据实际耗时与期望耗时进行调用超时判断,并在判断出实际耗时大于期望耗时向调用方返回对目标任务处理完成的完成结果,从而无需人工再次触发补偿,即不需要人工补偿发起服务调用请求,从而实现自动化补偿,实现整个调用过程中被调用方只收到了一次服务调用请求,今儿避免了被调用方重复执行同一服务调用请求,比如执行重复扣款,重复打款等。因此,本说明书实施例提供的调用超时处理方法能够提高调用可靠性,能够避免重复调用在各种应用场景下的弊端。附图说明图1为本说明书实施调用超时处理方法的场景示意图;图2A为本说明书实施例第一方面提供的调用超时处理方法的流程图;图2B为本说明书实施例第一方面提供的调用超时处理方法的交互示意图;图3为本说明书实施例第二方面提供的调用超时处理装置的结构示意图;图4为本说明书实施例第四方面提供的调用超时处理装置的结构示意图。具体实施方式为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。请参见图1,为本说明书实施例提供的调用超时处理方法的场景示意图。调用方100与被调方200通信。调用方100发起服务调用请求;被调方200响应接收到的服务调用请求,利用被调方200的目标微服务处理所述服务调用请求对应的目标任务,确定目标任务处理完成的实际耗时,以及判断实际耗时是否大于期望耗时,如果是,向调用方100返回目标任务处理完成的完成结果;调用方10接收完成结果并基于完成结果进行结果更新。假设一业务操作需要调用方100中的A微服务和被调方中的B微服务形成一个完整业务单元进行响应。则调用方100接受到用户的业务操作后,调用方100中的A微服务进行处理,完成整个业务中对应由A微服务完成的任务。然后,调用方100向被调方200发起服务调用请求,该服务调用请求用于从被调方200调用B微服务。被调方200响应该服务调用请求,调用B微服务完成整个业务中对应的另一个任务即目标任务。在B微服务完成目标任务之后,被调方200确定目标任务处理完成的实际耗时,被调方200判断实际耗时是否大于期望耗时,如果是,被调方200向调用方100返回目标任务处理完成的完成结果。调用方100基于完成结果进行结果更新。本说明书实施例提供的调用超时处理方法可以做到调用超时后自动化补偿,无需人工干预,并且整个过程中被调用方只收到了一次调用,相较过去方案很好解决了,人工补偿并且多资执行的弊端。本说明书实施例中的调用超时:主要是指在调用过程中站在调用方视角感知到的超时,超时后会导致调用方认为超时,导致超时原因很多,例如网络抖动、被调用方数据库抖动,被调用方磁盘打满,被调用方内存占用不足等等。本说明书实施例提供的调用超时处理方法,可以应用于不同的微服务应用之间通过RPCRemoteProcedureCall,远程过程调用方式调用的调用场景,本说明书实施例提供的调用超时处理方法用以应对该调用场景下,被调方接口超时的情况发生以后会出现的调用方认为失败但实际上被调方是处理服务调用请求成功的问题。当然,针对其他存在相同或者相似问题的调用场景,也可以应用本说明书实施例提供的调用超时处理方法。第一方面,请参考图2A所示,该调用超时处理方法包括步骤S201-S203:S201、被调方接收调用方发起的服务调用请求,服务调用请求用于调用被调方的目标微服务。在具体实施过程中,调用方接受用户发起的业务操作,不同的微服务之间通过接口调用方式来交互,最终组合形成一个完整业务单元对用户发起的业务操作进行响应。S202、被调方响应服务调用请求,基于目标微服务处理服务调用请求对应的目标任务。举例来讲,比如:目标微服务是扣款服务,调用方调用被调方的扣款服务,处理扣款任务。又比如,目标微服务是积分服务,调用方调用被调方的积分服务,处理积分的扣减、增加。S203、被调方确定目标任务处理完成的实际耗时。在一可选的实施方式中,在目标任务处理完成之后,确定目标任务处理完成的实际耗时。S203具体包括:确定服务调用请求的发起时间;确定处理目标任务的完成时间;根据发起时间和完成时间确定实际耗时。具体的,在服务调用请求中增加该服务调用请求的发起时间这一额外参数,从而调用方向被调方发起携带有发起时间的服务调用请求。服务调用请求的发起时间,可以为:服务调用请求发起时调用方的系统时间。在本说明书实施例中,接口调用耗时与发起时间精确到同一数量级。具体的,发起时间与接口调用耗时均精确至毫秒级。具体的,完成时间可以为被调方处理目标任务完成时,被调方的系统时间。在本说明书实施例中,在目标任务处理完成之后才开始执行步骤S203,如果目标任务没有完全处理完成就开始计算完成时间,会导致超时判断不准确。在具体实施过程中,被调方根据发起时间和完成时间确定被调方处理完成目标任务的实际耗时,可以有多种实现方式,下面分别进行描述:实现方式一调用方仅向被调方传入服务调用请求的发起时间。具体包括:被调方计算完成时间与发起时间之差,并将发起时间与完成时间之差作为被调方处理完成目标任务的实际耗时。该实现方式一应用于调用方与被调方处于同一时区、且使用相同计时时钟的情况,能够得到准确的实际耗时。若调用方和被调方不在同一时区或者属于不同计时时钟,可能会导致实际耗时不准确。为了进一步提高计算实际耗时的准确性,可以采用如下实现方式二:实现方式二调用方向被调方传入服务调用请求的发起时间、调用方时钟属性。其中,调用方传入的时钟属性包括:调用方的时区信息和计时时钟类型中的一种或者两种。基于此,S203具体包括如下步骤1-4:步骤1、被调方接收调用方传入的调用方时钟属性,其中,调用方时钟属性包括:调用方的时区信息和或调用方的计时时钟类型。步骤2、确定被调方时钟属性,其中,被调方时钟属性包括:被调方的时区信息和或被调方的计时时钟类型。步骤3、被调方根据调用方时钟属性和调用方时钟属性,对发起时间进行转换处理,得到与被调方时钟属性匹配的目标发起时间。具体来讲,如果调用方与被调方处于不同时区、但是计时时钟类型相同,则接收调用方传入的调用方的时区信息,并查询被调方的时区信息;根据调用方和被调方各自的时区信息确定时差信息,根据该时差信息对发起时间进行时差转换处理,得到目标发起时间。如果调用方与被调方处于相同时区、但是计时时钟类型不同,则接收调用方传入的调用方的计时时钟类型、查询被调方的计时时钟类型;根据调用方和被调方各自的计时时钟类型对发起时间进行计时时钟转换,得到目标发起时间。比如,从二十四小时制转换为十二小时制。如果调用方与被调方处于不同时区、计时时钟类型也不同,则接收调用方传入的调用方的时区信息和计时时钟类型,并查询被调方的时区信息和计时时钟类型;根据调用方和被调方各自的时区信息确定时差信息、以及调用方、被调方各自的计时时钟类型对发起时间进行计时时钟类型和时差转换,得到目标发起时间。步骤4、被调方将完成时间与目标发起时间之差,作为被调方处理目标任务的实际耗时。S204、被调方判断实际耗时是否大于期望耗时,如果是,被调方向调用方返回目标任务处理完成的完成结果。具体的,期望耗时可以由调用方传入被调方,或者由被调方自行确定,或者是一个预设的经验值。如果期望耗时由调用方传入被调方,则期望耗时可以携带在服务调用请求中的参数中,期望耗时也可以与服务调用请求分开的方式单独传入被调方。如果期望耗时由调用方传入被调方,期望耗时由调用方根据调用方的的平均响应时长和所述调用方的内部耗时时长进行预估得到。需要说明的是,调用方的内部耗时时长:预估微服务调用过程中需要调用方完成的各个步骤的总耗时。平均响应时长为:对调用方调用不同微服务的响应时长进行平均值计算得到。举例来讲,微服务A调用微服务B包括:步骤01、02、03、04,其中,步骤01、02为调用方执行的步骤,预估步骤01、02共耗时为0.5毫秒,步骤02、03、04为被调方执行的步骤。平均响应时长为5毫秒,则5毫秒-0.5毫秒=4.5毫秒,则4.5毫秒为期望耗时。进一步的,平均响应时长可以根据调用方实际实施过程中不断更新的调用各微服务的响应时长进行不断更新,以提高期望耗时的准确性。在具体实施过程中,如果由被调方确定期望耗时,可以通过如下实施过程预估得到期望耗时:步骤1、确定目标微服务的性能信息。步骤2、根据目标微服务的性能信息预估被调方基于目标微服务处理目标任务的所有步骤的总耗时时长,并将总耗时时长作为期望耗时。具体的,根据目标微服务的性能信息预估被调方处理目标任务的每个步骤的耗时,将各个步骤的耗时预估结果之和作为总耗时时长。进一步的,调用方接收到被调方返回的完成结果之后,进行结果更新。比如,调用扣款服务,完成扣款。调用方接收到扣款服务被调方返回的“扣款成功”的结果执行,从“扣款中”更新为“扣款成功”。调用方接收到被调方返回的完成结果之后,如果调方还需要调用下一个微服务,则继续向下一个微服务对应的下一个被调方发起对应的服务调用请求。进一步的,在一可选的实施方式中,在基于目标微服务处理服务调用请求对应的目标任务的过程中,监听处理目标任务的当前耗时是否超出预设超时阈值;在监听到超出预设超时阈值时,返回超时错误消息。本实施方式中,结果更新可以是:从超时错误更新为对应的处理成功结果。比如,从超时错误更新为“扣款成功”。需要说明的是,在具体实施过程中,针对具体微服务的类型以及所完成任务的不同,返回的完成结果可以仅是仅返回处理成功消息,在此基础上,还可以包括对应的返回值。以如下业务场景,参考图2B对本说明书实施例提供的调用超时处理方法进行举例说明,以理解本说明书实施例:电商网站实现支付订单的流程如下:创建一个订单D之后,如果用户支付了这个订单,需要将订单状态更新为“已支付”,以及扣减相应的商品库存,以及通知仓储中心进行发货。针对上述流程构建的微服务架构中,需要有订单微服务、库存微服务、仓储微服务。各个微服务之间的调用流程如下:用户完成一个订单的支付之后,订单微服务进行更新订单状态;订单微服务调用库存微服务,以完成扣减相应的商品库存;订单微服务调用仓储微服务,以完成通知仓储中心进行发货;至此,整个支付订单的业务流程结束。针对XX用户执行对D订单的支付操作,订单微服务更新D订单的订单状态,并且,订单微服务调用方向库存微服务被调方发起服务调用请求,携带服务调用请求的发起时间。比如,发起时间为2018年3月20日3:24:42。库存微服务接收到该服务调用请求后,处理任务:扣减D订单相应的商品库存,在处理过程中如果已经超时,则向调用方返回超时错误消息,并继续执行扣减D订单相应的商品库存,直至扣减D订单相应的商品库存处理完成,库存微服务记录扣减D订单相应的商品库存的完成时间,具体为执行“扣减D订单相应的商品库存”这一任务完成时,库存微服务所在系统的系统时间。比如,在2018年3月20日3:24:44完成了扣减D订单相应的商品库存,则记录完成时间为“2018年3月20日3:24:44”。库存微服务根据服务调用请求的发起时间和处理目标任务的完成时间计算出被调方处理目标任务的实际耗时,比如5毫秒。库存微服务进行超时预判,即:判断实际耗时是否大于期望耗时,如果实际耗时大于期望耗时,库存微服务向订单微服务返回处理“扣减D订单”的完成结果:扣减成功,否则结束。比如,期望耗时为0.8毫秒,则实际耗时2毫秒大于期望耗时0.8毫秒,则重新向订单微服务返回处理“扣减D订单”的完成结果:扣减成功,否则库存微服务不需要向订单微服务返回“扣减D订单”的完成结果:扣减成功。接着,订单微服务调用仓储微服务,完成通知仓储中心进行发货。而订单微服务调用仓储微服务过程与前述订单微服务调用库存微服务的过程类似,为了说明书的简洁,在此不再赘述。直至订单微服务获得仓储微服务返回的完成结果比如“已通知发货”之后,订单微服务向用户端反馈订单支付成功的消息,至此,整个支付订单的业务流程结束。需要说明的是,本说明书实施例提供的调用超时处理方法可以应用在任何基于微服务架构的业务场景。因此,任意业务场景下,只要采用本说明书实施例提供的调用超时处理方法,均属于本发明保护范围。第二方面,基于与前述调用超时处理方法实施例的相同发明构思,本说明书实施例提供一种调用超时处理装置,如图3所示,包括:请求接收单元301,用于接收调用方发起的服务调用请求,所述服务调用请求用于调用所述被调方的目标微服务;请求处理单元302,用于响应所述服务调用请求,基于所述目标微服务处理所述服务调用请求对应的目标任务;实际耗时确定单元303,用于确定所述目标任务处理完成的实际耗时;超时处理单元304,用于判断所述实际耗时是否大于期望耗时,如果是,向所述调用方返回所述目标任务处理完成的完成结果。在一可选的实施方式中,所述实际耗时确定单元303,具体用于:确定所述服务调用请求的发起时间;确定处理所述目标任务的完成时间;根据所述发起时间和所述完成时间确定所述实际耗时。在一可选的实施方式中,所述装置还包括:超时返回单元305,用于:在基于所述目标微服务处理所述目标任务的过程中,监听处理所述目标任务的当前耗时是否超出预设超时阈值;如果是,返回超时错误消息。在一可选的实施方式中,所述装置还包括:期望耗时获取单元,用于获取由所述调用方传入的所述期望耗时,所述期望耗时由所述调用方根据所述调用方的平均响应时长和所述调用方的内部耗时时长进行预估得到,其中,所述平均响应时长为所述调用方调用不同微服务的响应时长的平均值,所述内部耗时时长为调用所述目标微服务的所有步骤中,属于所述调用方执行步骤的耗时时长。在一可选的实施方式中,所述装置还包括:性能确定单元,用于确定所述目标微服务的性能信息;期望耗时预估单元,用于根据目标微服务的性能信息,预估所述被调方基于目标微服务处理所述目标任务的所有步骤的总耗时时长,并将所述总耗时时长作为所述期望耗时。在一可选的实施方式中,所述装置还包括:属性接收单元,用于接收所述调用方传入的调用方时钟属性,所述调用方时钟属性包括所述调用方的时区信息和计时时钟类型中的一种或两种;属性确定单元,用于确定被调方时钟属性;转换处理单元,用于根据所述调用方时钟属性和所述调用方时钟属性,对所述发起时间进行转换处理,得到与所述被调方时钟属性匹配的目标发起时间;实际耗时计算单元,用于计算所述完成时间与目标发起时间之差,作为所述实际耗时。第三方面,本说明书实施例提供一种微服务调用系统,参考图1所示,包括:调用方,发起服务调用请求;被调方,响应所述服务调用请求,利用所述被调方的目标微服务处理所述服务调用请求对应的目标任务,确定所述目标任务处理完成的实际耗时,以及判断所述实际耗时是否大于期望耗时,如果是,向所述调用方返回所述目标任务处理完成的完成结果;所述调用方,接收所述完成结果并基于所述完成结果进行结果更新。第四方面,基于与前述调用超时处理方法实施例的相同发明构思,本说明书实施例提供一种服务器,如图4所示,包括存储器404、处理器402及存储在存储器404上并可在处理器402上运行的计算机程序,所述处理器402执行所述程序时实现前文所述调用超时处理方法实施例的任一方法的步骤。其中,在图4中,总线架构用总线400来代表,总线400可以包括任意数量的互联的总线和桥,总线400将包括由处理器402代表的一个或多个处理器和存储器404代表的存储器的各种电路链接在一起。总线400还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口406在总线400和接收器401和发送器403之间提供接口。接收器401和发送器403可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器402负责管理总线400和通常的处理,而存储器404可以被用于存储处理器402在执行操作时所使用的数据。第六方面,基于与前述调用超时处理方法实施例的相同发明构思,本说明书实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述调用超时处理方法实施例的任一方法的步骤。本说明书是参照根据本说明书实施例的方法、设备系统、和计算机程序产品的流程图和或方框图来描述的。应理解可由计算机程序指令实现流程图和或方框图中的每一流程和或方框、以及流程图和或方框图中的流程和或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能的设备。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。

权利要求:1.一种调用超时处理方法,应用于被调方,所述方法包括:接收调用方发起的服务调用请求,所述服务调用请求用于调用所述被调方的目标微服务;响应所述服务调用请求,基于所述目标微服务处理所述服务调用请求对应的目标任务;确定所述目标任务处理完成的实际耗时;判断所述实际耗时是否大于期望耗时,如果是,向所述调用方返回所述目标任务处理完成的完成结果。2.如权利要求1所述的调用超时处理方法,所述确定所述目标任务处理完成的实际耗时,包括:确定所述服务调用请求的发起时间;确定处理所述目标任务的完成时间;根据所述发起时间和所述完成时间确定所述实际耗时。3.如权利要求1所述的调用超时处理方法,还包括:在基于所述目标微服务处理所述目标任务的过程中,监听处理所述目标任务的当前耗时是否超出预设超时阈值;如果是,返回超时错误消息。4.如权利要求1所述的调用超时处理方法,还包括:获取由所述调用方传入的所述期望耗时,所述期望耗时由所述调用方根据所述调用方的平均响应时长和所述调用方的内部耗时时长进行预估得到,其中,所述平均响应时长为所述调用方调用不同微服务的响应时长的平均值,所述内部耗时时长为调用所述目标微服务的所有步骤中,属于所述调用方执行步骤的耗时时长。5.如权利要求1所述的调用超时处理方法,还包括:确定所述目标微服务的性能信息;根据目标微服务的性能信息,预估所述被调方基于目标微服务处理所述目标任务的所有步骤的总耗时时长,并将所述总耗时时长作为所述期望耗时。6.如权利要求1所述的调用超时处理方法,所述根据所述发起时间和所述完成时间确定所述实际耗时,包括:接收所述调用方传入的调用方时钟属性,所述调用方时钟属性包括所述调用方的时区信息和计时时钟类型中的一种或两种;确定被调方时钟属性,所述被调方时钟属性包括所述被调方的时区信息和计时时钟类型中的一种或两种;根据所述调用方时钟属性和所述调用方时钟属性,对所述发起时间进行转换处理,得到与所述被调方时钟属性匹配的目标发起时间;计算所述完成时间与目标发起时间之差,作为所述实际耗时。7.一种调用超时处理装置,包括:请求接收单元,用于接收调用方发起的服务调用请求,所述服务调用请求用于调用所述被调方的目标微服务;请求处理单元,用于响应所述服务调用请求,基于所述目标微服务处理所述服务调用请求对应的目标任务;实际耗时确定单元,用于确定所述目标任务处理完成的实际耗时;超时处理单元,用于判断所述实际耗时是否大于期望耗时,如果是,向所述调用方返回所述目标任务处理完成的完成结果。8.如权利要求7所述的调用超时处理装置,所述实际耗时确定单元,具体用于:确定所述服务调用请求的发起时间;确定处理所述目标任务的完成时间;根据所述发起时间和所述完成时间确定所述实际耗时。9.如权利要求7所述的调用超时处理装置,还包括:超时返回单元,用于:在基于所述目标微服务处理所述目标任务的过程中,监听处理所述目标任务的当前耗时是否超出预设超时阈值;如果是,返回超时错误消息。10.如权利要求7所述的调用超时处理装置,还包括:期望耗时获取单元,用于获取由所述调用方传入的所述期望耗时,所述期望耗时由所述调用方根据所述调用方的平均响应时长和所述调用方的内部耗时时长进行预估得到,其中,所述平均响应时长为所述调用方调用不同微服务的响应时长的平均值,所述内部耗时时长为调用所述目标微服务的所有步骤中,属于所述调用方执行步骤的耗时时长。11.如权利要求7所述的调用超时处理装置,还包括:性能确定单元,用于确定所述目标微服务的性能信息;期望耗时预估单元,用于根据目标微服务的性能信息,预估所述被调方基于目标微服务处理所述目标任务的所有步骤的总耗时时长,并将所述总耗时时长作为所述期望耗时。12.如权利要求7所述的调用超时处理装置,还包括:属性接收单元,用于接收所述调用方传入的调用方时钟属性,所述调用方时钟属性包括所述调用方的时区信息和计时时钟类型中的一种或两种;属性确定单元,用于确定被调方时钟属性;转换处理单元,用于根据所述调用方时钟属性和所述调用方时钟属性,对所述发起时间进行转换处理,得到与所述被调方时钟属性匹配的目标发起时间;实际耗时计算单元,用于计算所述完成时间与目标发起时间之差,作为所述实际耗时。13.一种微服务调用系统,包括:调用方,发起服务调用请求;被调方,响应所述服务调用请求,利用所述被调方的目标微服务处理所述服务调用请求对应的目标任务,确定所述目标任务处理完成的实际耗时,以及判断所述实际耗时是否大于期望耗时,如果是,向所述调用方返回所述目标任务处理完成的完成结果;所述调用方,接收所述完成结果并基于所述完成结果进行结果更新。14.一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1-6中任一项所述方法的步骤。15.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1-6中任一项所述方法的步骤。

百度查询: 创新先进技术有限公司 调用超时处理方法、装置及系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。