CN109976900A - 调用服务的方法和装置 - Google Patents
调用服务的方法和装置 Download PDFInfo
- Publication number
- CN109976900A CN109976900A CN201711458377.1A CN201711458377A CN109976900A CN 109976900 A CN109976900 A CN 109976900A CN 201711458377 A CN201711458377 A CN 201711458377A CN 109976900 A CN109976900 A CN 109976900A
- Authority
- CN
- China
- Prior art keywords
- response time
- task
- load
- under
- physical environment
- 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
Links
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/504—Resource capping
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种调用服务的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:将前一任务提交周期的提交任务数量与平均响应时间输入负载感知模型,获得服务提供端的实时负载曲线;负载感知模型表征在服务提供端建立的物理环境下提交任务数量与平均响应时间在任一时刻的映射关系;实时负载曲线表征在所述物理环境下提交任务数量与平均响应时间在当前时刻的映射关系;获取响应时间安全值在实时负载曲线对应的提交任务数量,以该数量确定待提交任务,并根据待提交任务向服务提供端发送服务调用请求。该实施方式能够动态感知服务提供端的负载能力,进而调节服务调用端的调用量,可在不引发系统风险的前提下充分利用服务资源。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种调用服务的方法和装置。
背景技术
在面向服务构架中,原有的一个系统被垂直拆分为多个系统,系统之间通过服务调用来完成整体业务。由于硬件环境、系统资源及架构的制约,服务调用端的需求往往大于服务提供端的供给,这可能使服务提供端超负荷运转,从而引发系统风险甚至瘫痪。
为了解决上述问题,现有技术中一般由服务提供端与服务调用端在线下约定调用量阈值,服务提供端根据该阈值对服务调用端的调用量进行限流,当服务调用端的调用量超过该阈值时,服务提供端向服务调用端返回超时或异常。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
1.线下约定的调用量阈值未必合理,如果该阈值比服务提供端实际负载能力小,则无法充分利用资源;如果该阈值比实际负载能力大,则会引发系统风险。
2.即使调用量阈值设置合理,如果因突发状况导致服务提供端的部分结点不可用,使其总体负载能力降低,同样可能引发系统风险。
3.在现有技术中,由服务端进行限流,服务调用端调用量大于调用量阈值时即显示超时或异常,易引发服务调用端风险。
发明内容
有鉴于此,本发明实施例提供一种调用服务的方法和装置,能够动态感知服务提供端的负载能力,进而调节服务调用端的调用量,可在不引发系统风险的前提下充分利用服务资源。
为实现上述目的,根据本发明的一个方面,提供了一种调用服务的方法。
本发明实施例的调用服务的方法包括:将前一任务提交周期的提交任务数量与平均响应时间输入预先建立的负载感知模型,获得服务提供端的实时负载曲线;其中,所述负载感知模型用于表征:在所述服务提供端建立的物理环境下,提交任务数量与平均响应时间在任一时刻的映射关系;所述实时负载曲线用于表征:在所述物理环境下,提交任务数量与平均响应时间在当前时刻的映射关系;获取预设的响应时间安全值在所述实时负载曲线对应的提交任务数量,以该提交任务数量确定待提交任务,并根据所述待提交任务向所述服务提供端发送服务调用请求。
可选地,所述方法进一步包括:构建通用感知模型以表征:在任一物理环境下,提交任务数量与平均响应时间的映射关系;利用所述服务提供端建立的物理环境下的测试数据和所述通用感知模型,获取所述负载感知模型。
可选地,所述响应时间安全值具体为:所述服务提供端建立的物理环境下的响应时间安全值。
可选地,所述通用感知模型具体为:
其中,Q为提交任务数量,τ为平均响应时间,τsafe为任一物理环境下的响应时间安全值,α、β、γ、θ均为可变的模型参数。
可选地,所述利用所述服务提供端建立的物理环境下的测试数据和所述通用感知模型,获取所述负载感知模型包括:利用所述服务提供端建立的物理环境下的测试数据和所述通用感知模型确定该物理环境下β的确定值β0、γ的确定值γ0、以及响应时间安全值τsafe *,获得如下负载感知模型:
可选地,所述将前一任务提交周期的提交任务数量与平均响应时间输入预先建立的负载感知模型,获得服务提供端的实时负载曲线包括:将前一任务提交周期的提交任务数量与平均响应时间τ0输入所述负载感知模型,计算在所述服务提供端建立的物理环境下以及当前时刻α的确定值α0或θ的确定值θ0,得到如下实时负载曲线:
可选地,所述方法进一步包括:在所述预设的响应时间安全值在所述实时负载曲线对应的提交任务数量小于预设阈值时,发出告警信号。
为实现上述目的,根据本发明的又一方面,提供了一种调用服务的装置。
本发明实施例的调用服务的装置可包括:负载判断单元,用于将前一任务提交周期的提交任务数量与平均响应时间输入预先建立的负载感知模型,获得服务提供端的实时负载曲线;其中,所述负载感知模型用于表征:在所述服务提供端建立的物理环境下,提交任务数量与平均响应时间在任一时刻的映射关系;所述实时负载曲线用于表征:在所述物理环境下,提交任务数量与平均响应时间在当前时刻的映射关系;请求单元,用于获取预设的响应时间安全值在所述实时负载曲线对应的提交任务数量,以该提交任务数量确定待提交任务,并根据所述待提交任务向所述服务提供端发送服务调用请求。
可选地,所述装置可进一步包括:准备单元,用于构建通用感知模型以表征:在任一物理环境下,提交任务数量与平均响应时间的映射关系;利用所述服务提供端建立的物理环境下的测试数据和所述通用感知模型,获取所述负载感知模型。
可选地,所述响应时间安全值具体为:所述服务提供端建立的物理环境下的响应时间安全值。
可选地,所述通用感知模型具体为:
其中,Q为提交任务数量,τ为平均响应时间,τsafe为任一物理环境下的响应时间安全值,α、β、γ、θ均为可变的模型参数。
可选地,准备单元可进一步用于:利用所述服务提供端建立的物理环境下的测试数据和所述通用感知模型确定该物理环境下β的确定值β0、γ的确定值γ0、以及响应时间安全值τsafe *,获得如下负载感知模型:
可选地,负载判断单元可进一步用于:将前一任务提交周期的提交任务数量与平均响应时间τ0输入所述负载感知模型,计算在所述服务提供端建立的物理环境下以及当前时刻α的确定值α0或θ的确定值θ0,得到如下实时负载曲线:
可选地,所述装置可进一步包括:告警单元,用于在所述预设的响应时间安全值在所述实时负载曲线对应的提交任务数量小于预设阈值时,发出告警信号。
为实现上述目的,根据本发明的又一方面,提供了一种电子设备。
本发明的一种电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明所提供的调用服务的方法。
为实现上述目的,根据本发明的再一方面,提供了一种计算机可读存储介质。
本发明的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明所提供的调用服务的方法。
根据本发明的技术方案,上述发明中的一个实施例具有如下优点或有益效果:在服务调用端建立适用于服务提供端物理环境的负载感知模型,将前一任务提交周期的提交任务数量与平均响应时间输入该模型即可得到服务提供端的实时负载曲线,从而实现服务提供端负载能力的动态感知;并根据感知的服务提供端负载能力确定本次任务提交周期的合理调用量,从而在不引发系统风险的前提下充分利用服务资源,实现了不需人工干预、自适应调节服务调用量的效果,解决了现有技术中因设置调用量固定阈值引发的多种问题。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例中调用服务的方法的主要步骤示意图;
图2是根据本发明实施例中调用服务的方法的负载感知模型示意图;
图3是根据本发明第一实施例中调用服务的方法的具体实现架构示意图;
图4是根据本发明实施例中调用服务的装置的主要部分示意图;
图5是根据本发明实施例可以应用于其中的示例性系统架构图;
图6是用来实现本发明实施例中调用服务的方法的电子设备的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本发明实施例的技术方案中,在服务调用端建立适用于服务提供端物理环境的负载感知模型,将前一任务提交周期的提交任务数量与平均响应时间输入该模型即可得到服务提供端的实时负载曲线,从而实现服务提供端负载能力的动态感知;并根据感知的服务提供端负载能力确定本次任务提交周期的合理调用量,从而在不引发系统风险的前提下充分利用服务资源,实现了不需人工干预、自适应调节服务调用量的效果,解决了现有技术中因设置调用量固定阈值引发的多种问题。
需要指出的是,在不冲突的情况下,本发明的实施例以及实施例中的技术特征可以相互结合。
图1是根据本发明实施例中调用服务的方法的主要步骤示意图。
如图1所示,本发明实施例的调用服务的方法可按照以下步骤执行:
步骤S101:服务调用端将前一任务提交周期的提交任务数量与平均响应时间输入预先建立的负载感知模型,获得服务提供端的实时负载曲线。
实际应用中,服务调用端需要周期性地选取多个任务通过发送服务调用请求的方式向服务提供端提交。在一个任务提交周期中,服务调用端利用待提交的任务生成服务调用请求向服务提供端发送,上述服务调用请求所请求的服务是服务提供端内设置的应用程序或应用程序的功能单元,其用于处理服务调用端提交的上述任务。服务提供端接收到服务调用请求之后,利用相应的服务处理上述任务,并在处理完毕之后向服务调用端返回响应。服务调用端接收到响应之后,可准备进行下一周期的任务提交。需要说明的是,本步骤中的平均响应时间指的是:对于一个任务提交周期内提交的每一任务,从发送服务调用请求到接收到响应之间的时间间隔的平均值。
可以理解的是,对于某一任务提交周期提交的一个任务,服务调用端一般需要发送一个服务调用请求,服务提供端需要利用一个服务来处理该任务。在本发明实施例中,通过在服务调用端预先建立负载感知模型以实时感知服务提供端的负载能力,以便自适应地调节服务调用量,即任务提交数量。
实际应用中,负载感知模型是表征服务提供端建立的物理环境下、提交任务数量与平均响应时间在任一时刻映射关系的数学模型。较佳地,负载感知模型可利用预先构建的通用感知模型来获取。通用感知模型可以表征在任一物理环境下、提交任务数量与平均响应时间的映射关系。可以理解的是,上述物理环境指的是由服务提供端建立的硬件环境。在一可选实现方式中,可构建以下公式表示的通用感知模型以准确描述任一物理环境下提交任务数量与平均响应时间的映射关系。
在公式1中,e为自然常数。Q为提交任务数量,τ为平均响应时间,二者分别作为上述公式表示的函数的因变量与自变量。τsafe为任一物理环境下的响应时间安全值,其为预设的响应时间极大值τmax与缓冲时间Ω的差值,τmax表示该物理环境下服务提供端负载能力达到极小值时的响应时间,τsafe表示该物理环境下服务提供端负载能力正常的情况下响应时间的最大值,也就是说,在响应时间为τsafe时,系统不存在风险。
在公式1表示的函数中,自变量小于等于τsafe的部分为非线性部分,自变量大于τsafe的部分为线性部分。其中,α为纵向伸缩系数,可控制函数非线性部分的纵向伸缩方式;β为横向伸缩系数,可控制函数非线性部分的横向伸缩方式;γ为线性部分斜率,θ为线性部分截距。对于应用中,对于不同的物理环境,α、β、γ、θ均为可变正数。
具体应用中,公式1表示的函数可通用地表示不同的物理环境下提交任务数量与平均响应时间的映射关系。一般地,由于在不同的物理环境下函数具有不同的横向伸缩方式,因此不同的物理环境均对应公式1中不同的β、γ取值。在同一物理环境下的不同时刻,函数具有不同的横向伸缩方式,α、θ取值不同。
需要说明的是,上述通用感知模型的建立需要进行以下假设:
1.在不同物理环境下,任务提交数量与平均响应时间的映射关系具有一致的模式。也就是说,可以利用形式相同的函数来描述上述映射关系。
2.在连续两次提交任务的过程中,物理环境变化幅度较小。
在构建公式1表示的通用感知模型之后,可以利用服务提供端建立的物理环境下的多个测试数据来获取负载感知模型。其中,每一测试数据均包括提交任务数量与对应的平均响应时间。
具体地,首先利用多个测试数据进行数据拟合,得到一条满足公式1的曲线,确定该曲线的横向伸缩系数β0作为所述服务提供端建立的物理环境下的横向伸缩系数;之后,基于该曲线确定该物理环境下的响应时间安全值τsafe *响应时间极大值与τmax *;最后,将该曲线在自变量为τsafe *时的斜率γ0作为该物理环境下的线性部分斜率。将β0、τsafe *和γ0带入公式1即可获得该物理环境下的负载感知模型:
在公式2表示的负载感知模型中,β0、τsafe *和γ0是确定值,α、θ是可变值,每一种变化可表示服务提供端在该物理环境下不同时刻的负载能力。
在获得具体物理环境下的负载感知模型之后,可利用负载感知模型判断服务提供端的实时负载能力。实际应用中,利用实时负载曲线表征在该物理环境下提交任务数量与平均响应时间在当前时刻的映射关系,从而表征服务提供端在当前时刻的负载能力。具体地,该物理环境下的实时负载曲线可通过以下步骤获取:
1.在第n(n为大于1的正整数)周期提交任务之前,获取前一任务提交周期即第n-1周期的任务提交数量Q0与相应的平均响应时间τ0。
2.比较τ0与τsafe *的大小,如果τ0≤τsafe *,将Q0和τ0输入公式2的非线性部分,计算当前时刻的纵向伸缩系数α0,从而得到只含有非线性部分的如下实时负载曲线:
如果τ0>τsafe *,将Q0和τ0输入公式2的线性部分,计算当前时刻的线性部分斜率θ0,从而得到只含有线性部分的如下实时负载曲线:
Q=γ0τ+θ0 公式4
也就是说,通过Q0和τ0获得的实时负载曲线为:
在公式5中,非线性函数为τ0≤τsafe *时的实时负载曲线,线性函数为τ0>τsafe *时的实时负载函数,二者可以准确反映服务提供端的当前负载能力。
图2是根据本发明实施例中调用服务的方法的负载感知模型示意图。
在图2中,4条曲线为某一物理环境下以4种方式为α、θ赋值的负载感知模型,即在该物理环境下,4个不同时刻的实时负载曲线。这4条曲线能够反映这4个不同时刻服务提供端的负载能力。图2中的纵向虚线依次为τ=τsafe *与τ=τmax *,在τ≤τsafe *时,负载感知模型具有非线性形式,在τ>τsafe *时,负载感知模型具有线性形式。
通过步骤S101,本发明实现了服务提供端负载能力的动态感知,可利用负载能力感知结果进行当前的任务提交。
步骤S102:获取服务提供端建立的物理环境下的响应时间安全值在实时负载曲线对应的提交任务数量,以该提交任务数量确定待提交任务,并根据待提交任务向服务提供端发送服务调用请求。
在本发明实施例中,根据第n-1周期的任务提交数量Q0与相应的平均响应时间τ0获得的实时负载曲线可以表示为公式3或者公式4。如果实时负载曲线表示为公式3,则将τsafe *带入公式3,得到的函数值Q*即为该物理环境下第n周期最大允许提交的任务数量。如果实时负载曲线表示为公式4,则将τsafe *带入公式4,可得到另一种情形下的第n周期最大允许提交的任务数量Q*。
具体应用场景中,在得到Q*之后,可在服务调用端的任务中选取Q*个任务作为待提交任务,根据待提交任务生成服务调用请求向服务提供端发送,从而完成第n周期的任务提交。在接收到Q*个服务调用请求的响应之后,可以根据第n周期的平均响应时间与Q*感知此时服务提供端的负载能力,从而进行第n+1周期的提交任务数量计算。
通过步骤S102,本发明可利用感知的服务提供端负载能力确定本次任务提交周期的合理调用量,从而在不引发系统风险的前提下充分利用服务资源,实现了不需人工干预、自适应调节服务调用量的效果,解决了现有技术中因设置调用量固定阈值引发的多种问题。
实际应用中,如果某一任务提交周期的平均响应时间大幅增加,则说明服务提供端的负载能力下降,利用实时负载曲线计算得到的下一任务提交周期的任务提交数量也会下降,从而减轻服务提供端的工作量,避免系统风险。当计算得到的下一任务提交周期的任务提交数量小于预设阈值(即服务调用端可接收的最小的提交任务数量)时,表示服务提供端发生系统风险的概率较大,服务调用端可发出告警信号,由人工介入。
图3是根据本发明第一实施例中调用服务的方法的具体实现架构示意图。
如图3所示,本实施例的调用服务的方法可通过设置于服务调用端的服务负载能力动态感知模块、调用量自适应调节模块、配置管理模块以及监控预警模块实现。
具体地,服务负载能力动态感知模块用于构建通用感知模型,利用通用感知模型获得负载感知模型,并通过前一任务提交周期的提交任务数量和平均响应时间获取当前时刻的实时负载曲线,最后由实时负载曲线计算出本次任务提交周期的提交任务数量,将该数量发送到调用量自适应调节模块。
调用量自适应调节模块由任务接收器、任务缓冲器以及任务调度器组成。其中,任务接收器用于接收任务,任务缓冲器用于存储任务接收器最新接收的任务,任务调度器用于选取待提交任务并发送服务调用请求。调用量自适应调节模块接收到本次任务提交周期的提交任务数量之后,从任务缓冲器确定该数量的任务,由任务调度器进行提交。
配置管理模块用于提供参数配置入口,以对缓冲时间Ω、预设阈值、任务缓冲池大小、任务提交周期长度等进行配置。
监控预警模块用于对服务调用端在每一任务提交周期的提交任务数量进行展示,对提交任务数量小于预设阈值等异常情况使用不同颜色加以区分,还对调用量自适应调节模块的各组件的运行情况进行监控。
在本发明实施例的技术方案中,由服务调用端进行调用量的自适应控制,通过负载感知模型与前一任务提交周期的历史数据动态感知服务提供端当前的负载能力,以自动调节本次任务提交周期的调用量,从而降低系统风险,增强系统可靠性与服务调用端工作效率。特别在服务提供端负载能力减弱时,服务调用端仍可在不引发系统风险的前提下充分利用服务资源。
图4是本发明实施例的调用服务的装置的主要部分示意图。
如图4所示,本发明实施例的调用服务的装置400可包括负载判断单元401与请求单元402。其中:
负载判断单元401可用于将前一任务提交周期的提交任务数量与平均响应时间输入预先建立的负载感知模型,获得服务提供端的实时负载曲线;其中,所述负载感知模型用于表征:在所述服务提供端建立的物理环境下,提交任务数量与平均响应时间在任一时刻的映射关系;所述实时负载曲线用于表征:在所述物理环境下,提交任务数量与平均响应时间在当前时刻的映射关系;
请求单元402可用于获取预设的响应时间安全值在所述实时负载曲线对应的提交任务数量,以该提交任务数量确定待提交任务,并根据所述待提交任务向所述服务提供端发送服务调用请求。
在本发明实施例中,所述装置401可进一步包括:准备单元,用于构建通用感知模型以表征:在任一物理环境下,提交任务数量与平均响应时间的映射关系;利用所述服务提供端建立的物理环境下的测试数据和所述通用感知模型,获取所述负载感知模型。
具体应用中,所述响应时间安全值具体为:所述服务提供端建立的物理环境下的响应时间安全值。
特别地,所述通用感知模型具体为:
其中,Q为提交任务数量,τ为平均响应时间,τsafe为任一物理环境下的响应时间安全值,α、β、γ、θ均为可变的模型参数。
较佳地,在本发明实施例中,准备单元可进一步用于:利用所述服务提供端建立的物理环境下的测试数据和所述通用感知模型确定该物理环境下β的确定值β0、γ的确定值γ0、以及响应时间安全值τsafe *,获得如下负载感知模型:
作为一个优选方案,负载判断单元401可进一步用于:将前一任务提交周期的提交任务数量与平均响应时间τ0输入所述负载感知模型,计算在所述服务提供端建立的物理环境下以及当前时刻α的确定值α0或θ的确定值θ0,得到如下实时负载曲线:
具体应用场景中,所述装置400可进一步包括:告警单元,用于在所述预设的响应时间安全值在所述实时负载曲线对应的提交任务数量小于预设阈值时,发出告警信号。
在本发明实施例的技术方案中,由服务调用端进行调用量的自适应控制,通过负载感知模型与前一任务提交周期的历史数据动态感知服务提供端当前的负载能力,以自动调节本次任务提交周期的调用量,从而降低系统风险,增强系统可靠性与服务调用端工作效率。特别在服务提供端负载能力减弱时,服务调用端仍可在不引发系统风险的前提下充分利用服务资源。
图5示出了可以应用本发明实施例的调用服务的方法或调用服务的装置的示例性系统架构500。
如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505(此架构仅仅是示例,具体架构中包含的组件可以根据申请具体情况调整)。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的调用服务的方法一般由服务器505执行,相应地,调用服务的装置一般设置于服务器505中。
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
本发明还提供了一种电子设备。本发明实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明所提供的调用服务的方法。
下面参考图6,其示出了适于用来实现本发明实施例的电子设备的计算机系统600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有计算机系统600操作所需的各种程序和数据。CPU601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明公开的实施例,上文的主要步骤图描述的过程可以被实现为计算机软件程序。例如,本发明实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行主要步骤图所示的方法的程序代码。在上述实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元601执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。在本发明中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括负载判断单元与请求单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,负载判断单元还可以被描述为“向请求单元发送实时负载曲线的单元”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中的。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该设备执行时,使得该设备执行的步骤包括:将前一任务提交周期的提交任务数量与平均响应时间输入预先建立的负载感知模型,获得服务提供端的实时负载曲线;其中,所述负载感知模型用于表征:在所述服务提供端建立的物理环境下,提交任务数量与平均响应时间在任一时刻的映射关系;所述实时负载曲线用于表征:在所述物理环境下,提交任务数量与平均响应时间在当前时刻的映射关系;获取预设的响应时间安全值在所述实时负载曲线对应的提交任务数量,以该提交任务数量确定待提交任务,并根据所述待提交任务向所述服务提供端发送服务调用请求。
在本发明实施例的技术方案中,由服务调用端进行调用量的自适应控制,通过负载感知模型与前一任务提交周期的历史数据动态感知服务提供端当前的负载能力,以自动调节本次任务提交周期的调用量,从而降低系统风险,增强系统可靠性与服务调用端工作效率。特别在服务提供端负载能力减弱时,服务调用端仍可在不引发系统风险的前提下充分利用服务资源。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (16)
1.一种调用服务的方法,其特征在于,包括:
将前一任务提交周期的提交任务数量与平均响应时间输入预先建立的负载感知模型,获得服务提供端的实时负载曲线;
其中,所述负载感知模型用于表征:在所述服务提供端建立的物理环境下,提交任务数量与平均响应时间在任一时刻的映射关系;所述实时负载曲线用于表征:在所述物理环境下,提交任务数量与平均响应时间在当前时刻的映射关系;
获取预设的响应时间安全值在所述实时负载曲线对应的提交任务数量,以该提交任务数量确定待提交任务,并根据所述待提交任务向所述服务提供端发送服务调用请求。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
构建通用感知模型以表征:在任一物理环境下,提交任务数量与平均响应时间的映射关系;
利用所述服务提供端建立的物理环境下的测试数据和所述通用感知模型,获取所述负载感知模型。
3.根据权利要求2所述的方法,其特征在于,所述响应时间安全值具体为:所述服务提供端建立的物理环境下的响应时间安全值。
4.根据权利要求3所述的方法,其特征在于,所述通用感知模型具体为:
其中,Q为提交任务数量,τ为平均响应时间,τsafe为任一物理环境下的响应时间安全值,α、β、γ、θ均为可变的模型参数。
5.根据权利要求4所述的方法,其特征在于,所述利用所述服务提供端建立的物理环境下的测试数据和所述通用感知模型,获取所述负载感知模型包括:
利用所述服务提供端建立的物理环境下的测试数据和所述通用感知模型确定该物理环境下β的确定值β0、γ的确定值γ0、以及响应时间安全值τsafe *,获得如下负载感知模型:
6.根据权利要求5所述的方法,其特征在于,所述将前一任务提交周期的提交任务数量与平均响应时间输入预先建立的负载感知模型,获得服务提供端的实时负载曲线包括:
将前一任务提交周期的提交任务数量与平均响应时间τ0输入所述负载感知模型,计算在所述服务提供端建立的物理环境下以及当前时刻α的确定值α0或θ的确定值θ0,得到如下实时负载曲线:
7.根据权利要求1-6任一所述的方法,其特征在于,所述方法进一步包括:
在所述预设的响应时间安全值在所述实时负载曲线对应的提交任务数量小于预设阈值时,发出告警信号。
8.一种调用服务的装置,其特征在于,包括:
负载判断单元,用于将前一任务提交周期的提交任务数量与平均响应时间输入预先建立的负载感知模型,获得服务提供端的实时负载曲线;其中,所述负载感知模型用于表征:在所述服务提供端建立的物理环境下,提交任务数量与平均响应时间在任一时刻的映射关系;所述实时负载曲线用于表征:在所述物理环境下,提交任务数量与平均响应时间在当前时刻的映射关系;
请求单元,用于获取预设的响应时间安全值在所述实时负载曲线对应的提交任务数量,以该提交任务数量确定待提交任务,并根据所述待提交任务向所述服务提供端发送服务调用请求。
9.根据权利要求8所述的装置,其特征在于,所述装置进一步包括:
准备单元,用于构建通用感知模型以表征:在任一物理环境下,提交任务数量与平均响应时间的映射关系;利用所述服务提供端建立的物理环境下的测试数据和所述通用感知模型,获取所述负载感知模型。
10.根据权利要求9所述的装置,其特征在于,所述响应时间安全值具体为:所述服务提供端建立的物理环境下的响应时间安全值。
11.根据权利要求10所述的装置,其特征在于,所述通用感知模型具体为:
其中,Q为提交任务数量,τ为平均响应时间,τsafe为任一物理环境下的响应时间安全值,α、β、γ、θ均为可变的模型参数。
12.根据权利要求11所述的装置,其特征在于,准备单元进一步用于:
利用所述服务提供端建立的物理环境下的测试数据和所述通用感知模型确定该物理环境下β的确定值β0、γ的确定值γ0、以及响应时间安全值τsafe *,获得如下负载感知模型:
13.根据权利要求12所述的装置,其特征在于,负载判断单元进一步用于:
将前一任务提交周期的提交任务数量与平均响应时间τ0输入所述负载感知模型,计算在所述服务提供端建立的物理环境下以及当前时刻α的确定值α0或θ的确定值θ0,得到如下实时负载曲线:
14.根据权利要求8-13任一所述的装置,其特征在于,所述装置进一步包括:
告警单元,用于在所述预设的响应时间安全值在所述实时负载曲线对应的提交任务数量小于预设阈值时,发出告警信号。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711458377.1A CN109976900B (zh) | 2017-12-28 | 2017-12-28 | 调用服务的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711458377.1A CN109976900B (zh) | 2017-12-28 | 2017-12-28 | 调用服务的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109976900A true CN109976900A (zh) | 2019-07-05 |
CN109976900B CN109976900B (zh) | 2021-07-30 |
Family
ID=67074591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711458377.1A Active CN109976900B (zh) | 2017-12-28 | 2017-12-28 | 调用服务的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109976900B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783638A (zh) * | 2019-11-07 | 2021-05-11 | 北京沃东天骏信息技术有限公司 | 通过调用服务实现数据处理的方法及装置、介质和设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130211809A1 (en) * | 2012-02-13 | 2013-08-15 | Fujitsu Limited | Evaluation support method and evaluation support apparatus |
CN103379041A (zh) * | 2012-04-28 | 2013-10-30 | 国际商业机器公司 | 一种系统检测方法和装置以及流量控制方法和设备 |
CN105656962A (zh) * | 2014-11-11 | 2016-06-08 | 阿里巴巴集团控股有限公司 | 一种服务调用方法和装置 |
CN107301466A (zh) * | 2016-04-15 | 2017-10-27 | 中国移动通信集团四川有限公司 | 对业务负载及资源配置与性能关系的预测方法及预测系统 |
-
2017
- 2017-12-28 CN CN201711458377.1A patent/CN109976900B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130211809A1 (en) * | 2012-02-13 | 2013-08-15 | Fujitsu Limited | Evaluation support method and evaluation support apparatus |
CN103379041A (zh) * | 2012-04-28 | 2013-10-30 | 国际商业机器公司 | 一种系统检测方法和装置以及流量控制方法和设备 |
CN105656962A (zh) * | 2014-11-11 | 2016-06-08 | 阿里巴巴集团控股有限公司 | 一种服务调用方法和装置 |
CN107301466A (zh) * | 2016-04-15 | 2017-10-27 | 中国移动通信集团四川有限公司 | 对业务负载及资源配置与性能关系的预测方法及预测系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783638A (zh) * | 2019-11-07 | 2021-05-11 | 北京沃东天骏信息技术有限公司 | 通过调用服务实现数据处理的方法及装置、介质和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109976900B (zh) | 2021-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11449774B2 (en) | Resource configuration method and apparatus for heterogeneous cloud services | |
CN108984370B (zh) | 一种确定监控阈值的方法和装置 | |
CN109408205B (zh) | 基于hadoop集群的任务调度方法和装置 | |
CN107729139A (zh) | 一种并发获取资源的方法和装置 | |
US10148738B2 (en) | System and method for equitable processing of asynchronous messages in a multi-tenant platform | |
CN109218341B (zh) | 用于监控服务器和用于服务器的负载均衡方法和装置 | |
CN112988381A (zh) | 为云资源生成优化信息的方法、装置和电子设备 | |
CN105577958B (zh) | 用于调整分流策略和分流用户请求的方法、装置及系统 | |
CN109961328A (zh) | 确定订单冷静期的方法和装置 | |
CN111062572B (zh) | 任务分配的方法和装置 | |
CN109428926A (zh) | 一种调度任务节点的方法和装置 | |
CN112947919A (zh) | 构建业务模型和处理业务请求的方法和装置 | |
CN109388655A (zh) | 一种动态控制数据访问的方法和装置 | |
CN107403112A (zh) | 数据校验方法及其设备 | |
US20240020633A1 (en) | Warehousing data processing method and apparatus, medium, and electronic device | |
CN109976900A (zh) | 调用服务的方法和装置 | |
CN111831503B (zh) | 一种基于监控代理的监控方法和监控代理装置 | |
CN112685481B (zh) | 一种数据处理方法和装置 | |
CN110097303A (zh) | 一种订单管理的方法和装置 | |
CN112667368A (zh) | 一种任务数据处理方法和装置 | |
CN116567077A (zh) | 裸金属指令发送方法、装置、设备及存储介质 | |
CN113626175B (zh) | 数据处理的方法和装置 | |
CN114265692A (zh) | 服务调度方法、装置、设备以及存储介质 | |
CN113822745A (zh) | 一种物品展示方法和装置 | |
CN114090247A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |