一种分布式系统的调用方法和装置制造方法及图纸

技术编号:14814648 阅读:66 留言:0更新日期:2017-03-15 04:44
本申请提供一种分布式系统的调用方法和装置。所述方法包括:从上游节点发送的第一调用消息中获取第一超时时间;在对所述第一调用消息进行处理的过程中,判断对所述第一调用消息进行处理所消耗的时间是否已超过所述第一超时时间;如果对所述第一调用消息进行处理所消耗的时间已超过所述第一超时时间,则停止对所述第一调用消息进行处理。通过本申请的技术方案,可以在节点自身处理超时的时候,及时停止对所述第一调用消息的继续处理,节省计算资源。

【技术实现步骤摘要】

本申请涉及通信
,尤其涉及一种分布式系统的调用方法和装置
技术介绍
分布式系统通常由能够实现不同功能的服务器或服务器集成组成,各个服务器或服务器集群之间通过调用实现相互交互。上游节点发送调用消息,并等待下游节点在处理完成之后的反馈。如果下游节点处理超时,则会造成下游节点中大量计算资源的浪费。
技术实现思路
有鉴于此,本申请提供一种分布式系统的调用方法和装置,以解决下游节点处理超时所导致的计算资源的浪费。具体地,本申请是通过如下技术方案实现的:一种分布式系统的调用方法,所述方法包括:从上游节点发送的第一调用消息中获取第一超时时间;在对所述第一调用消息进行处理的过程中,判断对所述第一调用消息进行处理所消耗的时间是否已超过所述第一超时时间;如果对所述第一调用消息进行处理所消耗的时间已超过所述第一超时时间,则停止对所述第一调用消息进行处理。进一步地,如果对所述第一调用消息进行处理所消耗的时间已超过所述第一超时时间,则停止对下游节点的调用。进一步地,所述方法还包括:如果对所述第一调用消息进行处理所消耗的时间没有超过所述第一超时时间,则在完成对所述第一调用消息的处理后,向下游节点发送第二调用消息,并在所述第二调用消息中携带第二超时时间。进一步地,所述方法还包括:判断是否在所述第二超时时间内接收到下游节点返回的处理完成的消息;如果没有在所述第二超时时间内接收到下游节点返回的处理完成的消息,则确认超时。进一步地,所述第二超时时间是第一调用剩余时间和预设的第二调用超时时间中的较小值,其中,所述第一调用剩余时间等于所述第一超时时间减去完成对所述第一调用消息的处理所消耗的时间。进一步地,所述判断对所述第一调用消息进行处理所消耗的时间是否已超过所述第一超时时间包括:在执行完对所述第一调用消息进行处理过程中的每个步骤后,判断当前对所述第一调用消息进行处理所消耗的时间是否已超过所述第一超时时间;所述停止对所述第一调用消息进行处理包括:停止执行对所述第一调用消息进行处理过程中的下一个步骤。一种分布式系统的调用装置,所述装置包括:时间获取单元,从上游节点发送的第一调用消息中获取第一超时时间;第一判断单元,在对所述第一调用消息进行处理的过程中,判断对所述第一调用消息进行处理所消耗的时间是否已超过所述第一超时时间;第一处理单元,在对所述第一调用消息进行处理所消耗的时间已超过所述第一超时时间时,停止对所述第一调用消息进行处理。进一步地,所述第一处理单元,在对所述第一调用消息进行处理所消耗的时间已超过所述第一超时时间时,停止对下游节点的调用。进一步地,所述装置还包括:下游调用单元,在对所述第一调用消息进行处理所消耗的时间没有超过所述第一超时时间时,在完成对所述第一调用消息的处理后,向下游节点发送第二调用消息,并在所述第二调用消息中携带第二超时时间。进一步地,所述装置还包括:第二判断单元,判断是否在所述第二超时时间内接收到下游节点返回的处理完成的消息;第二处理单元,在没有在所述第二超时时间内接收到下游节点返回的处理完成的消息时,确认超时。进一步地,所述第二超时时间是第一调用剩余时间和预设的第二调用超时时间中的较小值,其中,所述第一调用剩余时间等于所述第一超时时间减去完成对所述第一调用消息的处理所消耗的时间。进一步地,所述第一判断单元,具体在执行完对所述第一调用消息进行处理过程中的每个步骤后,判断当前对所述第一调用消息进行处理所消耗的时间是否已超过所述第一超时时间;所述第一处理单元,在对所述第一调用消息进行处理所消耗的时间已超过所述第一超时时间时,具体停止执行对所述第一调用消息进行处理过程中的下一个步骤。由以上描述可以看出,在本申请中,上游节点将下游节点处理第一调用消息的第一超时时间携带在所述第一调用消息中发送给下游节点,以使下游节点可以根据所述第一超时时间监控自身的处理时间,并在自身处理超时的时候,能够及时停止对所述第一调用消息的继续处理,节省了计算资源。附图说明图1是本申请一实施例中分布式系统的调用方法的流程示意图。图2是本申请另一实施例中分布式系统的调用方法的流程示意图。图3是本申请一实施例中一种服务器的结构示意图。图4是本申请一实施例中分布式系统的调用装置的结构示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。针对上述问题,本申请提供一种分布式系统的调用方案,以解决调用超时所导致的计算资源浪费的问题。本申请提供一种分布式系统的调用方法,可以应用在服务器上,请参考图1,所述调用方法包括以下步骤:步骤101,从上游节点发送的第一调用消息中获取第一超时时间。在本实施例中,每个提供服务的节点上通常都会保存有管理人员预先配置的其调用下游节点的超时时间,比如:节点1在处理某个服务时,需要调用节点2,管理人员通常会在节点1中预先配置调用节点2的超时时间,节点1如果在所述超时时间内没有接收到节点2返回的处理完成的消息,则可以确认此次调用超时。在本申请中,将节点1称之为节点2的上游节点,将节点2称之为节点1的下游节点。需要说明的是,如果节点2还需要调用节点3,那么节点2为节点3的上游节点,节点3是节点2的下游节点。在本实施例中,上游节点在发送调用消息给下游节点时,获本文档来自技高网...

【技术保护点】
一种分布式系统的调用方法,其特征在于,所述方法包括:从上游节点发送的第一调用消息中获取第一超时时间;在对所述第一调用消息进行处理的过程中,判断对所述第一调用消息进行处理所消耗的时间是否已超过所述第一超时时间;如果对所述第一调用消息进行处理所消耗的时间已超过所述第一超时时间,则停止对所述第一调用消息进行处理。

【技术特征摘要】
1.一种分布式系统的调用方法,其特征在于,所述方法包括:
从上游节点发送的第一调用消息中获取第一超时时间;
在对所述第一调用消息进行处理的过程中,判断对所述第一调用消息进
行处理所消耗的时间是否已超过所述第一超时时间;
如果对所述第一调用消息进行处理所消耗的时间已超过所述第一超时时
间,则停止对所述第一调用消息进行处理。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果对所述第一调用消息进行处理所消耗的时间已超过所述第一超时时
间,则停止对下游节点的调用。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果对所述第一调用消息进行处理所消耗的时间没有超过所述第一超时
时间,则在完成对所述第一调用消息的处理后,向下游节点发送第二调用消
息,并在所述第二调用消息中携带第二超时时间。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
判断是否在所述第二超时时间内接收到下游节点返回的处理完成的消息;
如果没有在所述第二超时时间内接收到下游节点返回的处理完成的消息,
则确认超时。
5.根据权利要求3所述的方法,其特征在于,
所述第二超时时间是第一调用剩余时间和预设的第二调用超时时间中的
较小值,其中,所述第一调用剩余时间等于所述第一超时时间减去完成对所
述第一调用消息的处理所消耗的时间。
6.根据权利要求1所述的方法,其特征在于,
所述判断对所述第一调用消息进行处理所消耗的时间是否已超过所述第
一超时时间包括:
在执行完对所述第一调用消息进行处理过程中的每个步骤后,判断当前

\t对所述第一调用消息进行处理所消耗的时间是否已超过所述第一超时时间;
所述停止对所述第一调用消息进行处理包括:
停止执行对所述第一调用消息进行处理过程中的下一个步骤。
7.一种分布式系统的调用装置,其特征在于,...

【专利技术属性】
技术研发人员:李俊奎
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1