CN109995817A - 一种服务调度方法及装置 - Google Patents
一种服务调度方法及装置 Download PDFInfo
- Publication number
- CN109995817A CN109995817A CN201711485112.0A CN201711485112A CN109995817A CN 109995817 A CN109995817 A CN 109995817A CN 201711485112 A CN201711485112 A CN 201711485112A CN 109995817 A CN109995817 A CN 109995817A
- Authority
- CN
- China
- Prior art keywords
- task
- service
- service end
- call
- destination
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例公开了一种服务调度方法及装置,包括:接收任一任务服务端发送的服务调用请求,根据客户端所请求的任务类型,确定处理该任务的各个任务服务端和各任务服务端的服务实例的调用次序,根据各个任务服务端在当前时刻之前设定时长内的调用信息,确定处理每个子任务的任务服务端的目标服务实例,并将任务的标识和调用次序发送给目标服务实例。可见,由于接收到服务调用请求后,可根据与任务类型相关的各个任务服务端在当前时刻之前设定时长内的调用信息,确定出负责处理各个子任务的目标服务实例,因而可得到在当前时刻处理该任务的最优服务调用链路,从而可有效缩短调用时延,提高任务处理效率。
Description
技术领域
本发明涉及互联网及计算机技术领域,尤其涉及一种服务调度方法及装置。
背景技术
分布式软件系统处理一个请求一般涉及多次远程调用,特别是微服务化的盛行后,调用链路涉及的层次更多,链路更长。目前,每层服务一般会部署多个服务实例,若平均每个服务有n个实例,处理一个请求要经过m个服务,则可选择的调用链为nm个。当系统越来越复杂之后,可选择的调用链也将会越来越复杂。
现有技术中,通常在每层服务都设置专门的设备/软件来支持和维护下一层的服务调用,利用负载均衡算法来优化下一层服务调用的耗时等调用参数。然而,这种优化方案往往只针对单层服务调用,仅能优化局部调用链路。对于某一任务的整体服务调用过程来说,即使对其中的各个局部调用链路都进行了优化,仍然无法得到最优的全局调用链路,使得全局调用链路仍有可能存在耗时长、任务处理效率较差的技术问题。
综上所述,目前亟需要一种服务调度方法,用以优化现有技术中服务调用的整体调用链路,缩短调用时延,提高任务处理效率。
发明内容
本发明提供一种服务调度方法及装置,用以优化现有技术中服务调用的整体调用链路,缩短调用时延,提高任务处理效率。
本发明实施例提供的一种服务调度方法,所述方法应用于分布式软件系统,所述分布式软件系统包括多个任务服务端,且每个任务服务端中包括至少一个服务实例;所述方法包括:
接收第一任务服务端发送的服务调用请求;所述第一任务服务端为所述分布式软件系统中的任一任务服务端,所述服务调用请求中包括客户端所请求任务的任务类型;
根据所述任务类型,确定负责处理所述任务的各个任务服务端,以及每个任务服务端的服务实例的调用次序;其中,每个任务服务端的服务实例用于处理所述任务中的一个子任务;
根据所述各个任务服务端在当前时刻之前设定时长内的调用信息,确定负责处理每个子任务的任务服务端中的目标服务实例,并将所述任务的标识和调用次序发送给所述目标服务实例。
可选地,所述分布式软件系统中还包括调度服务端,所述调度服务端中存储有所述分布式软件系统中每个任务服务端的调用信息,其中,任一任务服务端的任一次服务调用的调用信息是所述任一任务服务端在所述任一服务调用结束后发送给所述调度服务端的。
可选地,所述根据所述各个任务服务端在设定时间段内的调用信息,确定负责处理每个子任务的任务服务端中的目标服务实例,包括:
根据所述各个任务服务端在设定时间段内的调用信息,采用动态规划算法,确定出负责处理所述任务的备选服务实例组合中耗时最短的目标服务实例组合,以及所述目标服务实例组合中的各个目标服务实例。
可选地,所述任一服务调用的调用信息至少包括如下的任一项或多项:
所述任一服务调用的任务类型、调用耗时、调用结果、上一级服务提供端中的服务实例、所述上一级服务提供端的调用延时。
基于同样的发明构思,本发明还提供一种服务调度装置,包括:
收发模块,用于接收第一任务服务端发送的服务调用请求;所述第一任务服务端为所述分布式软件系统中的任一任务服务端,所述服务调用请求中包括客户端所请求任务的任务类型;
确定模块,用于根据所述任务类型,确定负责处理所述任务的各个任务服务端,以及每个任务服务端的服务实例的调用次序;其中,每个任务服务端的服务实例用于处理所述任务中的一个子任务;
处理模块,用于根据所述各个任务服务端在当前时刻之前设定时长内的调用信息,确定负责处理每个子任务的任务服务端中的目标服务实例,并将所述任务的标识和调用次序发送给所述目标服务实例。
可选地,所述处理模块中存储有所述分布式软件系统中每个任务服务端的调用信息,其中,任一任务服务端的任一次服务调用的调用信息是所述任一任务服务端在所述任一服务调用结束后发送给所述处理模块的。
可选地,所述处理模块具体用于:
根据所述各个任务服务端在设定时间段内的调用信息,采用动态规划算法,确定出负责处理所述任务的备选服务实例组合中耗时最短的目标服务实例组合,以及所述目标服务实例组合中的各个目标服务实例。
可选地,所述任一服务调用的调用信息至少包括如下的任一项或多项:
所述任一服务调用的任务类型、调用耗时、调用结果、上一级服务提供端中的服务实例、所述上一级服务提供端的调用延时。
本发明另一实施例提供了一种调度设备,其包括存储器和处理器,其中,所述存储器用于存储程序指令,所述处理器用于调用所述存储器中存储的程序指令,按照获得的程序执行上述任一种方法。
本发明另一实施例提供了一种计算机存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述任一种方法。
本发明实施例提供的服务调度方法包括,接收任一任务服务端发送的服务调用请求,该服务调用请求中包括客户端所请求任务的任务类型,随后根据任务类型,确定负责处理该任务的各个任务服务端,以及各个任务服务端的服务实例的调用次序,进而根据各个任务服务端在当前时刻之前设定时长内的调用信息,确定负责处理每个子任务的任务服务端中的目标服务实例,并将任务标识和调用次序发送给目标服务实例。可见,由于接收到客户端发送的服务调用请求后,可根据与客户端所请求的任务类型相关的各个任务服务端在当前时刻之前设定时长内的调用信息,确定出负责处理该任务的各个子任务的目标服务实例,因而可得到在当前时刻处理该任务的最优服务调用链路,从而可有效缩短调用耗时,提高任务处理效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的服务调度方法所适用的系统架构图;
图2为本发明实施例提供的服务调度方法所对应的流程示意图;
图3为本发明实施例提供的一种服务调度装置的结构示意图;
图4为本发明实施例提供的一种调度设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例,仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面结合说明书附图对本发明实施例做进一步详细描述。
图1示例性地示出了本发明实施例中提供的一种服务调度方法适用的系统架构图,如图1所示,该分布式软件系统100中包括调度服务端101和与调度服务端相连的多个任务服务端(如图1中所示出的102、103和104)。
其中,一个任务服务端即为一个服务或一个微服务,用于响应客户端发起的请求,向外界提供某一特定功能的服务,且不同的任务服务端所提供的服务并不相同。若将客户端发起的一个请求当做是一次任务,一次任务处理的过程往往需要多个任务服务端共同完成,每个任务服务端用于处理其中的一个子任务。即客户端的一次请求涉及多次服务调用,一个任务服务端可调用另一任务服务提供端,另一任务服务端还可以再调用其他任务提供端,依此类推,直至任务完成。
一个任务服务端中包括一个或多个服务实例,某一任务服务端的一次服务调用具体是通过该任务服务端的一个具体的服务实例来实现的。一个服务实例为用于提供该任务服务端功能的一个可执行程序,同一任务服务端的多个服务实例功能均相同,但是可以部署在不同的物理位置上。
本发明实施例中,分布式软件系统中的不同任务服务端可以部署在同一机房的不同服务器上,或者同一数据中心的不同机房内,或者同一地域的不同数据中心内,甚至是不同的地域的数据中心内。同理,同一任务提供端的不同服务实例也可以分布在不同的地域、或者同一地域的不同数据中心、同一数据中心的不同机房、同一机房的不同服务器上,本发明对此不做具体限制。
调度服务端中存储有上述多个任务服务端中每一次服务调用的调用信息,一次服务调用的调用信息可包括如下的一项或多项的组合:
该次服务调用相关的任务标识、任务类型、调用耗时、调用结果、异常信息、上一级服务提供端中的服务实例、上一级服务提供端的调用延时。
其中,任务标识用于唯一标识一次任务,即客户端发起的一次请求,通过任务标识可以跟踪客户端发起的一次请求的完整服务调用链路。任务类型即为客户端所发起的请求的类型,例如,若客户端请求注册新用户,则任务类型为“注册新用户”,若客户端请求支付一个订单,则任务类型为“支付”。当然任务类型也可以用预设的标志符来表示其具体含义,本发明对此不做限制。
本发明实施例中,调度服务端与上述多个任务服务端相连,任一任务服务端在结束一次服务调用后,均会将该次服务调用的调用信息发送给调度服务端,以供调度服务端利用这些调用信息衡量系统当前的处理能力,决策客户端发起的请求对应的服务调用链路。
需要说明的是,任一任务服务端可在某一次服务调用结束之后,就立即将该次服务调用的调用信息发送给调度服务端,或者该任务服务端也可周期性地向调度服务端发送调用信息,例如5秒发送一次或者10秒发送一次等等。
调度服务端可以与上述多个任务服务端直接相连,或者也可以通过设置一个缓冲模块(如图1中105所示)与多个任务服务端间接相连,如此,通过设置缓冲模块暂时存储调度服务端与任务服务端之间交互的数据,可有效提高调度服务端与任务服务端之间数据交互的稳定性和安全性。本发明实施例中,所述缓冲模块可以通过消息队列、缓存或者其他类型的数据结构来实现,本发明对此不做具体限制。
需要说明的是,本发明实施例中,分布式软件系统中可以设置有一个或多个调度服务端。在设置有多个调度服务端的场景中,多个调度服务端通过互联网相连,共享分布式软件系统中各个任务服务端的调用信息,共同为客户端发起的请求决策服务调用链路。
图2示例性地示出了本发明实施例中提供的一种服务调度方法所对应的流程示意图,如图2所示,所述方法包括:
步骤S201:接收第一任务服务端发送的服务调用请求;所述第一任务服务端为所述分布式软件系统中的任一任务服务端,所述服务调用请求中包括客户端所请求任务的任务类型;
步骤S202:根据所述任务类型,确定负责处理所述任务的各个任务服务端,以及每个任务服务端的服务实例的调用次序;其中,每个任务服务端的服务实例用于处理所述任务中的一个子任务;
步骤S203:根据所述各个任务服务端在当前时刻之前设定时长内的调用信息,确定负责处理每个子任务的任务服务端中的目标服务实例,并将所述任务的标识和调用次序发送给所述目标服务实例。
可见,由于接收到客户端发送的服务调用请求后,可根据与客户端所请求的任务类型相关的各个任务服务端在当前时刻之前设定时长内的调用信息,确定出负责处理该任务的各个子任务的目标服务实例,因而可得到在当前时刻处理该任务的最优服务调用链路,从而可有效缩短调用耗时,提高任务处理效率。
具体来说,在步骤S201中,具体是由分布式软件系统中的调度服务端来接收第一任务服务端的服务调用请求,调度服务端接收到第一任务服务端发送的服务调用请求后,可为该请求分配一个请求标识,该请求标识即为客户端所请求任务的任务标识,用来跟踪处理该任务的完整的服务调用链路,而且该请求标识还将在任务处理的过程在按照服务调用链路中各任务服务端的调用次序依次传递。
需要说明的是,本发明实施例中分布式软件系统的任一任务服务端都可直接接收客户端发送的服务调用请求,随后再将接收到的服务调用请求转发给调度服务端,本发明对此不做限制。
在步骤S202中,由于一个任务由多个任务服务端共同完成,调度服务端中可预先存储有任务类型与负责处理该类型任务的各个任务服务端、任务服务端的的调用次序之间的对应关系。因此,调度服务端一旦获知客户端所请求任务的任务类型,即可根据上述对应关系确定负责处理该任务的各个任务服务端,以及各个任务服务端的服务实例的调用次序。
其中,第一任务服务端为处理该任务的各个任务服务端中的一个任务服务端,且该第一任务服务端为该任务的服务调用链路中的起始服务节点,即处理第一个子任务的任务服务端。
需要说明的是,对于不同的任务类型,对应的负责处理任务的各个任务服务端是不同的,或者虽然负责处理的各个任务服务端相同,但各个任务服务端之间的调用次序不同。
例如,若分布式软件系统中包括六个任务服务端,分别为A、B、C、D、E、F,该系统负责处理“新用户注册”、“下订单”、“支付”3种类型的任务,即客户端仅可能向系统发起“新用户注册”、“下订单”、“支付”这3种类型的请求。任务类型为“新用户注册”的任务由任务服务端A、B、C、D来完成,调用次序为A调用B,B调用C,C调用D;任务类型为“下订单”的任务由任务服务端A、B、C、E来完成,调用次序为A调用B,B调用C,C调用E;任务类型为“支付”的任务由任务服务端A、B、C、D、F来完成,调用次序为A调用B,B调用C,C调用D,D调用F。
在步骤S203中,调度服务端可将客户端所请求的任务划分为多个子任务,其中,每个子任务由负责处理该类型任务的任务服务端的一个服务实例来具体执行。
进而,调度服务端可根据负责处理当前任务的各个任务服务端的实时调用信息,来确定负责处理该任务的各个子任务的目标服务实例,并将该任务的标识和各个任务服务端的服务实例调用次序发送给各个目标服务实例。
由于每个任务服务端在结束一次服务调用之后均会将该次服务调用的调用信息发送给调度服务端,因此本发明实施例中,负责处理当前任务的某一任务服务端的实时调用信息是指,该任务服务端在当前时刻之前设定时长内的服务调用的调用信息。
本发明实施例中,该设定时长可由本领域技术人员根据实际情况自行设定,本发明对此不做具体限制。例如,设定时长可以为10秒、30秒、1分钟、10分钟或者其他时间长度。若当前时刻为上午10点,设定时长设置为30秒,那么调度服务端可根据9点59分30秒至10点0分0秒中各任务调度端的调用信息,确定处理每个各个子任务的目标服务实例。
具体的,调度服务端根据负责处理该任务的各个任务服务端在设定时间段内的调用信息,采用动态规划算法,从负责处理该任务的所有可能的备选服务实例组合中,确定出目标服务实例组合,该目标服务实例组合即为当前处理该任务的最优服务调用链路。
本发明实施例中,任一备选服务实例组合中包括负责处理该类型任务的各个任务服务端中每个任务服务端的一个服务实例,即备选服务实例组合中服务实例的数量与负责处理该类型任务的任务服务端的数量相同。
举例来说,若客户端发起的是“新用户注册”的请求,而负责处理“新用户注册”类型任务的任务服务端包括A、B、C、D。假设A、B、C、D中的每个任务服务端都包括5个服务实例,且所有的服务实例当前都处于可用状态,那么当前处理该任务共具有5*5*5*5=625种可用的备选服务实例组合,每一备选服务实例组合中均包括A中的一个服务实例、B中的一个服务实例、C中的一个服务实例、D中的一个服务实例。调度服务端将从这625种备选服务实例组合中确定出耗时最短的服务实例组合,并该服务实例组合作为目标服务实例组合。
作为一种可选的实现方式,目标服务实例组合为所有备用服务实例组合中服务调用的总耗时最短的服务实例组合。由于同一任务服务端的不同服务实例可能部署在不同的服务器中,而这些服务器可能处理性能不同、使用的网络不同、运行状态不同、也可能分布在不同的数据中心,甚至是不同的地域中,因此,各个服务实例在进行服务调用时的耗时可能不同,而且任一服务实例的调用耗时还可能随着时间的变化而动态波动。
因此,本发明实施例中,调度服务端可实时获取并更新系统中各任务服务端的调用信息,进而,针对某一任务类型的任务,根据负责处理该类型任务的所有任务服务端的实时调用信息,为该任务确定最优调用链路,并可对该类型任务的最优调用链路进行实时更新,从而有效减小调用耗时、提高系统的任务处理效率。
需要说明的是,除了各个任务服务端的调用耗时等调用信息之外,调度服务端还可综合考虑各个任务服务端的网络状态、物理分布、处理性能、忙碌度等多种因素,来最终确定出决定最优服务调用链路。针对某一任务服务端,调度服务端优先选择网络状态畅通、与上一级服务调用的服务实例的距离更近、处理性能较强、忙碌度较低的服务实例,作为目标服务实例。
本发明实施例中,调度服务端具体采用动态规划算法计算最优调用链路,由于动态规划算法属于现有技术,因此,本发明对此不再赘述。当然,调度服务端也可采用动态规划算法以外的其他算法,如各类种强化学习算法来计算最优调用链路,本发明对此不做具体限制。
基于同样的发明构思,本发明实施例还提供一种服务调度装置,图3为本发明实施例中提供的一种服务调度装置的结构示意图,如图3所示,该装置300包括:
收发模块301,用于接收第一任务服务端发送的服务调用请求;所述第一任务服务端为所述分布式软件系统中的任一任务服务端,所述服务调用请求中包括客户端所请求任务的任务类型;
确定模块302,用于根据所述任务类型,确定负责处理所述任务的各个任务服务端,以及每个任务服务端的服务实例的调用次序;其中,每个任务服务端的服务实例用于处理所述任务中的一个子任务;
处理模块303,用于根据所述各个任务服务端在当前时刻之前设定时长内的调用信息,确定负责处理每个子任务的任务服务端中的目标服务实例,并将所述任务的标识和调用次序发送给所述目标服务实例。
可选地,所述处理模块303中存储有所述分布式软件系统中每个任务服务端的调用信息,其中,任一任务服务端的任一次服务调用的调用信息是所述任一任务服务端在所述任一服务调用结束后发送给所述处理模块303的。
可选地,所述处理模块303具体用于:
根据所述各个任务服务端在设定时间段内的调用信息,采用动态规划算法,确定出负责处理所述任务的备选服务实例组合中耗时最短的目标服务实例组合,以及所述目标服务实例组合中的各个目标服务实例。
可选地,所述任一服务调用的调用信息至少包括如下的任一项或多项:
所述任一服务调用的任务类型、调用耗时、调用结果、上一级服务提供端中的服务实例、所述上一级服务提供端的调用延时。
基于同样的发明构思,本发明实施例还提供另一种调度设备,该调度设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)等。如图4所示,该调度设备400可以包括中央处理器(Center ProcessingUnit,CPU)401、存储器402、输入/输出设备403及总线系统404等。其中,输入设备可以包括键盘、鼠标、触摸屏等,输出设备可以包括显示设备,如液晶显示器(Liquid CrystalDisplay,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器提供存储器中存储的程序指令和数据。在本发明实施例中,存储器可以用于存储上述服务调度方法的程序。
处理器通过调用存储器存储的程序指令,处理器用于按照获得的程序指令执行上述服务调度方法。
基于同样的发明构思,本发明实施例提供了一种计算机存储介质,用于储存为上述调度设备所用的计算机程序指令,其包含用于执行上述服务调度方法的程序。
所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
由上述内容可以看出:
本发明实施例提供的服务调度方法包括,接收任一任务服务端发送的服务调用请求,该服务调用请求中包括客户端所请求任务的任务类型,随后根据任务类型,确定负责处理该任务的各个任务服务端,以及各个任务服务端的服务实例的调用次序,进而根据各个任务服务端在当前时刻之前设定时长内的调用信息,确定负责处理每个子任务的任务服务端中的目标服务实例,并将任务标识和调用次序发送给目标服务实例。可见,由于接收到客户端发送的服务调用请求后,可根据与客户端所请求的任务类型相关的各个任务服务端在当前时刻之前设定时长内的调用信息,确定出负责处理该任务的各个子任务的目标服务实例,因而可得到在当前时刻处理该任务的最优服务调用链路,从而可有效缩短调用耗时,提高任务处理效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或两个以上其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或两个以上流程和/或方框图一个方框或两个以上方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或两个以上流程和/或方框图一个方框或两个以上方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或两个以上流程和/或方框图一个方框或两个以上方框中指定的功能的步骤。
尽管已描述了本发明的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种服务调度方法,其特征在于,所述方法应用于分布式软件系统,所述分布式软件系统包括多个任务服务端,且每个任务服务端中包括至少一个服务实例;所述方法包括:
接收第一任务服务端发送的服务调用请求;所述第一任务服务端为所述分布式软件系统中的任一任务服务端,所述服务调用请求中包括客户端所请求任务的任务类型;
根据所述任务类型,确定负责处理所述任务的各个任务服务端,以及每个任务服务端的服务实例的调用次序;其中,每个任务服务端的服务实例用于处理所述任务中的一个子任务;
根据所述各个任务服务端在当前时刻之前设定时长内的调用信息,确定负责处理每个子任务的任务服务端中的目标服务实例,并将所述任务的标识和调用次序发送给所述目标服务实例。
2.根据权利要求1所述的方法,其特征在于,所述分布式软件系统中还包括调度服务端,所述调度服务端中存储有所述分布式软件系统中每个任务服务端的调用信息,其中,任一任务服务端的任一次服务调用的调用信息是所述任一任务服务端在所述任一服务调用结束后发送给所述调度服务端的。
3.根据权利要求1所述的方法,其特征在于,所述根据所述各个任务服务端在设定时间段内的调用信息,确定负责处理每个子任务的任务服务端中的目标服务实例,包括:
根据所述各个任务服务端在设定时间段内的调用信息,采用动态规划算法,确定出负责处理所述任务的备选服务实例组合中耗时最短的目标服务实例组合,以及所述目标服务实例组合中的各个目标服务实例。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述任一服务调用的调用信息至少包括如下的任一项或多项:
所述任一服务调用的任务标识、任务类型、调用耗时、调用结果、上一级服务提供端中的服务实例、所述上一级服务提供端的调用延时。
5.一种服务调度装置,其特征在于,所述装置应用于分布式软件系统,所述装置包括:
收发模块,用于接收第一任务服务端发送的服务调用请求;所述第一任务服务端为所述分布式软件系统中的任一任务服务端,所述服务调用请求中包括客户端所请求任务的任务标识和任务类型;
确定模块,用于根据所述任务类型,确定负责处理所述任务的各个任务服务端,以及每个任务服务端的服务实例的调用次序;其中,每个任务服务端的服务实例用于处理所述任务中的一个子任务;
处理模块,用于根据所述各个任务服务端在当前时刻之前设定时长内的调用信息,确定负责处理每个子任务的任务服务端中的目标服务实例,并将所述任务标识和调用次序发送给所述目标服务实例。
6.根据权利要求5所述的装置,其特征在于,所述处理模块中存储有所述分布式软件系统中每个任务服务端的调用信息,其中,任一任务服务端的任一次服务调用的调用信息是所述任一任务服务端在所述任一服务调用结束后发送给所述处理模块的。
7.根据权利要求5所述的装置,其特征在于,所述处理模块具体用于:
根据所述各个任务服务端在设定时间段内的调用信息,采用动态规划算法,确定出负责处理所述任务的备选服务实例组合中耗时最短的目标服务实例组合,以及所述目标服务实例组合中的各个目标服务实例。
8.根据权利要求5至7中任一项所述的装置,其特征在于,所述任一服务调用的调用信息至少包括如下的任一项或多项:
所述任一服务调用的任务类型、调用耗时、调用结果、上一级服务提供端中的服务实例、所述上一级服务提供端的调用延时。
9.一种调度设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如权利要求1至4中任一项所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如权利要求1至4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711485112.0A CN109995817A (zh) | 2017-12-29 | 2017-12-29 | 一种服务调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711485112.0A CN109995817A (zh) | 2017-12-29 | 2017-12-29 | 一种服务调度方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109995817A true CN109995817A (zh) | 2019-07-09 |
Family
ID=67111260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711485112.0A Pending CN109995817A (zh) | 2017-12-29 | 2017-12-29 | 一种服务调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109995817A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110995780A (zh) * | 2019-10-30 | 2020-04-10 | 北京文渊佳科技有限公司 | Api调用方法、装置、存储介质及电子设备 |
CN110995829A (zh) * | 2019-11-29 | 2020-04-10 | 广州市百果园信息技术有限公司 | 实例调用方法、装置及计算机存储介质 |
CN111884932A (zh) * | 2020-07-06 | 2020-11-03 | 北京奇艺世纪科技有限公司 | 一种链路确定方法、装置、设备和计算机可读存储介质 |
WO2021013105A1 (zh) * | 2019-07-19 | 2021-01-28 | 深圳前海微众银行股份有限公司 | 一种作业状态的推送方法及装置 |
CN112783673A (zh) * | 2021-01-27 | 2021-05-11 | 广州品唯软件有限公司 | 一种调用链的确定方法、装置、计算机设备及存储介质 |
WO2021143287A1 (zh) * | 2020-01-16 | 2021-07-22 | 珠海格力电器股份有限公司 | 服务调度方法、装置、电子设备及存储介质 |
CN113391886A (zh) * | 2020-03-11 | 2021-09-14 | 上海商汤智能科技有限公司 | 任务调度方法和装置 |
CN113407316A (zh) * | 2021-05-17 | 2021-09-17 | 北京达佳互联信息技术有限公司 | 服务调度方法、装置、电子设备及存储介质 |
CN113542325A (zh) * | 2020-04-17 | 2021-10-22 | 北京沃东天骏信息技术有限公司 | 分布式服务调度方法、装置、电子设备和存储介质 |
CN113765793A (zh) * | 2021-06-07 | 2021-12-07 | 北京京东振世信息技术有限公司 | 数据传输方法及装置、存储介质、电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656536A (zh) * | 2015-11-03 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种用于处理服务调用信息的方法与设备 |
CN106708481A (zh) * | 2015-07-30 | 2017-05-24 | 北京京东尚科信息技术有限公司 | 一种控制任务执行的方法 |
CN106796514A (zh) * | 2014-05-21 | 2017-05-31 | 社会创新Ipco有限公司 | 用于完全可配置的实时处理的系统和方法 |
CN107168790A (zh) * | 2017-03-31 | 2017-09-15 | 北京奇艺世纪科技有限公司 | 一种作业的调度方法及装置 |
CN107329762A (zh) * | 2017-06-30 | 2017-11-07 | 上海棠棣信息科技股份有限公司 | 一种描述与集成软件服务的方法和系统 |
-
2017
- 2017-12-29 CN CN201711485112.0A patent/CN109995817A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106796514A (zh) * | 2014-05-21 | 2017-05-31 | 社会创新Ipco有限公司 | 用于完全可配置的实时处理的系统和方法 |
CN106708481A (zh) * | 2015-07-30 | 2017-05-24 | 北京京东尚科信息技术有限公司 | 一种控制任务执行的方法 |
CN106656536A (zh) * | 2015-11-03 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种用于处理服务调用信息的方法与设备 |
CN107168790A (zh) * | 2017-03-31 | 2017-09-15 | 北京奇艺世纪科技有限公司 | 一种作业的调度方法及装置 |
CN107329762A (zh) * | 2017-06-30 | 2017-11-07 | 上海棠棣信息科技股份有限公司 | 一种描述与集成软件服务的方法和系统 |
Non-Patent Citations (3)
Title |
---|
刘彩霞等: ""一种基于Viterbi 算法的虚拟网络功能自适应部署方法"", 《电子与信息学报》 * |
程国振: ""基于元能力的网络功能组合关键技术研究"", 《中国博士学位论文全文数据库》 * |
袁泉等: ""基于Q-learning算法的vEPC虚拟网络功能部署方法"", 《通信学报》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021013105A1 (zh) * | 2019-07-19 | 2021-01-28 | 深圳前海微众银行股份有限公司 | 一种作业状态的推送方法及装置 |
CN110995780A (zh) * | 2019-10-30 | 2020-04-10 | 北京文渊佳科技有限公司 | Api调用方法、装置、存储介质及电子设备 |
CN110995829A (zh) * | 2019-11-29 | 2020-04-10 | 广州市百果园信息技术有限公司 | 实例调用方法、装置及计算机存储介质 |
CN110995829B (zh) * | 2019-11-29 | 2022-07-22 | 广州市百果园信息技术有限公司 | 实例调用方法、装置及计算机存储介质 |
WO2021143287A1 (zh) * | 2020-01-16 | 2021-07-22 | 珠海格力电器股份有限公司 | 服务调度方法、装置、电子设备及存储介质 |
CN113391886A (zh) * | 2020-03-11 | 2021-09-14 | 上海商汤智能科技有限公司 | 任务调度方法和装置 |
CN113542325A (zh) * | 2020-04-17 | 2021-10-22 | 北京沃东天骏信息技术有限公司 | 分布式服务调度方法、装置、电子设备和存储介质 |
CN111884932A (zh) * | 2020-07-06 | 2020-11-03 | 北京奇艺世纪科技有限公司 | 一种链路确定方法、装置、设备和计算机可读存储介质 |
CN112783673A (zh) * | 2021-01-27 | 2021-05-11 | 广州品唯软件有限公司 | 一种调用链的确定方法、装置、计算机设备及存储介质 |
CN113407316A (zh) * | 2021-05-17 | 2021-09-17 | 北京达佳互联信息技术有限公司 | 服务调度方法、装置、电子设备及存储介质 |
CN113765793A (zh) * | 2021-06-07 | 2021-12-07 | 北京京东振世信息技术有限公司 | 数据传输方法及装置、存储介质、电子设备 |
CN113765793B (zh) * | 2021-06-07 | 2023-09-05 | 北京京东振世信息技术有限公司 | 数据传输方法及装置、存储介质、电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109995817A (zh) | 一种服务调度方法及装置 | |
US10877801B2 (en) | Systems and methods for scheduling tasks | |
US11449774B2 (en) | Resource configuration method and apparatus for heterogeneous cloud services | |
US20200328984A1 (en) | Method and apparatus for allocating resource | |
US20200159565A1 (en) | Predicting transaction outcome based on artifacts in a transaction processing environment | |
CN107241380B (zh) | 用于基于时间调整的负载均衡的方法和设备 | |
US10069757B1 (en) | Reserved network device capacity | |
KR102612312B1 (ko) | 전자 장치 및 이의 제어방법 | |
CN107948084B (zh) | 一种限流方法和装置 | |
TW202121274A (zh) | 雲端資源管理方法、裝置、電子設備及電腦可讀儲存媒體 | |
CN110826782B (zh) | 一种数据处理的方法、装置、可读存储介质和电子设备 | |
CN109861922B (zh) | 用于控制流量的方法和装置 | |
CN108023938B (zh) | 一种消息发送方法及服务器 | |
CN110716809B (zh) | 用于调度云资源的方法和装置 | |
CN108696554B (zh) | 负载均衡方法和装置 | |
CN109842665B (zh) | 用于任务分配服务器的任务处理方法和装置 | |
CN108683608B (zh) | 分配流量的方法和装置 | |
CN105917694B (zh) | 电信网络中的服务提供与激活 | |
CN110795151A (zh) | 算子并发度调整方法、装置和设备 | |
CN113630327B (zh) | 流量控制方法、装置、电子设备和计算机可读介质 | |
CN110113176B (zh) | 用于配置服务器的信息同步方法及装置 | |
CN113553206B (zh) | 数据事件执行方法、装置、电子设备和计算机可读介质 | |
CN115658287A (zh) | 一种用于调度运行单元的方法、设备、介质及程序产品 | |
CN109088929B (zh) | 用于发送信息的方法及装置 | |
CN113377539A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190709 |