CN110275764A - 调用超时处理方法、装置及系统 - Google Patents

调用超时处理方法、装置及系统 Download PDF

Info

Publication number
CN110275764A
CN110275764A CN201910404875.0A CN201910404875A CN110275764A CN 110275764 A CN110275764 A CN 110275764A CN 201910404875 A CN201910404875 A CN 201910404875A CN 110275764 A CN110275764 A CN 110275764A
Authority
CN
China
Prior art keywords
time
consuming
called side
micro services
tune
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910404875.0A
Other languages
English (en)
Other versions
CN110275764B (zh
Inventor
左正彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910404875.0A priority Critical patent/CN110275764B/zh
Publication of CN110275764A publication Critical patent/CN110275764A/zh
Application granted granted Critical
Publication of CN110275764B publication Critical patent/CN110275764B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)
  • Exchange Systems With Centralized Control (AREA)

Abstract

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

Description

调用超时处理方法、装置及系统
技术领域
本说明书实施例涉及互联网技术领域,尤其涉及一种调用超时处理方法、装置及系统。
背景技术
当前主流的微服务架构中,不同的微服务之间通过接口调用方式来交互,最终组合形成一个完整业务单元。在RPC(Remote Procedure Call,远程过程调用)调用场景下,经常会出现被调方接口超时的情况,这种情况发生以后会出现调用方认为失败但实际上被调方是处理成功的,这种调用超时:是指在调用过程中站在调用方视角感知到的超时,超时后会导致调用方认为超时,导致超时原因很多,例如网络抖动、被调方数据库抖动,被调方磁盘打满,被调方内存占用不足等等。亟需一种调用超时处理方法,来更好应对这类调用超时。
发明内容
本说明书实施例提供一种调用超时处理方法、装置及系统。
第一方面,本说明书实施提供一种调用超时处理方法,应用于被调方,所述方法包括:接收调用方发起的服务调用请求,所述服务调用请求用于调用所述被调方的目标微服务;响应所述服务调用请求,基于所述目标微服务处理所述服务调用请求对应的目标任务;确定所述目标任务处理完成的实际耗时;判断所述实际耗时是否大于期望耗时,如果是,向所述调用方返回所述目标任务处理完成的完成结果。
第二方面,本说明书实施提供一种调用超时处理装置,包括:请求接收单元,用于接收调用方发起的服务调用请求,所述服务调用请求用于调用所述被调方的目标微服务;请求处理单元,用于响应所述服务调用请求,基于所述目标微服务处理所述服务调用请求对应的目标任务;实际耗时确定单元,用于确定所述目标任务处理完成的实际耗时;超时处理单元,用于判断所述实际耗时是否大于期望耗时,如果是,向所述调用方返回所述目标任务处理完成的完成结果。
第三方面,本说明书实施例提供一种微服务调用系统,包括:调用方,发起服务调用请求;被调方,响应所述服务调用请求,利用所述被调方的目标微服务处理所述服务调用请求对应的目标任务,确定所述目标任务处理完成的实际耗时,以及判断所述实际耗时是否大于期望耗时,如果是,向所述调用方返回所述目标任务处理完成的完成结果;所述调用方,接收所述完成结果并基于所述完成结果进行结果更新。
第四方面,本说明书实施提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述方法的步骤。
第五方面,本说明书实施提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。
本说明书实施例有益效果如下:
在本说明书实施例通过被调用方在被调方对目标任务处理完成之后确定基于目标微服务处理完成目标任务的实际耗时,并根据实际耗时与期望耗时进行调用超时判断,并在判断出实际耗时大于期望耗时向调用方返回对目标任务处理完成的完成结果,从而无需人工再次触发补偿,即不需要人工补偿发起服务调用请求,从而实现自动化补偿,实现整个调用过程中被调用方只收到了一次服务调用请求,今儿避免了被调用方重复执行同一服务调用请求,比如执行重复扣款,重复打款等。因此,本说明书实施例提供的调用超时处理方法能够提高调用可靠性,能够避免重复调用在各种应用场景下的弊端。
附图说明
图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基于完成结果进行结果更新。
本说明书实施例提供的调用超时处理方法可以做到调用超时后自动化补偿,无需人工干预,并且整个过程中被调用方只收到了一次调用,相较过去方案很好解决了,人工补偿并且多资执行的弊端。本说明书实施例中的调用超时:主要是指在调用过程中站在调用方视角感知到的超时,超时后会导致调用方认为超时,导致超时原因很多,例如网络抖动、被调用方数据库抖动,被调用方磁盘打满,被调用方内存占用不足等等。
本说明书实施例提供的调用超时处理方法,可以应用于不同的微服务应用之间通过RPC(Remote Procedure Call,远程过程调用)方式调用的调用场景,本说明书实施例提供的调用超时处理方法用以应对该调用场景下,被调方接口超时的情况发生以后会出现的调用方认为失败但实际上被调方是处理服务调用请求成功的问题。当然,针对其他存在相同或者相似问题的调用场景,也可以应用本说明书实施例提供的调用超时处理方法。
第一方面,请参考图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在执行操作时所使用的数据。
第六方面,基于与前述调用超时处理方法实施例的相同发明构思,本说明书实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述调用超时处理方法实施例的任一方法的步骤。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。

