服务运行方法、装置、服务器及存储介质制造方法及图纸

技术编号:29217590 阅读:17 留言:0更新日期:2021-07-10 00:56
本申请提供了一种服务运行方法、装置、服务器及存储介质,属于计算机技术领域。所述方法包括:获取多个依赖关系,任一依赖关系包括一个前驱服务和一个后继服务,所述任一依赖关系表示所述后继服务在所述前驱服务运行完成后才开始运行;基于所述多个依赖关系,确定所述多个依赖关系包括的每个服务对应的前驱服务;响应于还未开始运行的任一服务未对应有还未运行完成的前驱服务,开始运行所述任一服务。本申请通过使依赖于前驱服务运行完成而开始运行的服务在其所依赖的前驱服务均运行完成时,立即开始运行,在多个服务有序运行的基础上,降低了服务运行的整体耗时。降低了服务运行的整体耗时。降低了服务运行的整体耗时。

【技术实现步骤摘要】
服务运行方法、装置、服务器及存储介质


[0001]本申请涉及计算机
,特别涉及一种服务运行方法、装置、服务器及存储介质。

技术介绍

[0002]随着计算机技术的发展,Web(World Wide Web,万维网)服务端提供的服务越来越复杂,Web服务端服务通常会依赖下游多个服务,并对下游服务的数据进行聚合输出给客户端来实现相应的功能。
[0003]聚合多个服务运行的整体耗时长短对Web服务端的性能具有很大的影响,如何在多个服务有序运行的基础上,降低服务运行的整体耗时,是一个亟待解决的问题。

技术实现思路

