CN111782364A - 服务调用方法、装置、电子设备及存储介质 - Google Patents
服务调用方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111782364A CN111782364A CN202010613836.4A CN202010613836A CN111782364A CN 111782364 A CN111782364 A CN 111782364A CN 202010613836 A CN202010613836 A CN 202010613836A CN 111782364 A CN111782364 A CN 111782364A
- Authority
- CN
- China
- Prior art keywords
- sub
- target service
- calling
- task
- thread
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000012545 processing Methods 0.000 claims abstract description 273
- 230000002159 abnormal effect Effects 0.000 claims abstract description 48
- 230000008569 process Effects 0.000 claims abstract description 19
- 230000004044 response Effects 0.000 claims description 13
- 230000000903 blocking effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/481—Exception handling
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
本公开关于一种服务调用方法、装置、电子设备及存储介质,所述方法包括:获取任务处理请求;确定所述子任务对应的子目标服务;为所述任务处理请求分配第一调用线程,所述第一调用线程用于依次调用所述子目标服务;在所述第一调用线程调用所述子目标服务的过程中,当确定所述子目标服务处于异常状态时,为所述子目标服务分配第二调用线程,所述第二调用线程用于替代所述第一调用线程调用所述子目标服务;若所述第一调用线程未能在预设的线程间等待时间内,接收到所述第二调用线程返回的所述子目标服务处理所述子任务的处理结果时,则通过所述第一调用线程继续调用下一个所述子任务对应的子目标服务。本公开能提高整个任务处理请求的处理效率。
Description
技术领域
本公开涉及互联网技术领域,尤其涉及一种服务调用方法、装置、电子设备及存储介质。
背景技术
随着互联网业务的发展,所能够提供的服务越来越复杂,因此对服务进行了拆分,将一个服务拆分成多个子服务,并部署到不同的服务器上,在需要时再通过RPC(RemoteProcedureCal,远程调用)来调用多个子服务从而提供完全的服务。
在互联网服务中,为了完成一个任务,有可能需要使用远程调用请求其他的子服务来完成一些中间步骤,即该任务的子任务,如果被调用的子服务出现故障,有可能导致子任务的处理结果不能及时返回,从而阻塞了整个任务的处理。在严重的情况下,可能因为一个较小的子服务的故障,导致整体的任务都不能继续执行,这种现象称为雪崩。
目前业内提出了解决上述调用阻塞的问题的方案,比如超时机制。具体来说,超时机制是设置一个超时时间,当某个子服务的远程调用的耗时超过超时时间后,则确定为针对该子服务的远程调用失败,则可以继续远程调用下一个子服务,从而保证了后续子任务可以继续执行,同时避免计算资源一直被占用。
然而,超时机制存在的问题是,为了避免少量的服务性能抖动就导致远程调用超时失败,所以超时时间通常设置得比较长,这意味着如果被调用的子服务或网络长时间故障时,有可能导致所有的子任务都会增加等待比较长的等待时间,而在某个子服务的调用长期故障时,仍然会导致雪崩的发生。可见,超时时间设置过长不能解决故障情况下的阻塞问题,因此如何合理调整调用子服务的超时时长,从而避免长时间阻塞,提高任务处理请求的处理效率,是亟待解决的问题。
发明内容
本公开提供一种服务调用方法、装置、电子设备及存储介质,以至少解决相关技术中调用子服务的超时时长不合理,导致长时间阻塞,任务处理请求的处理效率低下的问题。
本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种服务调用方法,所述方法包括:
一种服务调用方法,其特征在于,所述方法包括:
获取任务处理请求;所述任务处理请求包括至少一个待处理的子任务;
确定所述子任务对应的子目标服务;所述子目标服务用于处理所述子任务并返回处理结果;
为所述任务处理请求分配第一调用线程,所述第一调用线程用于依次调用所述子目标服务;
在所述第一调用线程调用所述子目标服务的过程中,当确定所述子目标服务处于异常状态时,为所述子目标服务分配第二调用线程,所述第二调用线程用于替代所述第一调用线程调用所述子目标服务;
若所述第一调用线程未能在预设的线程间等待时间内,接收到所述第二调用线程返回的所述子目标服务处理所述子任务的处理结果时,则通过所述第一调用线程继续调用下一个所述子任务对应的子目标服务;其中,所述线程间等待时间小于所述第一调用线程对应的第一超时时间,所述第一超时时间为所述第一调用线程判断是否停止调用所述子目标服务的等待时间。
在一示例性实施例中,在所述为所述子目标服务分配第二调用线程之前,所述方法还包括:
获取所述子目标服务的状态描述数据;所述状态描述数据用于表征所述子目标服务对所述子任务的响应状态;
根据所述状态描述数据,确定所述子目标服务处于异常状态或者正常状态。
在一示例性实施例中,当所述状态描述数据为权重值时,所述权重值用于表征所述子目标服务被成功调用的次数在其被调用总次数中的比重;
所述根据所述状态描述数据,确定所述子目标服务处于异常状态或者正常状态,包括:
当所述权重值小于预设阈值时,确定所述子目标服务处于异常状态;
当所述权重值大于或等于预设阈值时,确定所述子目标服务处于正常状态。
在一示例性实施例中,在所述为所述子目标服务分配第二调用线程之后,所述方法还包括:
当在第二超时时间内,通过所述第二调用线程获取到所述子目标服务处理所述子任务的处理结果,则增加所述权重值;其中,第二超时时间为所述第二调用线程判断是否停止调用所述子目标服务的等待时间;
当未在第二超时时间内,通过所述第二调用线程接收到所述子目标服务处理所述任务的处理结果,则减小所述权重值。
在一示例性实施例中,当所述状态描述数据为所述子目标服务返回所述子任务的处理结果的耗时时间时,所述根据所述状态描述数据,确定所述子目标服务处于异常状态或者正常状态,包括:
获取所述子目标服务返回所述子任务的每个处理结果的耗时时间;
根据每个处理结果的耗时时间,获取所述子目标服务在预设时间区间内返回所述子任务的多个处理结果的平均耗时时间;
当所述平均耗时时间大于或等于预设指标阈值时,确定所述子目标服务处于异常状态;
当所述平均耗时时间小于所述预设指标阈值时,确定所述子目标服务处于正常状态。
在一示例性实施例中,所述为所述子目标服务分配第二调用线程,包括:
获取所述子目标服务对应的所述子任务的任务处理等级标识;
根据所述任务处理等级标识,确定所述子任务为第一处理等级任务或者第二处理等级任务;其中,所述第一处理等级任务的任务重要程度低于所述第二处理等级任务的任务重要程度;
当确定所述子任务为第一处理等级任务时,为所述子目标服务分配所述第二调用线程;
当确定所述子任务为第二处理等级任务时,拒绝为所述子目标服务分配所述第二调用线程。
在一示例性实施例中,在所述为所述子目标服务分配第二调用线程之后,所述方法还包括:
在所述线程间等待时间内,通过所述第一调用线程接收所述第二调用线程返回的所述子目标服务处理所述子任务的处理结果。
在一示例性实施例中,在所述为所述任务处理请求分配第一调用线程之后,所述方法还包括:
当确定所述子目标服务处于正常状态时,通过所述第一调用线程获取所述子目标服务处理所述子任务的处理结果。
在一示例性实施例中,所述方法还包括:
当完成对多个所述子目标服务的调用时,组合多个所述子目标服务返回的处理结果,得到所述任务处理请求对应的任务处理结果;
将所述任务处理结果发送至所述任务处理请求对应的请求端。
根据本公开实施例的第二方面,提供一种服务调用装置,所述装置包括:
任务处理请求获取单元,被配置为执行获取任务处理请求;所述任务处理请求包括至少一个待处理的子任务;
子目标服务确定单元,被配置为执行确定所述子任务对应的子目标服务;所述子目标服务用于处理所述子任务并返回处理结果;
第一调用线程分配单元,被配置为执行为所述任务处理请求分配第一调用线程,所述第一调用线程用于依次调用所述子目标服务;
第二调用线程分配单元,被配置为执行在所述第一调用线程调用所述子目标服务的过程中,当确定所述子目标服务处于异常状态时,为所述子目标服务分配第二调用线程,所述第二调用线程用于替代所述第一调用线程调用所述子目标服务;
继续调用单元,被配置为执行若所述第一调用线程未能在预设的线程间等待时间内,接收到所述第二调用线程返回的所述子目标服务处理所述子任务的处理结果时,则通过所述第一调用线程继续调用下一个所述子任务对应的子目标服务;其中,所述线程间等待时间小于所述第一调用线程对应的第一超时时间,所述第一超时时间为所述第一调用线程判断是否停止调用所述子目标服务的等待时间。
在一示例性实施例中,所述装置还包括:状态描述获取单元,被配置为执行获取所述子目标服务的状态描述数据;所述状态描述数据用于表征所述子目标服务对所述子任务的响应状态;响应状态确定单元,被配置为执行根据所述状态描述数据,确定所述子目标服务处于异常状态或者正常状态。
在一示例性实施例中,当所述状态描述数据为权重值时,所述权重值用于表征所述子目标服务被成功调用的次数在其被调用总次数中的比重;所述响应状态确定单元,具体被配置为执行当所述权重值小于预设阈值时,确定所述子目标服务处于异常状态;当所述权重值大于或等于预设阈值时,确定所述子目标服务处于正常状态。
在一示例性实施例中,在所述为所述子目标服务分配第二调用线程之后,所述装置还包括:第一权值调整单元,被配置为执行当在第二超时时间内,通过所述第二调用线程获取到所述子目标服务处理所述子任务的处理结果,则增加所述权重值;其中,第二超时时间为所述第二调用线程判断是否停止调用所述子目标服务的等待时间;第二权值调整单元,被配置为执行当未在第二超时时间内,通过所述第二调用线程接收到所述子目标服务处理所述任务的处理结果,则减小所述权重值。
在一示例性实施例中,当所述状态描述数据为所述子目标服务返回所述子任务的处理结果的耗时时间时,所述响应状态确定单元,具体被配置为执行获取所述子目标服务返回所述子任务的每个处理结果的耗时时间;根据每个处理结果的耗时时间,获取所述子目标服务在预设时间区间内返回所述子任务的多个处理结果的平均耗时时间;当所述平均耗时时间大于或等于预设指标阈值时,确定所述子目标服务处于异常状态;当所述平均耗时时间小于所述预设指标阈值时,确定所述子目标服务处于正常状态。
在一示例性实施例中,所述第二调用线程分配单元,具体被配置为执行获取所述子目标服务对应的所述子任务的任务处理等级标识;根据所述任务处理等级标识,确定所述子任务为第一处理等级任务或者第二处理等级任务;其中,所述第一处理等级任务的任务重要程度低于所述第二处理等级任务的任务重要程度;当确定所述子任务为第一处理等级任务时,为所述子目标服务分配所述第二调用线程;当确定所述子任务为第二处理等级任务时,拒绝为所述子目标服务分配所述第二调用线程。
在一示例性实施例中,在所述为所述子目标服务分配第二调用线程之后,所述装置还包括:结果返回单元,被配置为执行在所述线程间等待时间内,通过所述第一调用线程接收所述第二调用线程返回的所述子目标服务处理所述子任务的处理结果。
在一示例性实施例中,在所述为所述任务处理请求分配第一调用线程之后,所述装置还包括:结果获取单元,被配置为执行当确定所述子目标服务处于正常状态时,通过所述第一调用线程获取所述子目标服务处理所述子任务的处理结果。
在一示例性实施例中,所述方法还包括:任务处理结果得到单元,被配置为执行当完成对多个所述子目标服务的调用时,组合多个所述子目标服务返回的处理结果,得到所述任务处理请求对应的任务处理结果;任务处理结果发送单元,被配置为执行将所述任务处理结果发送至所述任务处理请求对应的请求端。
根据本公开实施例的第三方面,提供一种服务器,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现上述第一方面实施例中所述的服务调用方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述第一方面实施例中所述的服务调用方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,设备的至少一个处理器从所述可读存储介质读取并执行所述计算机程序,使得设备执行第一方面的任一项实施例中所述的服务调用方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
在获取任务处理请求时,确定获取任务处理请求中的子任务对应的子目标服务,然后为任务处理请求分配第一调用线程,使得第一调用线程能够依次调用子目标服务来完成对应子任务的处理并返回处理结果,在第一调用线程依次调用子目标服务的过程中,如果确定第一调用线程即将要调用的子服务处于异常状态,即说明子目标服务可能存在故障,调用失败的概率比较高,则为第一调用线程分配第二调用线程,以通过第二调用线程替代第一调用线程调用子目标服务;若第一调用线程未能在预设的线程间等待时间内,接收到第二调用线程返回的子目标服务处理子任务的处理结果时,则通过第一调用线程继续调用下一个子任务对应的子目标服务;其中,线程间等待时间小于第一调用线程对应的第一超时时间,第一超时时间为第一调用线程判断是否停止调用子目标服务的等待时间;如此,通过第二调用线程调用子目标服务且在第一调用线程未能在预设的线程间等待时间内,接收到第二调用线程返回的子目标服务处理子任务的处理结果时,则通过第一调用线程继续调用下一个子任务对应的子目标服务,可以减少等待子目标服务返回处理结果的时间,在子目标服务存在较大概率调用失败的情况下,能够完全避免长时间的阻塞,快速确定子目标服务的调用失败,通过快速确定子目标服务的调用失败,可以继续执行下一子目标服务的调用,从而保证其他的子目标服务可以正常执行,提高整个任务处理请求的处理效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种服务调用方法的应用环境图。
图2是根据一示例性实施例示出的一种服务调用方法的流程图。
图3是根据一示例性实施例示出的一种服务调用装置的框图。
图4是根据一示例性实施例示出的一种电子设备的内部结构图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开提供的服务调用方法,可以应用于如图1所示的应用环境中。其中,终端102和服务器104通过网络与服务器106进行通信。具体地,当终端102或者服务器104需要进行任务处理,或者服务器106自身需要进行任务处理时,在服务器106上将获取任务处理请求;任务处理请求包括至少一个待处理的子任务;服务器106确定子任务对应的子目标服务;子目标服务用于处理子任务并返回处理结果;为任务处理请求分配第一调用线程,第一调用线程用于依次调用子目标服务;在第一调用线程调用子目标服务的过程中,当服务器106确定子目标服务处于异常状态时,为子目标服务分配第二调用线程,第二调用线程用于替代第一调用线程调用子目标服务;若第一调用线程未能在预设的线程间等待时间内,接收到第二调用线程返回的子目标服务处理子任务的处理结果时,服务器106则通过第一调用线程继续调用下一个子任务对应的子目标服务;其中,线程间等待时间小于第一调用线程对应的第一超时时间,第一超时时间为第一调用线程判断是否停止调用子目标服务的等待时间。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104和服务器106可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
图2是根据一示例性实施例示出的一种服务调用方法的流程图,如图2所示,所述服务调用方法应用于服务器106中,包括以下步骤。
在步骤S210中,获取任务处理请求;所述任务处理请求包括至少一个待处理的子任务。
其中,服务是指的在各个服务器上部署的程序,方法或者函数。当在某个服务器上获取到任务处理请求时,可以通过调用服务对任务处理请求中的任务进行处理,并返回处理结果。
在本实施例中,服务器可以获取到其他的服务器或者终端发送的任务处理请求,也可以是服务器本身需要处理任务时生成任务处理请求。其中,任务处理请求可以为访问某一网页的请求、可以为获取数据的请求。
当服务器获取到任务处理请求后,将从任务处理请求中解析出待处理的任务,通常来说,一个任务下包含多个子任务。比如,假设获取到查询一个用户的信息的任务处理请求,这个任务请求任务涉及到两个数据库访问,一个是访问包含用户的基本信息的数据库,另一个是访问用户的好友信息的数据库,那么就需要将这个任务拆解为两个子任务。
在步骤S212中,确定子任务对应的子目标服务;子目标服务用于处理子任务并返回处理结果。
在拆解出任务处理请求中的子任务后,将进一步确定用于处理子任务的子目标服务。其中,子目标服务在接收到子任务后,将根据子任务对应的任务参数进行处理,并返回一个相应的处理结果。
在步骤S214中,为任务处理请求分配第一调用线程,第一调用线程用于依次调用子目标服务。
针对某个服务的调用,需要通过调用线程对服务进行调用。在本实施例中,服务器在获取到任务处理请求后,可以在线程池中获取到一个空闲的第一调用线程,该第一调用线程将用于依次完成任务处理请求中的所有子任务对应的子目标服务的调用。
在步骤S216中,在第一调用线程依次调用子目标服务的过程中,当确定子目标服务处于异常状态时,为子目标服务分配第二调用线程,第二调用线程用于替代第一调用线程调用子目标服务。
在本实施例中,在第一调用线程依次调用子目标服务的过程中,还需要进一步确定各个子目标服务是否处于异常状态。其中,异常状态是指的该子目标服务可能存在故障,该子目标服务被调用时调用失败的概率非常大。
在本实施例中的线程池中,还设置有第二调用线程,也称为额外调用线程。在确定子目标服务处于异常状态时,为了减少等待子目标服务返回处理结果的时间,可以为第一调用线程分配第二调用线程,即通过第二调用线程来完成对处于异常状态的子目标服务的调用。
如果确定子目标服务不存在异常状态,也即是处于正常状态时,说明子目标服务被调用时调用成功的概率非常大,因此可以无需利用第二调用线程来调用子目标服务。可见,本实施例在子目标服务处于正常状态时,可以无需引入额外的资源开销(第二调用线程),使得在正常状态下对于网络抖动造成的耗时不会过于敏感,有一定包容性,保证了调用成功率。
在步骤S218中,若第一调用线程未能在预设的线程间等待时间内,接收到第二调用线程返回的子目标服务处理子任务的处理结果时,则通过第一调用线程继续调用下一个子任务对应的子目标服务。
其中,线程间等待时间可以是指第一调用线程等待第二调用线程返回的子目标服务处理子任务的处理结果的时间。
其中,线程间等待时间小于第一调用线程对应的第一超时时间。
其中,第一调用线程具有对应的第一超时时间,即第一调用线程判断是否停止调用子目标服务的等待时间。当通过第一调用线程调用子目标服务进行子任务的处理时,在基于第一超时时间等待处理结果,如果没有在第一超时时间内获取到处理结果,则将根据确定为该子目标服务调用失败并停止调用该子目标服务,将继续调用下一子目标服务以处理对应的下一子任务。
需要说明是,本实施例的服务调用为同步调用,即在第一调用线程调用子目标服务进行子任务的处理时,需要等待子目标服务返回一个处理结果后或者超过第一超时时间后,才能进行下一个子目标服务的调用。
具体实现中,当确定子目标服务处于异常状态时,将由第二调用线程替代第一调用线程去调用子目标服务。在第二调用线程调用子目标服务的过程中,第一调用线程将按照线程间等待时间,同步等待第二调用线程的调用结果,即判断是否在线程间等待时间接收到第二调用线程返回的子目标服务处理子任务的处理结果。
如果第一调用线程未能在线程间等待时间内,获取到第二调用线程返回的子目标服务处理子任务的处理结果时,则不再继续等待第一调用线程返回的子目标服务处理子任务的处理结果,而是继续通过第一调用线程调用下一个子任务对应的子目标服务,以继续执行任务处理请求中其他的子任务。
在上述服务调用方法中,在获取任务处理请求时,确定获取任务处理请求中的子任务对应的子目标服务,然后为任务处理请求分配第一调用线程,使得第一调用线程能够依次调用子目标服务来完成对应子任务的处理并返回处理结果,在第一调用线程依次调用子目标服务的过程中,如果确定第一调用线程即将要调用的子服务处于异常状态,即说明子目标服务可能存在故障,调用失败的概率比较高,则为第一调用线程分配第二调用线程,以通过第二调用线程替代第一调用线程调用子目标服务;若第一调用线程未能在预设的线程间等待时间内,接收到第二调用线程返回的子目标服务处理子任务的处理结果时,则通过第一调用线程继续调用下一个子任务对应的子目标服务;其中,线程间等待时间小于第一调用线程对应的第一超时时间,第一超时时间为第一调用线程判断是否停止调用子目标服务的等待时间;如此,通过第二调用线程调用子目标服务且在第一调用线程未能在预设的线程间等待时间内,接收到第二调用线程返回的子目标服务处理子任务的处理结果时,则通过第一调用线程继续调用下一个子任务对应的子目标服务,可以减少等待子目标服务返回处理结果的时间,在子目标服务存在较大概率调用失败的情况下,能够完全避免长时间的阻塞,快速确定子目标服务的调用失败,通过快速确定子目标服务的调用失败,可以继续执行下一子目标服务的调用,从而保证其他的子目标服务可以正常执行,提高整个任务处理请求的处理效率。
需要注意的是,本实施例并不直接调整第一调用线程的第一超时时间,并基于调整后的第一超时时间来等待处理结果,而是通过另一个额外线程,即第二调用线程来完成对于子目标服务的调用,并在小于第一调用线程对应的第一超时时间的线程间等待时间内等待第二调用线程的处理结果,通过引入额外线程,可以避免第一调用线程崩溃,而影响对于后面的其他子目标服务的调用,可以提高系统运行的健壮性。
在一示例性实施例中,在为子目标服务分配第二调用线程之前,方法还包括:获取子目标服务的状态描述数据;状态描述数据用于表征子目标服务对子任务的响应状态;根据状态描述数据,确定子目标服务处于异常状态或者正常状态。
在本实施例中,对于针对各个子服务的远程调用,维护有一个状态描述数据,根据状态描述数据,可以确定对应的子服务的可用状态,即该子服务是否存在故障,被调用的成功率高低。
在为子目标服务分配第二调用线程之前,还可以获取用于表征子目标服务对子任务的响应状态的状态描述数据;然后,基于该子目标服务的状态描述数据,判断子目标服务处于异常状态或者正常状态。
在一示例性实施例中,当状态描述数据为权重值时,权重值用于表征子目标服务被成功调用的次数在其被调用总次数中的比重;根据状态描述数据,确定子目标服务处于异常状态或者正常状态,包括:获取子目标服务的状态描述数据;状态描述数据为权重值;权重值用于表征子目标服务被成功调用的次数在其被调用总次数中的比重;当权重值小于预设阈值时,确定子目标服务处于异常状态;当权重值大于或等于预设阈值时,确定子目标服务处于正常状态。
其中,状态描述数据可以为权重值,通过权重值用来表征子目标服务被成功调用的次数在其被调用总次数中的比重,因此可以针对子目标服务可以根据权重值的大小来确定子目标服务是否处于异常状态,具体来说,权重值越大,表征子目标服务被调用成功的概率越高,权重值越小,表征子目标服务被调用成功的概率越低。
具体实现中,可以将子目标服务对应的权重值与预设阈值进行比对,当确定子目标服务对应的权重值小于预设阈值时,则确定该述子目标服务处于异常状态;当确定子目标服务对应的权重值大于或等于预设阈值时,则确定该述子目标服务处于异常状态。
举例来说,针对某一子目标服务,比如查询用户好友信息的子目标服务,假设预设阈值为5,当当权重值大于5时,确定子目标服务处于正常状态,当权重值小于5时,确定子目标服务处于异常状态。如此,通过获取子目标服务对应的状态描述数据,可以快速确定对应的子目标服务的被调用成功的概率,进而判断出该子目标服务对子任务的响应状态,即确定出子目标服务是处于异常状态或者正常状态。。
在一示例性实施例中,在为子目标服务分配第二调用线程之后,方法还包括:
当在第二超时时间内,通过第二调用线程获取到子目标服务处理子任务的处理结果,则增加权重值;
当未在第二超时时间内,通过第二调用线程接收到子目标服务处理任务的处理结果,则减小权重值。
其中,第二超时时间为第二调用线程判断是否停止调用子目标服务的等待时间。即当通过第二调用线程调用子目标服务进行子任务的处理时,在基于第二超时时间等待处理结果,如果没有在第二超时时间内获取到处理结果,则停止调用该子目标服务。
在本实施例中,将实时维护每个子服务的状态描述数据,当某一个处于异常状态下的子目标服务的调用结束后,可以根据调用结果来调整状态描述数据。具体来说,当在为子目标服务分配第二调用线程之后,子目标服务被第二调用线程调用成功时,即第二调用线程在第二超时时间内得到子目标服务的处理结果时,可以增加权重值,当子目标服务被调用失败,即第二调用线程未在第二超时时间内得到子目标服务的处理结果时,可以减小权重值。
假设针对某个子目标服务的设置初始权重值为10,预设阈值为5,如果查用户好友信息成功,则权重值加1(不能超过10),如果查用户好友信息失败,则减1(不能低于0)。
在另一示例性实施例中,当状态描述数据为子目标服务返回子任务的处理结果的耗时时间时,根据状态描述数据,确定子目标服务处于异常状态或者正常状态,包括:获取子目标服务返回子任务的每个处理结果的耗时时间;根据每个处理结果的耗时时间,获取子目标服务在预设时间区间内返回子任务的多个处理结果的平均耗时时间。
当平均耗时时间大于或等于预设指标阈值时,确定子目标服务处于异常状态;
当平均耗时时间小于预设指标阈值时,确定子目标服务处于正常状态。
在实际应用中,除了上述的在服务器上针对每个子服务对应的权重值来确定是否处于异常状态的方式之外,还可以通过调用子目标服务时的实际耗时时间来确定,具体地,可以获取预设时间区间(比如近一个星期)内子目标服务的返回每个处理结果的耗时时间,然后,再对每个处理结果的耗时时间求平均,得到一个平均耗时时间,然后根据平均耗时时间是否大于预设指标阈值来确定子目标服务是异常状态或者正常状态,具体来说,当平均耗时时间大于或等于预设指标阈值,表征子目标服务被调用成功的概率越低,当平均耗时时间小于预设指标阈值时,代表表征子目标服务被调用成功的概率越高。
当然,除了上述的平均耗时时间之外,还可以基于其他的耗时统计指标,比如耗时分位值等,来确定子目标服务是异常状态或者正常状态,本实施例对此无需加以限制。
在一示例性实施例中,为子目标服务分配第二调用线程,包括:获取子目标服务对应的子任务的任务处理等级标识;根据任务处理等级标识,确定子任务为第一处理等级任务或者第二处理等级任务;;当确定子任务为第一处理等级任务时,为子目标服务分配第二调用线程;当确定子任务为第二处理等级任务时,拒绝为子目标服务分配第二调用线程。
其中,第一处理等级任务的任务重要程度低于第二处理等级任务的任务重要程度。
实际应用中,第一处理等级任务也可以命名为次要任务。第二处理等级任务也可以命名为重要任务。
在实际应用中,一个任务处理请求任务对应的子任务中,有些子任务相对不那么重要,如果执行失败也是被允许的,而有些子任务相对比较重要,则需要尽量保证执行成功。因此,本实施例对于每个子任务都设置有对应的任务处理等级标识,根据该标识可以确定该子任务是否尽量被成功执行,即,是否需要尽量成功调用其对应子目标服务。
具体地,当根据任务处理等级标识确定子任务为次要任务,说明不需要尽量保证其对应的子目标服务被成功调用时,则可以为子目标服务分配第二调用线程,使得可以减少等待时间,尽快得到次要任务对应的子目标服务的调用失败的结果,那么在子目标服务被调用失败时,可以快速调用下一子目标服务,提高整体任务处理请求的处理效率,当根据任务处理等级标识确定子任务为重要任务,说明需要尽量保证其对应的子目标服务被成功调用时,则可以拒绝为子目标服务分配第二调用线程,使得能够尽量得到重要任务的处理结果。
为了使本领域技术人员更好地理解本示例,下面采用一个具体的应用场景为例进行说明。以数据库访问为例,假设任务处理请求为查询一个用户的信息,该任务处理请求需要涉及到两个数据库的访问,也即是有两个子任务,第一个子任务是用户的基本信息的数据库的访问,第二个子任务是用户的好友信息的数据库的访问。假设第一个数据库的访问比较重要的,如果第一个子任务执行失败,整个任务处理请求即视为执行失败,但如果第二个子任务执行失败,只返回第一个子任务也是可以接受的,此时仍然可以视为任务处理请求执行成功,这种牺牲次要任务的处理方式称为服务降级。对于服务降级中可以牺牲的子任务,也即是次要任务,如果发生阻塞,不仅可能最后整个任务处理请求失败,而且需要一直等待到超时时间之后才能看到失败结果,这种体验极差。而应用本实施例,在次要任务阻塞时,也只需要等待一个较短的时间,并且还可以得到重要任务的处理结果。
当然,在实际应用中,还可以设置为不管是哪一种子任务,即不管是重要任务还是次要任务,都可以为其分配第二调用线程,本实施例对此无需加以限制。
在一示例性实施例中,在为子目标服务分配第二调用线程之后,方法还包括:
在线程间等待时间内,通过第一调用线程接收第二调用线程获取到的子目标服务处理子任务的处理结果。
在本实施例中,当确定子目标服务处于异常状态时,将由第二调用线程替代第一调用线程去调用子目标服务,当第二调用线程在线程间等待时间内完成调用子目标服务等待处理结果时,第二调用线程将处理结果返回至第一调用线程。
在一示例性实施例中,在为任务处理请求分配第一调用线程之后,方法还包括:
当确定子目标服务处于正常状态时,通过第一调用线程获取到子目标服务处理子任务的处理结果。
在本实施例中,当确定子目标服务处于正常状态时,则直接由第一调用线程去调用子目标服务,并得到子目标服务处理对应的子任务后的处理结果。在正常状态下,只基于第一调用线程进行调用,可以不引入额外的资源开销,减轻服务器的压力。
在一示例性实施例中,方法还包括:
当完成对多个子目标服务的调用时,组合多个子目标服务返回的处理结果,得到任务处理请求对应的任务处理结果;
将任务处理结果发送至任务处理请求对应的请求端。
当服务器完成了对所有子任务对应的目标服务的调用时,可以将所有调用成功的子目标服务的处理结果进行组合,得到针对任务处理请求对应的任务处理结果,并将任务处理结果发送至任务处理请求的请求端。其中,请求端可以是服务器自己,也可以是其他服务器或者终端。
应该理解的是,虽然图2和图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和图3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
图3是根据一示例性实施例示出的一种服务调用装置框图。参照图3,该装置包括任务处理请求获取单元310,子目标服务确定单元312,第一调用线程分配单元314和第二调用线程分配单元316和继续调用单元318。
该任务处理请求获取单元310,被配置为执行获取任务处理请求;所述任务处理请求包括至少一个待处理的子任务;
该子目标服务确定单元312,被配置为执行确定所述子任务对应的子目标服务;所述子目标服务用于处理所述子任务并返回处理结果;
该第一调用线程分配单元314,被配置为执行为所述任务处理请求分配第一调用线程,所述第一调用线程用于依次调用所述子目标服务;
该第二调用线程分配单元316,被配置为执行在所述第一调用线程调用所述子目标服务的过程中,当确定所述子目标服务处于异常状态时,为所述子目标服务分配第二调用线程,所述第二调用线程用于替代所述第一调用线程调用所述子目标服务;
该继续调用单元318,被配置为执行若所述第一调用线程未能在预设的线程间等待时间内,接收到所述第二调用线程返回的所述子目标服务处理所述子任务的处理结果时,则通过所述第一调用线程继续调用下一个所述子任务对应的子目标服务;其中,所述线程间等待时间小于所述第一调用线程对应的第一超时时间,所述第一超时时间为所述第一调用线程判断是否停止调用所述子目标服务的等待时间。
在一示例性实施例中,所述装置还包括:状态描述获取单元,被配置为执行获取所述子目标服务的状态描述数据;所述状态描述数据用于表征所述子目标服务对所述子任务的响应状态;响应状态确定单元,被配置为执行根据所述状态描述数据,确定所述子目标服务处于异常状态或者正常状态。
在一示例性实施例中,当所述状态描述数据为权重值时,所述权重值用于表征所述子目标服务被成功调用的次数在其被调用总次数中的比重;所述响应状态确定单元,具体被配置为执行当所述权重值小于预设阈值时,确定所述子目标服务处于异常状态;当所述权重值大于或等于预设阈值时,确定所述子目标服务处于正常状态。
在一示例性实施例中,在所述为所述子目标服务分配第二调用线程之后,所述装置还包括:第一权值调整单元,被配置为执行当在第二超时时间内,通过所述第二调用线程获取到所述子目标服务处理所述子任务的处理结果,则增加所述权重值;其中,第二超时时间为所述第二调用线程判断是否停止调用所述子目标服务的等待时间;第二权值调整单元,被配置为执行当未在第二超时时间内,通过所述第二调用线程接收到所述子目标服务处理所述任务的处理结果,则减小所述权重值。
在一示例性实施例中,当所述状态描述数据为所述子目标服务返回所述子任务的处理结果的耗时时间时,所述响应状态确定单元,具体被配置为执行获取所述子目标服务返回所述子任务的每个处理结果的耗时时间;根据每个处理结果的耗时时间,获取所述子目标服务在预设时间区间内返回所述子任务的多个处理结果的平均耗时时间;当所述平均耗时时间大于或等于预设指标阈值时,确定所述子目标服务处于异常状态;当所述平均耗时时间小于所述预设指标阈值时,确定所述子目标服务处于正常状态。
在一示例性实施例中,所述第二调用线程分配单元316,具体被配置为执行获取所述子目标服务对应的所述子任务的任务处理等级标识;根据所述任务处理等级标识,确定所述子任务为第一处理等级任务或者第二处理等级任务;其中,所述第一处理等级任务的任务重要程度低于所述第二处理等级任务的任务重要程度;当确定所述子任务为第一处理等级任务时,为所述子目标服务分配所述第二调用线程;当确定所述子任务为第二处理等级任务时,拒绝为所述子目标服务分配所述第二调用线程。
在一示例性实施例中,在所述为所述子目标服务分配第二调用线程之后,所述装置还包括:结果返回单元,被配置为执行在所述线程间等待时间内,通过所述第一调用线程接收所述第二调用线程返回的所述子目标服务处理所述子任务的处理结果。
在一示例性实施例中,在所述为所述任务处理请求分配第一调用线程之后,所述装置还包括:结果获取单元,被配置为执行当确定所述子目标服务处于正常状态时,通过所述第一调用线程获取所述子目标服务处理所述子任务的处理结果。
在一示例性实施例中,所述装置还包括:任务处理结果得到单元,被配置为执行当完成对多个所述子目标服务的调用时,组合多个所述子目标服务返回的处理结果,得到所述任务处理请求对应的任务处理结果;任务处理结果发送单元,被配置为执行将所述任务处理结果发送至所述任务处理请求对应的请求端。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图4是根据一示例性实施例示出的一种用服务调用的设备400的框图。例如,设备400可以为一服务器。参照图4,设备400包括处理组件420,其进一步包括一个或多个处理器,以及由存储器422所代表的存储器资源,用于存储可由处理组件420的执行的指令,例如应用程序。存储器422中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件420被配置为执行指令,以执行上述服务调用方法。
设备400还可以包括一个电源组件424被配置为执行设备400的电源管理,一个有线或无线网络接口426被配置为将设备400连接到网络,和一个输入输出(I/O)接口428。设备400可以操作基于存储在存储器422的操作系统,例如Window44erver,MacO4X,Unix,Linux,FreeB4D或类似。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器422,上述指令可由设备400的处理器执行以完成上述方法。存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种服务调用方法,其特征在于,所述方法包括:
获取任务处理请求;所述任务处理请求包括至少一个待处理的子任务;
确定所述子任务对应的子目标服务;所述子目标服务用于处理所述子任务并返回处理结果;
为所述任务处理请求分配第一调用线程,所述第一调用线程用于依次调用所述子目标服务;
在所述第一调用线程调用所述子目标服务的过程中,当确定所述子目标服务处于异常状态时,为所述子目标服务分配第二调用线程,所述第二调用线程用于替代所述第一调用线程调用所述子目标服务;
若所述第一调用线程未能在预设的线程间等待时间内,接收到所述第二调用线程返回的所述子目标服务处理所述子任务的处理结果时,则通过所述第一调用线程继续调用下一个所述子任务对应的子目标服务;其中,所述线程间等待时间小于所述第一调用线程对应的第一超时时间,所述第一超时时间为所述第一调用线程判断是否停止调用所述子目标服务的等待时间。
2.根据权利要求1所述的服务调用方法,其特征在于,在所述为所述子目标服务分配第二调用线程之前,所述方法还包括:
获取所述子目标服务的状态描述数据;所述状态描述数据用于表征所述子目标服务对所述子任务的响应状态;
根据所述状态描述数据,确定所述子目标服务处于异常状态或者正常状态。
3.根据权利要求2所述的服务调用方法,其特征在于,当所述状态描述数据为权重值时,所述权重值用于表征所述子目标服务被成功调用的次数在其被调用总次数中的比重;
所述根据所述状态描述数据,确定所述子目标服务处于异常状态或者正常状态,包括:
当所述权重值小于预设阈值时,确定所述子目标服务处于异常状态;
当所述权重值大于或等于预设阈值时,确定所述子目标服务处于正常状态。
4.根据权利要求3所述的服务调用方法,其特征在于,在所述为所述子目标服务分配第二调用线程之后,所述方法还包括:
当在第二超时时间内,通过所述第二调用线程获取到所述子目标服务处理所述子任务的处理结果,则增加所述权重值;其中,第二超时时间为所述第二调用线程判断是否停止调用所述子目标服务的等待时间;
当未在第二超时时间内,通过所述第二调用线程接收到所述子目标服务处理所述任务的处理结果,则减小所述权重值。
5.根据权利要求2所述的服务调用方法,其特征在于,当所述状态描述数据为所述子目标服务返回所述子任务的处理结果的耗时时间时,所述根据所述状态描述数据,确定所述子目标服务处于异常状态或者正常状态,包括:
获取所述子目标服务返回所述子任务的每个处理结果的耗时时间;
根据每个处理结果的耗时时间,获取所述子目标服务在预设时间区间内返回所述子任务的多个处理结果的平均耗时时间;
当所述平均耗时时间大于或等于预设指标阈值时,确定所述子目标服务处于异常状态;
当所述平均耗时时间小于所述预设指标阈值时,确定所述子目标服务处于正常状态。
6.根据权利要求1所述的服务调用方法,其特征在于,所述为所述子目标服务分配第二调用线程,包括:
获取所述子目标服务对应的所述子任务的任务处理等级标识;
根据所述任务处理等级标识,确定所述子任务为第一处理等级任务或者第二处理等级任务;其中,所述第一处理等级任务的任务重要程度低于所述第二处理等级任务的任务重要程度;
当确定所述子任务为第一处理等级任务时,为所述子目标服务分配所述第二调用线程;
当确定所述子任务为第二处理等级任务时,拒绝为所述子目标服务分配所述第二调用线程。
7.根据权利要求1所述的服务调用方法,其特征在于,所述方法还包括:
当完成对多个所述子目标服务的调用时,组合多个所述子目标服务返回的处理结果,得到所述任务处理请求对应的任务处理结果;
将所述任务处理结果发送至所述任务处理请求对应的请求端。
8.一种服务调用装置,其特征在于,所述装置包括:
任务处理请求获取单元,被配置为执行获取任务处理请求;所述任务处理请求包括至少一个待处理的子任务;
子目标服务确定单元,被配置为执行确定所述子任务对应的子目标服务;所述子目标服务用于处理所述子任务并返回处理结果;
第一调用线程分配单元,被配置为执行为所述任务处理请求分配第一调用线程,所述第一调用线程用于依次调用所述子目标服务;
第二调用线程分配单元,被配置为执行在所述第一调用线程调用所述子目标服务的过程中,当确定所述子目标服务处于异常状态时,为所述子目标服务分配第二调用线程,所述第二调用线程用于替代所述第一调用线程调用所述子目标服务;
继续调用单元,被配置为执行若所述第一调用线程未能在预设的线程间等待时间内,接收到所述第二调用线程返回的所述子目标服务处理所述子任务的处理结果时,则通过所述第一调用线程继续调用下一个所述子任务对应的子目标服务;其中,所述线程间等待时间小于所述第一调用线程对应的第一超时时间,所述第一超时时间为所述第一调用线程判断是否停止调用所述子目标服务的等待时间。
9.一种服务器,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的服务调用方法。
10.一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得所述服务器能够执行如权利要求1至7中任一项所述的服务调用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010613836.4A CN111782364A (zh) | 2020-06-30 | 2020-06-30 | 服务调用方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010613836.4A CN111782364A (zh) | 2020-06-30 | 2020-06-30 | 服务调用方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111782364A true CN111782364A (zh) | 2020-10-16 |
Family
ID=72761239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010613836.4A Pending CN111782364A (zh) | 2020-06-30 | 2020-06-30 | 服务调用方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782364A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114661510A (zh) * | 2022-03-25 | 2022-06-24 | 北京百度网讯科技有限公司 | 一种请求超时检测方法、装置、设备以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080295108A1 (en) * | 2007-05-24 | 2008-11-27 | Takeshi Ogasawara | Minimizing variations of waiting times of requests for services handled by a processor |
CN106997307A (zh) * | 2017-02-13 | 2017-08-01 | 上海大学 | 一种面向多终端无线通信的Socket线程池设计方法 |
CN108989413A (zh) * | 2018-07-06 | 2018-12-11 | 深圳市牛鼎丰科技有限公司 | 异常业务补偿方法、装置、计算机设备及存储介质 |
CN110231981A (zh) * | 2018-03-06 | 2019-09-13 | 华为软件技术有限公司 | 服务调用方法及装置 |
-
2020
- 2020-06-30 CN CN202010613836.4A patent/CN111782364A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080295108A1 (en) * | 2007-05-24 | 2008-11-27 | Takeshi Ogasawara | Minimizing variations of waiting times of requests for services handled by a processor |
CN106997307A (zh) * | 2017-02-13 | 2017-08-01 | 上海大学 | 一种面向多终端无线通信的Socket线程池设计方法 |
CN110231981A (zh) * | 2018-03-06 | 2019-09-13 | 华为软件技术有限公司 | 服务调用方法及装置 |
CN108989413A (zh) * | 2018-07-06 | 2018-12-11 | 深圳市牛鼎丰科技有限公司 | 异常业务补偿方法、装置、计算机设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114661510A (zh) * | 2022-03-25 | 2022-06-24 | 北京百度网讯科技有限公司 | 一种请求超时检测方法、装置、设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7117244B2 (en) | Techniques for load distribution processing for call centers and other processing systems | |
CN110489447B (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
US6711616B1 (en) | Client-server task distribution system and method | |
WO2020238345A1 (zh) | 压力测试方法、装置、系统、设备及计算机可读存储介质 | |
CN111131058B (zh) | 访问量控制方法和装置 | |
CN110308980A (zh) | 数据的批量处理方法、装置、设备及存储介质 | |
CN110166524B (zh) | 数据中心的切换方法、装置、设备及存储介质 | |
CN110308985B (zh) | 云专属服务器资源管理方法、装置、设备及存储介质 | |
US11438271B2 (en) | Method, electronic device and computer program product of load balancing | |
CN111209110A (zh) | 一种实现负载均衡的任务调度管理方法、系统和存储介质 | |
CN112698952A (zh) | 计算资源统一管理方法、装置、计算机设备及存储介质 | |
CN110489227A (zh) | 一种资源分配方法、装置、计算机设备和存储介质 | |
CN110659131A (zh) | 任务处理方法、电子装置、计算机设备及存储介质 | |
CN112162839A (zh) | 任务调度方法、装置、计算机设备和存储介质 | |
EP3672203A1 (en) | Distribution method for distributed data computing, device, server and storage medium | |
US20220318065A1 (en) | Managing computer workloads across distributed computing clusters | |
CN111782364A (zh) | 服务调用方法、装置、电子设备及存储介质 | |
US11429435B1 (en) | Distributed execution budget management system | |
CN112631756A (zh) | 一种应用于航天测控软件的分布式调控方法及装置 | |
CN112463361A (zh) | 一种分布式计算的弹性资源分配的方法和设备 | |
US10992517B1 (en) | Dynamic distributed execution budget management system | |
CN112328598B (zh) | Id生成方法、装置、电子设备及存储介质 | |
CN114489978A (zh) | 资源调度方法、装置、设备及存储介质 | |
CN115391042B (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN110944051B (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 |