Claims (15)

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中任一项所述方法的步骤。
CN201910404875.0A 2019-05-15 2019-05-15 调用超时处理方法、装置及系统 Active CN110275764B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910404875.0A CN110275764B (zh) 2019-05-15 2019-05-15 调用超时处理方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910404875.0A CN110275764B (zh) 2019-05-15 2019-05-15 调用超时处理方法、装置及系统

Publications (2)

Publication Number Publication Date
CN110275764A true CN110275764A (zh) 2019-09-24
CN110275764B CN110275764B (zh) 2024-03-19

Family

ID=67960070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910404875.0A Active CN110275764B (zh) 2019-05-15 2019-05-15 调用超时处理方法、装置及系统

Country Status (1)

Country Link
CN (1) CN110275764B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111381951A (zh) * 2020-03-06 2020-07-07 北京思特奇信息技术股份有限公司 一种系统架构中脏数据处理方法、装置及存储介质
CN112232649A (zh) * 2020-10-09 2021-01-15 杭州拼便宜网络科技有限公司 一种任务处理评估方法及其系统、设备
CN113114490A (zh) * 2021-03-30 2021-07-13 海信集团控股股份有限公司 一种api调用异常告警方法、装置、设备及介质
CN113783822A (zh) * 2020-06-03 2021-12-10 北京沃东天骏信息技术有限公司 一种服务超时管理方法和装置
CN115396493A (zh) * 2022-08-17 2022-11-25 融慧金科金融服务外包(北京)有限公司 分布式动态控制api超时响应的管理系统及方法
CN115983393A (zh) * 2022-12-30 2023-04-18 北京百度网讯科技有限公司 量子电路任务超时原因确定方法、装置、设备及存储介质

Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050209804A1 (en) * 2004-03-17 2005-09-22 International Business Machines Corporation Method and system for maintaining and examining timers for network connections
US20070118843A1 (en) * 2005-11-18 2007-05-24 Sbc Knowledge Ventures, L.P. Timeout helper framework
US20070130574A1 (en) * 2005-12-01 2007-06-07 Apptran Software Method and system for event-based remote procedure call implementation in a distributed computing system
CN101795289A (zh) * 2009-12-30 2010-08-04 华为技术有限公司 一种远程过程调用控制方法、装置和系统
US20110107358A1 (en) * 2009-10-30 2011-05-05 Symantec Corporation Managing remote procedure calls when a server is unavailable
US8307031B1 (en) * 2010-04-28 2012-11-06 Google Inc. Processing data requests using multiple request timers
CN103312549A (zh) * 2013-06-26 2013-09-18 华为技术有限公司 一种事务管理方法及装置和系统
US8762154B1 (en) * 2011-08-15 2014-06-24 West Corporation Method and apparatus of estimating optimum dialog state timeout settings in a spoken dialog system
CN104601696A (zh) * 2015-01-13 2015-05-06 北京京东尚科信息技术有限公司 服务处理方法、服务调用框架、装置和架构
US20150293953A1 (en) * 2014-04-11 2015-10-15 Chevron U.S.A. Inc. Robust, low-overhead, application task management method
TW201541912A (zh) * 2014-04-29 2015-11-01 Digiwin Software Co Ltd 適用於遠端程序呼叫的逾時控制單元與遠端程序呼叫方法
US20160034862A1 (en) * 2014-07-31 2016-02-04 Ncr Corporation Dynamic network timeout tuning
CN105554085A (zh) * 2015-12-10 2016-05-04 北京奇虎科技有限公司 一种基于服务器连接的动态超时处理方法和装置
CN107257363A (zh) * 2017-05-27 2017-10-17 北京思特奇信息技术股份有限公司 一种响应请求端请求的方法及系统
CN107589986A (zh) * 2017-07-28 2018-01-16 北京北信源软件股份有限公司 一种数据处理超时的通用处理方法与装置
CN108289060A (zh) * 2017-01-09 2018-07-17 腾讯科技(深圳)有限公司 一种基于rpc服务的数据处理方法以及装置
US20180270107A1 (en) * 2017-03-16 2018-09-20 International Business Machines Corporation Microservices communication pattern for fault detection in end-to-end flows
CN108920346A (zh) * 2018-06-05 2018-11-30 北京奇安信科技有限公司 web服务器接口耗时统计方法及装置
CN109104491A (zh) * 2018-08-30 2018-12-28 郑州云海信息技术有限公司 一种微服务调用方法、装置、服务器及存储介质
CN109144700A (zh) * 2018-09-03 2019-01-04 阿里巴巴集团控股有限公司 超时时长的确定方法、装置、服务器和数据处理方法
CN109218369A (zh) * 2017-07-05 2019-01-15 阿里巴巴集团控股有限公司 远程过程调用请求控制方法及装置
CN109255704A (zh) * 2018-08-14 2019-01-22 阿里巴巴集团控股有限公司 信息处理方法、装置、服务器及计算机可读存储介质
CN109495531A (zh) * 2017-09-13 2019-03-19 北京国双科技有限公司 请求处理方法及装置
CN109495452A (zh) * 2018-10-24 2019-03-19 苏宁易购集团股份有限公司 响应超时处理方法、服务器及客户端响应超时处理系统