[0004]本申请实施例提供了一种服务运行方法、装置、服务器及存储介质,能够在多个服务有序运行的基础上,降低服务运行的整体耗时。所述技术方案如下:
[0005]根据本申请实施例的一方面,提供了一种服务运行方法,所述方法包括:
[0006]获取多个依赖关系,任一依赖关系包括一个前驱服务和一个后继服务,所述任一依赖关系表示所述后继服务在所述前驱服务运行完成后才开始运行;
[0007]基于所述多个依赖关系,确定所述多个依赖关系包括的每个服务对应的前驱服务;
[0008]响应于还未开始运行的任一服务未对应有还未运行完成的前驱服务,开始运行所述任一服务。
[0009]在一种可能的实现方式中,所述基于所述多个依赖关系,确定所述多个依赖关系包括的每个服务对应的前驱服务之后,所述方法还包括:
[0010]对于所述每个服务,将所述服务对应的还未运行完成的前驱服务的数量,确定为所述服务的数量参数;
[0011]所述响应于还未开始运行的任一服务未对应有还未运行完成的前驱服务,开始运行所述任一服务,包括:
[0012]响应于还未开始运行的任一服务的数量参数为0,开始运行所述任一服务;
[0013]所述响应于还未开始运行的任一服务未对应有还未运行完成的前驱服务,开始运行所述任一服务之后,所述方法还包括:
[0014]响应于所述任一服务运行完成,将所述任一服务对应的后继服务的数量参数减1。
[0015]在另一种可能的实现方式中,所述响应于所述任一服务运行完成,将所述任一服务对应的后继服务的数量参数减1,包括:
[0016]响应于所述任一服务运行完成,调用所述任一服务的回调接口,将所述任一服务对应的后继服务的数量参数减1。
[0017]在另一种可能的实现方式中,所述获取多个依赖关系之后,所述方法还包括:
[0018]对于所述多个依赖关系中的每个依赖关系,创建所述依赖关系中的前驱服务对应的前驱节点,以及,创建所述依赖关系中的后继服务对应的后继节点;创建从所述前驱节点指向所述后继节点的有向线,所创建的多个节点以及节点与节点之间的有向线构成用顶点表示活动AOV网;
[0019]所述对于所述每个服务,将所述服务对应的还未运行完成的前驱服务的数量,确定为所述服务的数量参数,包括:
[0020]对于所述AOV网中的每个节点,将所述节点对应的前驱节点的数量确定为所述节点的数量参数。
[0021]在另一种可能的实现方式中,所述响应于还未开始运行的任一服务的数量参数为0,开始运行所述任一服务,包括:
[0022]响应于所述AOV网中的任一节点的数量参数为0,且所述任一节点对应的服务还未开始运行,开始运行所述任一节点对应的服务;
[0023]所述响应于所述任一服务运行完成,将所述任一服务对应的后继服务的数量参数减1,包括:
[0024]响应于所述任一节点对应的服务运行完成,基于所述AOV网中的包括所述任一节点的有向线,确定所述任一节点指向的后继节点;
[0025]将所述后继节点的数量参数减1。
[0026]在另一种可能的实现方式中,所述多个服务的初始状态为未开始运行,所述响应于还未开始运行的任一服务未对应有还未运行完成的前驱服务,开始运行所述任一服务之后,所述方法还包括:
[0027]将所述任一服务的状态更新为运行中;
[0028]所述响应于还未开始运行的任一服务未对应有还未运行完成的前驱服务,开始运行所述任一服务之后,所述方法还包括:
[0029]响应于所述任一服务运行完成,将所述任一服务的状态更新为运行完成。
[0030]在另一种可能的实现方式中,所述响应于还未开始运行的任一服务未对应有还未运行完成的前驱服务,开始运行所述任一服务,包括:
[0031]响应于状态为未开始运行的任一服务未对应有前驱服务或者所述任一服务对应的至少一个前驱服务的状态为运行完成,开始运行所述任一服务。
[0032]在另一种可能的实现方式中,所述获取多个依赖关系,包括:
[0033]获取多个第一依赖关系,任一第一依赖关系包括一个前驱服务和一个后继服务,所述任一第一依赖关系表示所述后继服务在所述前驱服务运行完成后才开始运行;
[0034]基于所述多个第一依赖关系,确定所述多个第一依赖关系中未对应有前驱服务的多个第一服务;
[0035]创建虚拟的起始服务,所述起始服务为所述多个第一依赖关系包括的多个服务的运行启动接口;
[0036]基于所述起始服务和所述多个第一服务,建立多个第二依赖关系,任一第二依赖关系包括所述起始服务和一个第一服务,表示所述一个第一服务在所述起始服务运行完成后才开始运行。
[0037]在另一种可能的实现方式中,所述获取多个依赖关系,包括:
[0038]获取多个第一依赖关系,任一第一依赖关系包括一个前驱服务和一个后继服务,所述任一第一依赖关系表示所述后继服务在所述前驱服务运行完成后才开始运行;
[0039]基于所述多个第一依赖关系,确定所述多个第一依赖关系中未对应有后继服务的多个第二服务;
[0040]创建虚拟的终止服务,所述终止服务为所述多个第一依赖关系包括的多个服务的运行终止接口;
[0041]基于所述终止服务和所述多个第二服务,建立多个第三依赖关系,任一第三依赖关系包括一个第二服务和所述终止服务,所述多个第三依赖关系表示所述终止服务在所述多个第二服务均运行完成之后才开始运行。
[0042]在另一种可能的实现方式中,所述响应于还未开始运行的任一服务未对应有还未运行完成的前驱服务,开始运行所述任一服务之前,所述方法还包括:
[0043]响应于所述任一服务对应的任一前驱服务运行完成,获取所述任一前驱服务的运行结果;
[0044]所述响应于还未开始运行的任一服务未对应有还未运行完成的前驱服务,开始运行所述任一服务,包括:
[0045]响应于还未开始运行的任一服务对应的至少一个前驱服务运行完成,基于所述任一服务对应的至少一个前驱服务的运行结果,开始运行所述任一服务;或者,
[0046]响应于还未开始运行的任一服务未对应有前驱服务,开始运行所述任一服务。
[0047]在另一种可能的实现方式中,所述响应于所述任一服务对应的任一前驱服务运行完成,获取本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种服务运行方法,其特征在于,所述方法包括:获取多个依赖关系,任一依赖关系包括一个前驱服务和一个后继服务,所述任一依赖关系表示所述后继服务在所述前驱服务运行完成后才开始运行;基于所述多个依赖关系,确定所述多个依赖关系包括的每个服务对应的前驱服务;响应于还未开始运行的任一服务未对应有还未运行完成的前驱服务,开始运行所述任一服务。2.根据权利要求1所述的方法,其特征在于,所述基于所述多个依赖关系,确定所述多个依赖关系包括的每个服务对应的前驱服务之后,所述方法还包括:对于所述每个服务,将所述服务对应的还未运行完成的前驱服务的数量,确定为所述服务的数量参数;所述响应于还未开始运行的任一服务未对应有还未运行完成的前驱服务,开始运行所述任一服务,包括:响应于还未开始运行的任一服务的数量参数为0,开始运行所述任一服务;所述响应于还未开始运行的任一服务未对应有还未运行完成的前驱服务,开始运行所述任一服务之后,所述方法还包括:响应于所述任一服务运行完成,将所述任一服务对应的后继服务的数量参数减1。3.根据权利要求2所述的方法,其特征在于,所述响应于所述任一服务运行完成,将所述任一服务对应的后继服务的数量参数减1,包括:响应于所述任一服务运行完成,调用所述任一服务的回调接口,将所述任一服务对应的后继服务的数量参数减1。4.根据权利要求2所述的方法,其特征在于,所述获取多个依赖关系之后,所述方法还包括:对于所述多个依赖关系中的每个依赖关系,创建所述依赖关系中的前驱服务对应的前驱节点,以及,创建所述依赖关系中的后继服务对应的后继节点;创建从所述前驱节点指向所述后继节点的有向线,所创建的多个节点以及节点与节点之间的有向线构成用顶点表示活动AOV网;所述对于所述每个服务,将所述服务对应的还未运行完成的前驱服务的数量,确定为所述服务的数量参数,包括:对于所述AOV网中的每个节点,将所述节点对应的前驱节点的数量确定为所述节点的数量参数。5.根据权利要求4所述的方法,其特征在于,所述响应于还未开始运行的任一服务的数量参数为0,开始运行所述任一服务,包括:响应于所述AOV网中的任一节点的数量参数为0,且所述任一节点对应的服务还未开始运行,开始运行所述任一节点对应的服务;所述响应于所述任一服务运行完成,将所述任一服务对应的后继服务的数量参数减1,包括:响应于所述任一节点对应的服务运行完成,基于所述AOV网中的包括所述任一节点的有向线,确定所述任一节点指向的后继节点;将所述后继节点的数量参数减1。
6.根据权利要求1所述的方法,其特征在于,所述多个服务的初始状态为未开始运行,所述响应于还未开始运行的任一服务未对应有还未运行完成的前驱服务,开始运行所述任一服务之后,所述方法还包括:将所述任一服务的状态更新为运行中;所述响应于还未开始运行的任一服务未对应有还未运行完成的前驱服务,开始运行所述任一服务之后,所述方法还包括:响应于所述任一服务运行完成,将所述任一服务的状态更新为运行完成。7.根据权利要求6所述的方法,其特征在于,所述响应于还未开始运行的任一服务未对应有还未运行完成的前驱服务,开始运行所述任一服务,包括:响应于状态为未开始运行的任一服务未对应有前驱服务或者所述任一服务对应的至少一个前驱服务的状态为运行完成,开始运行所述任一服务。8...

【专利技术属性】
技术研发人员:彭安杨金融
申请(专利权)人:北京三快在线科技有限公司
类型:发明
国别省市:

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

1