Patent Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050209804A1 (en) * 2004-03-17 2005-09-22 International Business Machines Corporation Method and system for maintaining and examining timers for network connections
US20070118843A1 (en) * 2005-11-18 2007-05-24 Sbc Knowledge Ventures, L.P. Timeout helper framework
US20070130574A1 (en) * 2005-12-01 2007-06-07 Apptran Software Method and system for event-based remote procedure call implementation in a distributed computing system
US20110107358A1 (en) * 2009-10-30 2011-05-05 Symantec Corporation Managing remote procedure calls when a server is unavailable
CN101795289A (zh) * 2009-12-30 2010-08-04 华为技术有限公司 一种远程过程调用控制方法、装置和系统
US8307031B1 (en) * 2010-04-28 2012-11-06 Google Inc. Processing data requests using multiple request timers
US8762154B1 (en) * 2011-08-15 2014-06-24 West Corporation Method and apparatus of estimating optimum dialog state timeout settings in a spoken dialog system
CN103312549A (zh) * 2013-06-26 2013-09-18 华为技术有限公司 一种事务管理方法及装置和系统
US20150293953A1 (en) * 2014-04-11 2015-10-15 Chevron U.S.A. Inc. Robust, low-overhead, application task management method
TW201541912A (zh) * 2014-04-29 2015-11-01 Digiwin Software Co Ltd 適用於遠端程序呼叫的逾時控制單元與遠端程序呼叫方法
US20160034862A1 (en) * 2014-07-31 2016-02-04 Ncr Corporation Dynamic network timeout tuning
CN104601696A (zh) * 2015-01-13 2015-05-06 北京京东尚科信息技术有限公司 服务处理方法、服务调用框架、装置和架构
CN105554085A (zh) * 2015-12-10 2016-05-04 北京奇虎科技有限公司 一种基于服务器连接的动态超时处理方法和装置
CN108289060A (zh) * 2017-01-09 2018-07-17 腾讯科技(深圳)有限公司 一种基于rpc服务的数据处理方法以及装置
US20180270107A1 (en) * 2017-03-16 2018-09-20 International Business Machines Corporation Microservices communication pattern for fault detection in end-to-end flows
CN107257363A (zh) * 2017-05-27 2017-10-17 北京思特奇信息技术股份有限公司 一种响应请求端请求的方法及系统
CN109218369A (zh) * 2017-07-05 2019-01-15 阿里巴巴集团控股有限公司 远程过程调用请求控制方法及装置
CN107589986A (zh) * 2017-07-28 2018-01-16 北京北信源软件股份有限公司 一种数据处理超时的通用处理方法与装置
CN109495531A (zh) * 2017-09-13 2019-03-19 北京国双科技有限公司 请求处理方法及装置
CN108920346A (zh) * 2018-06-05 2018-11-30 北京奇安信科技有限公司 web服务器接口耗时统计方法及装置
CN109255704A (zh) * 2018-08-14 2019-01-22 阿里巴巴集团控股有限公司 信息处理方法、装置、服务器及计算机可读存储介质
CN109104491A (zh) * 2018-08-30 2018-12-28 郑州云海信息技术有限公司 一种微服务调用方法、装置、服务器及存储介质
CN109144700A (zh) * 2018-09-03 2019-01-04 阿里巴巴集团控股有限公司 超时时长的确定方法、装置、服务器和数据处理方法
CN109495452A (zh) * 2018-10-24 2019-03-19 苏宁易购集团股份有限公司 响应超时处理方法、服务器及客户端响应超时处理系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111381951A (zh) * 2020-03-06 2020-07-07 北京思特奇信息技术股份有限公司 一种系统架构中脏数据处理方法、装置及存储介质
CN113783822A (zh) * 2020-06-03 2021-12-10 北京沃东天骏信息技术有限公司 一种服务超时管理方法和装置
CN113783822B (zh) * 2020-06-03 2023-05-30 北京沃东天骏信息技术有限公司 服务超时管理方法和装置,电子设备,可读介质
CN112232649A (zh) * 2020-10-09 2021-01-15 杭州拼便宜网络科技有限公司 一种任务处理评估方法及其系统、设备
CN113114490A (zh) * 2021-03-30 2021-07-13 海信集团控股股份有限公司 一种api调用异常告警方法、装置、设备及介质
CN113114490B (zh) * 2021-03-30 2023-10-27 海信集团控股股份有限公司 一种api调用异常告警方法、装置、设备及介质
CN115396493A (zh) * 2022-08-17 2022-11-25 融慧金科金融服务外包(北京)有限公司 分布式动态控制api超时响应的管理系统及方法
CN115983393A (zh) * 2022-12-30 2023-04-18 北京百度网讯科技有限公司 量子电路任务超时原因确定方法、装置、设备及存储介质
CN115983393B (zh) * 2022-12-30 2024-05-24 北京百度网讯科技有限公司 量子电路任务超时原因确定方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN110275764B (zh) 2024-03-19

Similar Documents

Publication Publication Date Title
CN110275764A (zh) 调用超时处理方法、装置及系统
CN108681777B (zh) 一种基于分布式系统的机器学习程序运行的方法和装置
US11283698B2 (en) Optimizing timeout settings for nodes in a workflow
EP1979823A2 (en) Coordinating and selecting computer protocols for resources acquisition from multiple resource managers
CN106998343A (zh) 一种远程过程调用处理方法、装置及系统
US11799954B2 (en) Intelligent, decentralized and autonomous marketplace for distributed computing and storage
JP2009244945A (ja) 負荷分散プログラム、負荷分散方法、負荷分散装置およびそれを含むシステム
CN107920120A (zh) 业务处理方法、装置及计算机可读存储介质
CN111431730B (zh) 一种业务处理方法、系统、计算机设备及可读介质
CN113196238A (zh) 服务感知的无服务器云计算系统
CN109254726A (zh) 分布式存储系统中服务质量保障方法、控制节点及系统
CN109819023A (zh) 分布式事务处理方法及相关产品
Rajavel et al. ADSLANF: A negotiation framework for cloud management systems using a bulk negotiation behavioral learning approach
CN113283803B (zh) 一种物资需求计划的制定方法、相关装置及存储介质
CN110113176B (zh) 用于配置服务器的信息同步方法及装置
Jayaram et al. Just-in-time aggregation for federated learning
US9524330B1 (en) Optimization of production systems
US11037214B2 (en) Generation of performance offerings for interactive applications
US20020007337A1 (en) Match-making in electronic trading systems
CN110413421A (zh) 业务数据处理方法和装置、交易数据处理方法和装置
CN113568706A (zh) 针对业务的容器调整方法、装置、电子设备和存储介质
US11526574B2 (en) Server of statistics for optimization of client-server requests
Chhetri et al. Adaptive AutoSLAM-Policy-Based Orchestration of SLA Establishment
CN110351334A (zh) 业务请求处理及支付业务请求处理方法和装置
CN110443674A (zh) 订单数据的拉取方法及装置、存储介质、计算机设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200930

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200930

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant