一种可用性探测方法、装置、电子设备及存储介质与流程

未命名 09-29 阅读:109 评论:0


1.本发明实施例涉及计算机技术领域,尤其涉及一种可用性探测方法、装置、电子设备及存储介质。


背景技术:

2.随着云原生技术体系的广泛应用,基于云原生相关技术实现并以多云形态面向应用提供统一基础设施的混合多云技术架构逐渐成为主流技术形态。
3.混合多云技术架构对业务应用和终端用户较为友好,但是对幕后技术稳定运行与持续可用性运维保障工作是项巨大的挑战。在这种混合多云大规模异构集群的基础设施形态下,如何快速发现系统可用性问题,尤其是先于用户发现系统可用性问题以兑现整体服务等级承诺(service-level agreement,sla),这是阻碍混合多云平台规模化应用的一项难点。
4.在实现本发明的过程中,发明人发现现有技术中存在以下技术问题:系统可用性探测的整体性较差,从而导致无法充分暴露系统可用性问题。


技术实现要素:

5.本发明实施例提供了一种可用性探测方法、装置、电子设备及存储介质,以保证系统可用性探测的整体性。
6.根据本发明的一方面,提供了一种可用性探测方法,该方法应用于可用性探测服务,可用性探测服务运行于混合多云平台上,该方法包括:
7.响应于可用性探测任务,针对运行于混合多云平台上的待进行可用性探测的业务系统,获取用于探测业务系统的至少一个探测程序,以及,为探测业务系统而针对至少一个探测程序预先编排的调度运行顺序;
8.针对业务系统对应的业务链路上的至少一个链路服务,根据调度运行顺序,在混合多云平台上依次调度并运行至少一个探测程序,以对至少一个链路服务的可用性进行依次探测,得到第一探测结果;
9.根据第一探测结果,得到业务系统的可用性的第二探测结果;
10.其中,调度运行顺序根据至少一个链路服务在业务链路上的业务运行顺序,以及,至少一个探测程序与至少一个链路服务在可用性探测上的对应关系确定。
11.根据本发明的另一方面,提供了一种可用性探测装置,该装置配置于可用性探测服务,可用性探测服务运行于混合多云平台上,该装置包括:
12.调度运行顺序获取模块,用于响应于可用性探测任务,针对运行于混合多云平台上的待进行可用性探测的业务系统,获取用于探测业务系统的至少一个探测程序,以及,为探测业务系统而针对至少一个探测程序预先编排的调度运行顺序;
13.第一探测结果得到模块,用于针对业务系统对应的业务链路上的至少一个链路服务,根据调度运行顺序,在混合多云平台上依次调度并运行至少一个探测程序,以对至少一
个链路服务的可用性进行依次探测,得到第一探测结果;
14.第二探测结果得到模块,用于根据第一探测结果,得到业务系统的可用性的第二探测结果;
15.其中,调度运行顺序根据至少一个链路服务在业务链路上的业务运行顺序,以及,至少一个探测程序与至少一个链路服务在可用性探测上的对应关系确定。
16.根据本发明的另一方面,提供了一种电子设备,可以包括:
17.至少一个处理器;以及
18.与至少一个处理器通信连接的存储器;其中,
19.存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器执行时实现本发明任意实施例所提供的可用性探测方法。
20.根据本发明的另一方面,提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令用于使处理器执行时实现本发明任意实施例所提供的可用性探测方法。
21.本发明实施例的技术方案,可应用于可用性探测服务,该可用性探测服务运行于混合多云平台上,该可用性探测服务通过响应于可用性探测任务,针对运行于混合多云平台上并且待进行可用性探测的业务系统,获取用于探测业务系统的至少一个探测程序,以及,为了探测业务系统而针对至少一个探测程序预先编排的调度运行顺序;针对与业务系统对应的业务链路上的至少一个链路服务,根据调度运行顺序,在混合多云平台上依次调度并且运行至少一个探测程序,以对至少一个链路服务的可用性进行依次探测,得到第一探测结果,其中,调度运行顺序根据至少一个链路服务在业务链路上的业务运行顺序,以及,至少一个探测程序与至少一个链路服务在可用性探测上的对应关系确定;进而,根据第一探测结果,得到业务系统的可用性的第二探测结果。上述技术方案,从业务系统真实运行的业务链路视角出发,探测业务系统的可用性,由此得到的系统可用性,不仅反映出业务系统局部的可用性,更可反映出业务系统整体的可用性,达到了保证系统可用性探测的整体性的效果。
22.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或是重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
23.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1是根据本发明实施例提供的一种可用性探测方法的流程图;
25.图2是根据本发明实施例提供的一种可用性探测方法中在混合多云架构下系统可用性探测的运行模式的示意图;
26.图3是根据本发明实施例提供的一种可用性探测方法中可用性探测平台的总体流程的示意图;
27.图4是根据本发明实施例提供的一种可用性探测方法中可用性探测平台在混合多云架构下运行的组件服务的示意图;
28.图5是根据本发明实施例提供的一种可用性探测方法中可用性探测平台的功能结构的示意图;
29.图6是根据本发明实施例提供的另一种可用性探测方法的流程图;
30.图7是根据本发明实施例提供的另一种可用性探测方法中可用性探测平台提供的基础镜像的示意图;
31.图8是根据本发明实施例提供的另一种可用性探测方法的流程图;
32.图9是根据本发明实施例提供的另一种可用性探测方法中的沙箱运行技术架构的示意图;
33.图10是根据本发明实施例提供的另一种可用性探测方法的流程图;
34.图11是根据本发明实施例提供的另一种可用性探测方法中可用性探测模板库的示意图;
35.图12是根据本发明实施例提供的另一种可用性探测方法中第一可选示例的流程图;
36.图13是根据本发明实施例提供的另一种可用性探测方法中第二可选示例的流程图;
37.图14是根据本发明实施例提供的一种可用性探测装置的结构框图;
38.图15是实现本发明实施例的可用性探测方法的电子设备的结构示意图。
具体实施方式
39.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
40.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。“目标”、“原始”等的情况类似,在此不再赘述。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
41.在介绍本发明实施例之前,先对本发明实施例的应用场景进行示例性说明。示例性的,从应用视角看,云技术发展历程就是不断屏蔽底层技术细节,从而让应用层更关注于业务逻辑本身的过程,混合多云平台向上层应用屏蔽了多种底层基础设施即服务(infrastructure as a service,iaas)差异,面向应用构建基于容器编排引擎(kubernetes)大规模集群编排的统一云原生基础设施服务,提供多云多活的云原生计算、存储和网络等能力,同时将数据库、消息队列、elasticsearch和redis等中间件产品敏捷化及容器化上云,在统一的云原生基础设施服务之上实现应用管理、云基础资源、paas组件服务、跨云迁移、灾备和多云多活的能力,让业务更加灵活,让多云使用体验像是一朵云。
42.需要说明的是,混合多云平台和其承载的各类业务场景非常复杂,业务的易变性、不确定性、复杂性和模糊性是常态,因此怎样保证混合多云平台以及各类业务场景均可得到符合sla服务等级的系统可用性体验是重大的技术挑战。
43.在此基础上,为了能够更好地理解本发明实施例如何解决背景技术中阐述的基于现有技术探测出的系统可用性的整体性较差的问题,这里先对目前通常采用的可用性探测方案进行示例性说明。示例性的,
44.针对运行在混合多云平台上的待进行可用性探测的业务系统,其业务功能,通常基于业务系统对应的业务链路上的各个链路服务的相互配合实现。示例性的,在电商平台上,支付系统对应的支付链路上的各个链路服务包括商详浏览服务、加购服务、下单服务以及支付服务,通过这些链路服务的相互配合,可完成整条支付链路,从而实现支付系统的支付功能。
45.在此基础上,针对业务系统的可用性探测方案,目前常用的有如下三种:
46.一是在业务链路上预先定义分析指标,然后由业务系统针对分析指标生成指标数据,再由分析系统分析指标数据,从而探测出业务系统的可用性;
47.二是采用自动化巡检工具巡检分析指标,由此探测出业务系统的可用性;
48.三是以单链路服务视角的心跳检测和端口存活探测为主要手段,通过分别探测各个链路服务来探测出业务系统的可用性。
49.经由实践发现,在采用上述方案探测业务系统的可用性时,经常出现各个分析指标或是各个链路服务正常,但业务系统整体不可用的情况。经研究认为,这种情况是由于上述方案并未从业务系统真实的业务链路视角出发进行探测而导致的。也就是说,上述方案只能探测业务链路上的局部是否可用,无法探测整条业务链路(即业务系统整体)是否可用,从而使得探测得到的系统可用性的整体性较差。针对此,提出了下述各个实施例中阐述的可用性探测方案。
50.图1是本发明实施例中所提供的一种可用性探测方法的流程图。本实施例可适用于针对运行于混合多云平台上的业务系统,进行可用性探测的情况。该方法可应用于可用性探测服务,该可用性探测服务可运行于混合多云平台上。该方法可由本发明实施例提供的可用性探测装置来执行,该装置可由软件和/或硬件的方式实现,该装置可集成在电子设备上,实际应用中,可选的,该电子设备可以是混合多云平台这个整体或是局部,该电子设备可以是各种用户终端或是服务器,尤其可以是基于多台服务器构成的一个或是多个集群。
51.参见图1,本发明实施例的方法具体包括如下步骤:
52.s110、响应于可用性探测任务,针对运行于混合多云平台上的待进行可用性探测的业务系统,获取用于探测业务系统的至少一个探测程序,及,为探测业务系统而针对至少一个探测程序预先编排的调度运行顺序。
53.其中,可用性探测任务可理解为用于针对业务系统进行可用性探测的任务,该业务系统可理解为运行于混合多云平台上的待进行可用性探测的系统。探测程序可理解为用于探测业务系统的可用性的程序,具体来说可理解为用于探测业务系统对应的业务链路上的链路服务的可用性的程序。探测程序的数量可以是一个、两个或多个,这与实际情况有关,在此未做具体限定。调度运行顺序可理解成为探测业务系统的可用性,针对至少一个探
测程序预先编排的,用于表征这些探测程序在调度运行方面的先后性的顺序。示例性的,假设至少一个探测程序包括a、b、c和d,它们的调度运行顺序是a—(b和c)—d,其表征b与c并行调度运行,a、(b和c)与d串行调度运行,并且a早于b和c调度运行,d晚于b和c调度运行。
54.响应于可用性探测任务,获取至少一个探测程序以及针对业务系统与至少一个探测程序对应的调度运行顺序。可以理解的是,针对同样的至少一个探测程序,在这些探测程序用于探测不同的业务系统的可用性的情况下,其对应的调度运行顺序可能相同或是不同,这与实际情况有关,在此未做具体限定。
55.s120、针对业务系统对应的业务链路上的至少一个链路服务,根据调度运行顺序,在混合多云平台上依次调度并运行至少一个探测程序,以对至少一个链路服务的可用性进行依次探测,得到第一探测结果;
56.其中,调度运行顺序根据至少一个链路服务在业务链路上的业务运行顺序,以及,至少一个探测程序与至少一个链路服务在可用性探测上的对应关系确定。
57.其中,业务链路可理解为用于实现业务系统的业务功能的链路。链路服务可理解为业务链路上的服务,链路服务的数量可以是一个、两个或是多个,这与实际情况有关,在此未做具体限定。换言之,可通过业务链路上的这些链路服务的相互配合,实现业务系统的业务功能。示例性的,正如上述阐述的示例,在电商平台上,与支付系统对应的支付链路上的至少一个链路服务可包括商详浏览服务、加购服务、下单服务以及支付服务,通过这些链路服务的相互配合,可完成整条支付链路,从而实现支付系统的支付功能。
58.需要说明的是,根据上文阐述可知,至少一个探测程序用于探测至少一个链路服务的可用性,因此,为了按照业务系统真实的业务链路探测业务系统的可用性,可根据至少一个链路服务在业务链路上的业务运行顺序,以及,至少一个探测程序与至少一个链路服务在可用性探测上的对应关系,确定调度运行顺序,该业务运行顺序可用于表征这些链路服务在业务链路上运行的先后顺序。示例性的,继续以上述示例为例,假设至少一个探测程序包括a、b、c和d,至少一个链路服务包括n、o、p和q,这些探测程序与这些链路服务在可用性探测上的对应关系包括a对应n(即a用于探测n的可用性)、b对应o、c对应p以及d对应q,并且这些链路服务在业务链路上的业务运行顺序可以为n—(o和p)—q,那么调度运行顺序为a—(b和c)—d。
59.可用性探测服务和业务系统均运行于混合多云平台上,因此为通过可用性探测服务实现业务系统的可用性探测,可控制探测程序亦运行于混合多云平台上。具体来说,通过可用性探测服务,根据调度运行顺序,在混合多云平台上依次调度并运行至少一个探测程序,从而可基于这些探测程序,实现针对至少一个链路服务的可用性的依次探测,得到第一探测结果,其中第一探测结果可用于表征出至少一个链路服务中的每个链路服务的可用性的探测结果。示例性的,继续以上述示例为例,根据上述的运行调度顺序,可先探测n的可用性,然后探测o和p的可用性,最后探测q的可用性。
60.可以理解的是,可用性探测任务是逻辑层面的概念,其的探测功能可通过至少一个探测程序的运行来实现。
61.s130、根据第一探测结果,得到业务系统的可用性的第二探测结果。
62.其中,根据至少一个链路服务的可用性的第一探测结果,得到业务系统的可用性的第二探测结果。示例性的,在第一探测结果表征出至少一个链路服务均可用的情况下,由
此得到的第二探测结果是业务系统可用,而且是整体可用;否则,由此得到的第二探测结果是业务系统不可用,而且是整体不可用。
63.需要强调的是,由于第一探测结果是按照业务系统真实的业务链路,探测各个链路服务的可用性而得到,因此根据第一探测结果得到的第二探测结果,不再仅可反映出业务链路上的各个链路服务是否可用,更是可反映出整条业务链路是否可用,换言之,不再仅可反映出业务系统局部是否可用,更是可反映出业务系统整体是否可用,由此提高了系统可用性探测的整体性。
64.除此之外,针对通过预先定义的分析指标探测系统可用性的实现方案,在混合多云场景下大规模集群环境时刻发生变化以及各个组件服务也在不断迭代更新升级的情况下,该实现方案无法覆盖所有场景,存在系统可用性探测面的覆盖度不够的问题。相应的,上述技术方案完全从可用性角度考虑,即不关注混合多云平台是否发生变化,只是关注业务链路上的各个链路服务是否可用,通过模拟终端用户针对业务系统的操作过程,实现业务链路真实的可用性探测,由此解决了系统可用性探测面的覆盖度不够的问题。
65.可以理解的是,上述技术方案是基于反向探测链路探测系统可用性,即在至少一个链路服务中任一链路服务不可用的情况下,即可确定业务系统不可用。在此基础上,为了充分保障业务系统的可用性,可将正向探测链路与反向探测链路结合,并基于由此形成的回环探测链路探测系统可用性。
66.示例性的,根据第一探测结果,得到业务系统的可用性的第二探测结果,可以包括:
67.根据第一探测结果,针对业务系统对应的分析指标,生成指标数据;
68.将指标数据上报至分析系统,以根据第一探测结果以及分析系统针对指标数据的分析结果,得到业务系统的可用性的第二探测结果。
69.其中,分析指标可理解为预先设置的用于分析业务系统的可用性的指标,分析指标的数量可以是一个、两个或多个,这可根据实际情况进行设置,在此未做具体限定。分析系统可理解为运行于混合多云平台上的或是位于混合多云平台外围的,用于分析系统可用性的系统。根据第一探测结果,针对分析指标生成指标数据,然后将指标数据上报至分析系统,由此可通过分析系统对指标数据进行分析,得到可用于表征业务系统是否可用的分析结果。需要说明的是,上述分析过程基于正向探测链路实现,即在各个分析指标均正常的情况下,方可确定业务系统可用。进而,根据第一探测结果和分析结果得到第二探测结果。
70.上述技术方案,通过将正向探测链路与反向探测链路相结合,并基于由此形成的回环探测链路探测系统可用性,由此达到了充分保障系统可用性的效果。
71.本发明实施例的技术方案,可应用于可用性探测服务,该可用性探测服务运行于混合多云平台上,该可用性探测服务通过响应于可用性探测任务,针对运行于混合多云平台上并且待进行可用性探测的业务系统,获取用于探测业务系统的至少一个探测程序,以及,为了探测业务系统而针对至少一个探测程序预先编排的调度运行顺序;针对与业务系统对应的业务链路上的至少一个链路服务,根据调度运行顺序,在混合多云平台上依次调度并且运行至少一个探测程序,以对至少一个链路服务的可用性进行依次探测,得到第一探测结果,其中,调度运行顺序根据至少一个链路服务在业务链路上的业务运行顺序,以及,至少一个探测程序与至少一个链路服务在可用性探测上的对应关系确定;进而,根据第
一探测结果,得到业务系统的可用性的第二探测结果。上述技术方案,从业务系统真实运行的业务链路视角出发,探测业务系统的可用性,由此得到的系统可用性,不仅反映出业务系统局部的可用性,更可反映出业务系统整体的可用性,达到了保证系统可用性探测的整体性的效果。
72.可以理解的是,在实际应用中,可选的,上述可用性探测服务,也可称为可用性探测平台。在此基础上,为了更加形象地理解上文中所阐述的混合多云平台和可用性探测平台,这里结合本发明实施例可能涉及的应用场景,对二者进行示例性说明。示例性的,参见如图2所示的在混合多云架构下系统可用性探测的运行模式的示意图。混合多云是云原生领域的技术形态,是多个集群的综合体。具体的,通常情况下,混合多云平台包括一个管控面集群(即主集群,host集群)及至少一个数据面集群(即业务集群或是租户集群,member集群),其中,管控面集群可承载管理职能和管控职能,主要使用对象为混合多云自身的核心服务和运维;数据面集群主要面向业务形态建立的集群服务,可为业务运行提供基础设施环境。在此基础上,可用性探测平台本身运行于管控面集群上;相应的,业务系统既可运行于管控面集群上,也可运行于数据面集群上,即混合多云平台上运行业务系统的目标集群,既可是管控面集群,也可是数据面集群,这与实际情况有关。进一步,可用性探测平台可统一将至少一个探测程序下发至目标集群,以便在目标集群上调度并运行至少一个探测程序,由此来探测业务系统的可用性。
73.上述可用性探测平台,可支持对混合多云架构场景的全部集群进行可用性探测,管控面集群可运行可用性探测平台中的全部服务,而数据面集群和管控面集群可运行具体的可用性探测任务所启动的可用性探测流程,并执行完成后,可用性探测服务拉起的容器组(pod)自动被回收,即随可用性探测流程启动而生成pod运行,并在探测完成后回收整个流程拉起的全部pod资源。
74.示例性的,参见图3所示的可用性探测平台的总体流程的示意图。本示例阐述的可用性探测平台包括如下的四个部分:
75.第一部分由平台级服务构成,可包含checker-operator组件、checker-server组件和check-console组件,其中,checker-operator组件负责可用性探测任务的过程编排和调度执行;checker-server组件负责可用性探测任务的状态机管理,记录整个可用性探测执行过程的状态变化、执行日志、任务信息以及探测模版信息;check-console组件负责提供与用户交互的界面和对应的后端接口服务,实现可用性探测模版的管理、可用性探测任务的管理以及探测结果的查看。
76.第二部分基于kubernetes的自定义资源定义(custom resources definitions,crd)的管理和调谐实现。可用性探测平台的编排与调度运行能力是基于kubernetes的container-native工作模式实现,主要是通过kubernetes crd实现多种自定义资源(custom resources,cr)进行资源动态控制与调谐。本示例的编排机制专注于kubernetes native workflow设计,拥有声明式工作流编制机制,可通过crd模式完全兼容混合多云架构中的各个kubernetes集群,每个编排任务均通过pod形式运行,边车(sidecar)容器通过mount docker.sock来检测可用性探测任务的进行,基于kubernetes apiserver native executor通信模式让sidecar容器能够通过kubernetes serviceaccount与基于角色的权限访问控制(role-based access control,rbac)机制检测kubernetes apiserver来获取
到主容器的动态与信息。可用性探测平台提供有向无环图(directed acyclic graph,dag)依赖拓扑能力编制,并且能够通过可用性探测平台的template crd实现多个workflow之间的组合与拼接。具体的,可用性探测平台可根据业务提交的编排模板yaml文件,构建出一个有相互依赖关系的工作流,从而顺序处理工作流,每步pod运行态的信息传递模式通过探测平台artifactory模块实现。
77.在此基础上,可选的,本示例实现的编排过程,也可使用kubectl管理编排流程,并与其他kubernetes服务本地集成,例如可以是volumes、secrets和rbac等。可用性探测平台的operator和server模块提供完整的探测工作流程编排与调度运行的功能,可包括参数替换、节点文件存储、循环以及递归工作流程,并支持串行与并行的运行模式。
78.可用性探测平台在dag探测流程解析过程中,可根据节点的workflow label来扫描所有pod状态,由此确定进行下一步的动作。所有的执行步骤均可记录在crd的cr实例记录对应状态(status)字段里面,并对status文本进行压缩,从而可支持大规模可用性探测任务节点的执行。
79.第三部分由checker-server组件以及check-console组件共同实现面向用户交互的功能界面。
80.第四部分是一个可用性探测任务完整的执行过程,包括可用性探测平台以及业务自定义的探测程序的执行过程。
81.示例性的,参见图4所示的可用性探测平台在混合多云架构下运行的组件服务的示意图,其展示出了本示例阐述的可用性探测平台内部的各个组件构成,例如可包括sla-checker-init、sla-checker-exec、sla-checker-operator、sla-checker-server、sla-checker-console和sla-checker-artifactory组件。
82.示例性的,参见图5所示的可用性探测平台的功能结构的示意图,其展示出了本示例阐述的可用性探测平台的平台功能,例如可包括可用性探测模板库、注册新的可用性探测模板、基于可用性探测模板创建出相应的可用性探测任务以及可用性探测任务自定义的参数配置,可用性探测平台运行时可以安全加密的kubernetes加密(secret)形态挂载到可用性探测程序执行的pod中,这里包括serviceaccount与rbac权限控制均可由可用性探测平台统一处理,从而保证在探测程序运行态可用。这些功能将在后文进行具体阐述。
83.图6是本发明实施例中提供的另一种可用性探测方法的流程图。本实施例以上述各技术方案为基础进行优化。在本实施例中,可选的,在响应于可用性探测任务之后,上述可用性探测方法,还可包括:于混合多云平台上创建可供至少一个探测程序运行的沙箱环境;在获取用于探测业务系统的至少一个探测程序之后,上述可用性探测方法,还可包括:将至少一个探测程序下发到沙箱环境中;根据调度运行顺序,在混合多云平台上依次调度并运行至少一个探测程序,以对至少一个链路服务的可用性进行依次探测,可包括:根据调度运行顺序,在沙箱环境中依次调度并且运行至少一个探测程序,以对至少一个链路服务的可用性进行依次探测。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
84.参见图6,本实施例的方法具体可以包括如下步骤:
85.s210、响应于可用性探测任务,于混合多云平台上创建可供至少一个探测程序运行的沙箱环境。
86.其中,沙箱环境可理解为通过可用性探测服务,于混合多云平台上创建的,可供至
少一个探测程序运行的环境,即沙箱环境与混合多云平台共存,由此可有效保证至少一个探测程序的运行环境与混合多云平台之间的隔离性。
87.s220、针对运行于混合多云平台上的待进行可用性探测的业务系统,获取用于探测业务系统的至少一个探测程序,及,为探测业务系统而针对至少一个探测程序预先编排的调度运行顺序,并将至少一个探测程序下发到沙箱环境中。
88.其中,在创建完成沙箱环境之后,将至少一个探测程序下发到沙箱环境中,从而可在沙箱环境中依次调度并运行至少一个探测程序。
89.s230、针对业务系统对应的业务链路上的至少一个链路服务,根据调度运行顺序,在沙箱环境中依次调度并运行至少一个探测程序,以对至少一个链路服务的可用性进行依次探测,得到第一探测结果;
90.其中,调度运行顺序根据至少一个链路服务在业务链路上的业务运行顺序,以及,至少一个探测程序与至少一个链路服务在可用性探测上的对应关系确定。
91.s240、根据第一探测结果,得到业务系统的可用性的第二探测结果。
92.本发明实施例的技术方案,通过于混合多云平台上创建可供探测程序运行的沙箱环境,从而可在与混合多云平台共存的沙箱环境中运行探测程序,由此通过隔离探测程序的运行环境与混合多云平台,保证了探测程序运行的安全性。
93.在此基础上,一种可选的技术方案,可用性探测服务可提供有基础镜像,基础镜像中存储有至少一个探测程序对应的运行环境;
94.于混合多云平台上创建可供至少一个探测程序运行的沙箱环境,包括:
95.于混合多云平台上,基于运行环境,创建出可供至少一个探测程序运行的沙箱环境,以使至少一个探测程序于运行环境中运行。
96.其中,探测程序的有效运行,需要探测程序适配的运行环境的支持。在此基础上,为了复用现有的探测程序,可预先构建出与探测程序适配的运行环境,并将运行环境存储到基础镜像中。这样一来,可用性探测服务,可基于从基础镜像中获取到的运行环境创建沙箱环境,然后在沙箱环境中直接运行探测程序。上述技术方案,通过可用性探测服务提供的基础镜像,可直接复用现有的探测程序进行探测,达到了降低探测程序的开发压力的效果。在此基础上,还可将很多待开发的探测程序均涉及的基础程序存储到基础镜像中,从而可利用这些基础程序快速开发探测程序,由此进一步降低了探测程序的开发压力。
97.结合本发明实施例可能涉及的应用场景,可选的,上述现有的探测程序,可以是各种分析系统(例如可以是数据分析系统prometheus和kubeeye、网络分析系统npm、应用分析系统apm和业务分析系统bpm等)、业务单元测试程序、自动化测试程序、应用程序接口(application programming interface,api)、应用集成测试程序框架、节点异常检测(node-problem-detector,npd)服务、kubernetes原生探针技术、代码片段和系统集成测试程序等在内的各种探测源,这些探测源可称为执行原子,是可用性探测平台的能力载体。
98.上述示例中的可用性探测平台,通过将各种各样的探测程序均纳入到系统可用性的探测范围,由此可快速实现千变万化的业务场景下的系统可用性探测,补全了系统可用性探测的能力范围,提高了系统可用性探测面的覆盖度,从而实现了系统可用性问题的充分暴露。
99.为了更好地理解上述技术方案,这里结合具体示例,对其进行示例性说明。示例性
的,如图7所示,为了更好地支持现有的探测程序,本示例中的可用性探测平台还提供有基础镜像,该基础镜像中集成有kubectl工具包、redis-cli、mysql-cli、curl工具包、nc工具包、kafka-client以及sysbench工具包等众多的工具包,这些工具包中可存储有运行环境,从而方便复用现有的探测程序。在此基础上,可选的,可用性探测平台还可将混合多云平台的集群信息和环境信息动态注入到基础镜像中,例如可包括多集群的kubeconfig文件、应用市场参数、serviceaccount、集群secret和configmap资源等。
100.图8是本发明实施例中提供的另一种可用性探测方法的流程图。本实施例以上述各技术方案为基础进行优化。在本实施例中,可选的,上述可用性探测方法,还包括:提取混合多云平台的并且与至少一个探测程序关联的平台信息,并将平台信息暴漏给沙箱环境,其中,平台信息包括集群信息和/或环境信息;根据调度运行顺序,在沙箱环境中依次调度并运行至少一个探测程序,以对至少一个链路服务的可用性进行依次探测,可包括:根据调度运行顺序,在沙箱环境中依次调度并运行至少一个探测程序,以使处于运行状态的至少一个探测程序,获取到平台信息,并且基于平台信息对至少一个链路服务的可用性进行依次探测。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
101.参见图8,本实施例的方法具体可以包括如下步骤:
102.s310、响应于可用性探测任务,于混合多云平台上创建可供至少一个探测程序运行的沙箱环境。
103.s320、提取混合多云平台的并且与至少一个探测程序关联的平台信息,并将平台信息暴漏给沙箱环境,其中,平台信息包括集群信息和/或环境信息。
104.其中,平台信息可理解为混合多云平台的,与至少一个探测程序关联,即至少一个探测程序运行时需要的信息。本发明实施例中,平台信息可包括集群信息和/或环境信息。由于可用性探测服务与混合多云平台在同一环境下运行,因此通过可用性探测服务,可成功提取到混合多云平台的平台信息。示例性的,可用性探测服务可通过kubernetes api接口与混合云平台的api接口通信连接,由此提取到平台信息。进而,将平台信息暴漏给沙箱环境。
105.s330、针对运行于混合多云平台上的待进行可用性探测的业务系统,获取用于探测业务系统的至少一个探测程序,及,为探测业务系统而针对至少一个探测程序预先编排的调度运行顺序,并将至少一个探测程序下发到沙箱环境中。
106.s340、针对业务系统对应的业务链路上的至少一个链路服务,根据调度运行顺序,在沙箱环境中依次调度并运行至少一个探测程序,以使处于运行状态的至少一个探测程序,获取到平台信息,并基于平台信息对至少一个链路服务的可用性进行依次探测,得到第一探测结果;
107.其中,调度运行顺序根据至少一个链路服务在业务链路上的业务运行顺序,以及,至少一个探测程序与至少一个链路服务在可用性探测上的对应关系确定。
108.其中,在可用性探测服务已将平台信息暴漏给沙箱环境的情况下,于沙箱环境中运行的至少一个探测程序,可获取到平台信息,从而基于平台信息实现自身的正常运行,即基于平台信息实现针对至少一个链路服务的可用性探测。
109.s350、根据第一探测结果,得到业务系统的可用性的第二探测结果。
110.本发明实施例的技术方案,通过将混合多云平台的为至少一个探测程序在运行时
需要的平台信息暴漏给沙箱环境,从而于沙箱环境中运行的探测程序可基于获取到的平台信息完成自身的正常运行,其至少具有如下效果:
111.1、平台信息一直在混合多云平台内部流转,未流转到混合多云平台外围,由此保证了平台信息的信息安全,进而保证了混合多云平台的平台安全;
112.2、运行于混合多云平台上的可用性探测服务,可动态提取到混合多云平台的最新的平台信息,这样一来,即使混合多云平台出现节点扩缩容和主机信息变更等情况,依然可保证平台信息的有效性;
113.3、探测程序运行时所需的平台信息由可用性探测服务按需暴漏,这意味着探测程序只能获取到自身运行时需要的平台信息,无法获取到全部的平台信息,由此可避免探测程序执行权限越界,保证了探测程序的安全运行。
114.在此基础上,一种可选的技术方案,沙箱环境通过容器编排引擎的容器组的形态体现,将平台信息暴漏给沙箱环境,包括:
115.通过将平台信息以加密形态挂载到容器组,以将平台信息暴漏给沙箱环境;
116.上述可用性探测方法,还包括:
117.对已挂载的平台信息进行解密,得到解密信息;
118.以使处于运行状态的至少一个探测程序,获取到平台信息,并且基于平台信息对至少一个链路服务的可用性进行依次探测,包括:
119.以使处于运行状态的至少一个探测程序,获取到解密信息,并且基于解密信息对至少一个链路服务的可用性进行依次探测。
120.其中,沙箱环境通过容器编排引擎(kubernetes)的容器组(pod)的形态体现,即沙箱环境可理解为经由可用性探测平台拉起的pod运行环境,是一个黑盒环境。通过可用性探测服务,将平台信息以加密(secret)形态挂载到pod上,即以安全加密的方式将平台信息挂载到探测程序所在的pod中,由此保证了平台信息的安全性。在此基础上,进一步,为保证探测程序可基于平台信息完成自身的正常运行,在探测程序被调度运行时,可对已挂载的平台信息进行解密,得到解密信息,以使探测程序可读取到解密信息,并基于解密信息进行运行。上述技术方案,可同时保证平台信息的安全暴漏及探测程序的正常运行。
121.结合本发明实施例可能涉及的应用场景,可选的,可用性探测平台可实现自定义artifactory文件传递、节点间输入输出outputfiles模式传递、kubernetes secret及kubernetes configmap的访问,为执行可用性探测任务的节点(node)动态挂载serviceaccount和rbac权限,从而可用性探测平台可使用serviceaccount和rolebinding进行身份验证与权限鉴权之后,基于kubernetes api与kubernetes资源以安全受控的方式进行通信。再可选的,涉及账户密码的平台信息均可有对应的secret和serviceaccount,由可用性探测平台在执行态动态挂载到pod中,探测程序在运行时可获取到对应的执行权限和解密信息,并在运行结束后自动释放,这种动态注入和动态释放的方式,无安全隐患。
122.另一种可选的技术方案,沙箱环境通过容器编排引擎的容器组的形态体现,将平台信息暴漏给沙箱环境,包括:
123.通过将平台信息挂载到容器组上,以将平台信息暴漏给沙箱环境,其中,容器组中注入有与可用性探测服务关联的边车容器以及至少一个探测程序所在的业务容器;
124.上述可用性探测方法,还包括:
125.通过运行边车容器,获取已挂载的平台信息,并在业务容器处于运行状态的情况下,将平台信息注入到业务容器中;
126.根据调度运行顺序,在沙箱环境中依次调度并运行至少一个探测程序,以使处于运行状态的至少一个探测程序,获取到平台信息,包括:
127.通过运行业务容器,根据调度运行顺序,对位于业务容器中的至少一个探测程序进行依次调度并运行,以使处于运行状态的至少一个探测程序,获取已注入到业务容器中的平台信息。
128.其中,沙箱环境通过kubernetes的pod的形态体现,并且pod中注入有与可用性探测服务关联的边车(sidecar)容器(container)及至少一个探测程序所在的业务容器。结合本发明实施例可能涉及的应用场景,上述sidecar容器可包括sla-checker-init和/或sla-checker-exec。将平台信息挂载到pod上。
129.进一步,通过运行sidecar容器,获取已挂载的平台信息,并在业务容器处于运行状态的情况下,将平台信息注入到业务容器中。由此,位于业务容器内部的探测程序,可直接获取到注入的平台信息,进而基于平台信息运行起来。
130.上述技术方案,实现了平台信息在pod中的sidecar容器与业务容器之间的有效传递,进而实现了业务容器中的探测程序的有效运行。
131.为了更好地理解上述技术方案,下面结合具体示例,对其进行示例性说明。示例性的,参见图9,沙箱环境通过kubenetes的pod的形态体现,每一步执行环节均是独立的pod,即沙箱环境是可用性探测平台以可编排和可调度的方式拉起的可供探测程序运行的kubernetes pod服务。pod中自动注入有可用性探测平台的两类sidecar容器,通过这两类sidecar容器以及可用性探测平台的调度编排能力,可为各类探测程序的执行提供沙箱环境。探测每步之间的信息传递可通过文件和环境变量方式由可用性探测平台执行时动态注入。
132.在此基础上,可用性探测平台可挂载对应的kubernetes serviceaccount和rbac权限,通过上述两类sidecar容器挂载环境信息,并在运行时动态注入到探测程序所在的业务容器中。进一步,业务容器在基于环境信息执行完成探测程序后,可将探测结果写入到文件中,然后挂载docker.sock和serviceaccount的sla-checker-exec可采集到探测结果,并上报给可用性探测平台。
133.图10是本发明实施例中提供的另一种可用性探测方法的流程图。本实施例以上述各技术方案为基础进行优化。在本实施例中,可选的,在响应于可用性探测任务之前,上述可用性探测方法,还包括:响应于与业务系统对应的任务创建指令,创建出可用性探测任务,并接收针对可用性探测任务输入的任务触发参数;在根据任务触发参数,确定出需触发可用性探测任务的情况下,触发可用性探测任务,以响应于已触发的可用性探测任务,启动针对业务系统的可用性探测流程。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
134.参见图10,本实施例的方法具体可以包括如下步骤:
135.s410、响应于与业务系统对应的任务创建指令,创建出可用性探测任务,并接收针对可用性探测任务输入的任务触发参数。
136.其中,任务创建指令可理解成为针对业务系统进行可用性探测而指示创建出可用
性探测任务的指令,响应于任务创建指令,创建出可用性探测任务。
137.任务触发参数可理解成针对可用性探测任务输入的,用于表征可用性探测任务的触发时机的参数。接收任务触发参数。在此基础上,结合本发明实施例可能涉及的应用场景,任务触发参数所表征的任务触发类型可包括事件触发、周期触发或是手动触发等。示例性的,针对事件触发,可用性探测平台可对接事件变更管理系统和订阅集群webhook接口,在此基础上,可检测到混合多云平台上的各个集群状态所发生的变化,例如可以是集群节点扩缩容、组件变更、组件发布或是业务系统升级等,然后在变化为预设变化的情况下,自动触发可用性探测任务;针对周期触发,可通过linux风格的cron表达式定义任务执行频率,由此可基于任务执行频率自动触发可用性探测任务;针对手动触发,可通过人工在console管控界面上操作以手动触发可用性探测任务。这里通过事件触发、周期触发和手动触发三种任务触发类型的相互配合,可以第一时间感知到混合多云平台上真实的业务链路的可用性。
138.s420、在根据任务触发参数,确定需触发可用性探测任务的情况下,触发可用性探测任务。
139.其中,在根据任务触发参数,确定可用性探测任务需触发的情况下,触发可用性探测任务,以便响应于已触发的可用性探测任务,启动针对业务系统的可用性探测流程,从而针对业务系统进行可用性探测。
140.s430、响应于已触发的可用性探测任务,针对运行于混合多云平台上的待进行可用性探测的业务系统,获取用于探测业务系统的至少一个探测程序,及,为探测业务系统而针对至少一个探测程序预先编排的调度运行顺序。
141.s440、针对业务系统对应的业务链路上的至少一个链路服务,根据调度运行顺序,在混合多云平台上依次调度并运行至少一个探测程序,以对至少一个链路服务的可用性进行依次探测,得到第一探测结果;
142.其中,调度运行顺序根据至少一个链路服务在业务链路上的业务运行顺序,以及,至少一个探测程序与至少一个链路服务在可用性探测上的对应关系确定。
143.s450、根据第一探测结果,得到业务系统的可用性的第二探测结果。
144.本发明实施例的技术方案,通过创建可用性探测任务,并接收针对可用性探测任务输入的任务触发参数,这样一来,可在根据任务触发参数确定需触发可用性探测任务的情况下,通过及时触发可用性探测任务以快速启动针对业务系统的可用性探测流程,达到了及时探测业务系统的可用性的效果。
145.在此基础上,一种可选的技术方案,上述可用性探测方法,还包括:
146.对预先注册完成的至少一个候选探测模板进行展示,其中,至少一个候选探测模板包括针对业务系统注册的可用性探测模板;
147.接收针对展示出的可用性探测模板输入的任务创建指令;
148.响应于与业务系统对应的任务创建指令,创建出可用性探测任务,包括:
149.响应于任务创建指令,基于可用性探测模板,创建出可用性探测任务。
150.其中,候选探测模板可理解为预先在可用性探测平台上注册完成的,用于进行系统可用性探测的模板。结合到本发明实施例可能涉及的应用场景,针对候选探测模板对应的业务系统,其可表征出为探测业务系统的可用性而需要的一个或是多个探测程序以及这
些探测程序之间的调度运行顺序。候选探测模板具有可复用的特点,即可多次利用候选探测模板执行某些操作。候选探测模板的数量可以是一个、两个或是多个,这与实际情况有关,在此未做具体限定。上述的至少一个候选探测模板包括针对业务系统注册的可用性探测模板。展示至少一个候选探测模板。在此基础上,进一步,在接收到针对展示出的可用性探测模板输入的任务创建指令的情况下,可响应于任务创建指令,基于可用性探测模板,创建即实例化出可用性探测任务。
151.上述技术方案,通过利用可复用的可用性探测模板创建可用性探测任务,这意味着在进行一次编排以得到可用性探测模板之后,可根据实际需求,利用可用性探测模板自动创建出一个或是多个可用性探测任务,即无需每次在创建可用性探测任务时均进行编排,由此提高了可用性探测任务创建的便捷性。
152.在此基础上,可选的,上述可用性探测方法,还包括:
153.展示至少一个候选程序,并接收针对展示出的至少一个候选程序输入的与业务系统对应的程序编排操作;
154.响应于程序编排操作,确定出至少一个候选程序中被编排的至少一个探测程序,以及,至少一个探测程序的调度运行顺序;
155.基于至少一个探测程序以及调度运行顺序,注册可用性探测模板。
156.其中,候选程序可理解为已开发完成的用于实现可用性探测功能的程序。结合本发明实施例可能涉及的应用程序,候选程序可能是现有程序(即上文中阐述的现有的探测程序);也可能是业务方或是平台方根据实际需求自定义的程序,例如可以是针对商详浏览服务自定义的商详浏览程序或是针对加购服务自定义的加购程序;等等,在此未做具体限定。候选程序的数量可以是一个、两个或是多个,这与实际情况有关,在此未做具体限定。展示这些候选程序。
157.程序编排操作可理解为针对展示出的至少一个候选程序输入的,用于编排这些候选程序以得到可用于探测业务系统的可用性的至少一个探测程序的操作。响应于程序编排操作,确定出至少一个候选程序中被编排的至少一个探测程序以及这些探测程序之间的调度运行顺序,进一步可根据这些探测程序以及调度运行顺序注册得到可用性探测模板。
158.上述技术方案,通过响应程序编排操作,可在可用性探测平台上有效注册出可用性探测模板,而且后续基于这样的可用性探测模板创建出的可用性探测任务,可实现业务系统的可用性的有效探测。
159.结合本发明实施例可能涉及的应用场景,示例性的,如图11所示,可用性探测平台可提供有可用性探测模板库,该可用性探测模板库中可以存储有一个或是多个可用性探测模板,这些可用性探测模板中一部分可以是平台内置的可用性探测模板,并且另一部分可以是业务自定义的可用性探测模板。
160.在此基础上,可选的,至少一个候选程序中的至少部分候选程序,可通过复用与至少部分候选程序对应的现有程序得到。
161.其中,现有程序可理解为已开发完成的可用于实现可用性探测功能的程序。在此基础上,至少一个候选程序中的部分或是全部候选程序,可通过复用与该部分或是全部候选程序对应的现有程序得到,例如可将现有程序直接作为候选程序,也可通过将现有程序打包为标准镜像以得到候选程序,等等,在此未做具体限定。上述技术方案,可以降低候选
程序的开发压力,而且在复用的现有程序较多的情况下,这使得可用性探测平台可快速适用于各种探测场景。
162.上述几个技术方案相互配合,可将现有程序打包成标准镜像,并由可用性探测平台统一编排和调度运行。可用性探测平台负责提供有可安全运行的沙箱环境,提取混合多云平台的平台信息,并对外暴漏平台级别的平台信息,从而将业务各具特色的探测程序与可用性探测平台解耦,支持更多和更复杂逻辑的探测程序纳入到系统可用性的探测范围,保证了系统可用性探测的覆盖面。
163.为了从整体上更好地理解上述的各个技术方案,下面结合具体示例,对其进行示例性说明。示例性的,参见图12,具体步骤如下所示:
164.1、将探测程序打包成标准镜像,并将标准镜像提交到镜像制品仓库中,其中,探测程序可以是现有程序、业务方自开发程序或是平台侧自开发程序等。
165.2、针对待进行可用性探测的业务系统,按照业务系统对应的业务链路,即用户针对业务系统的使用场景,梳理可用性探测逻辑,并根据可用性探测逻辑对镜像制品仓库中的标准镜像进行编制,得到编制完成的至少一个标准镜像,此时,该至少一个标准镜像的调度运行顺序已知。
166.其中,为了形象理解,后文可将编制完成的标准镜像称为探测程序。
167.3、基于编制完成的至少一个探测程序,在可用性探测平台上注册出可复用的可用性探测模板,即以可复用的可用性探测模板的形式,在可用性探测平台上对编制完成的至少一个探测程序进行注册。
168.其中,在注册可用性探测模板的过程中,可标识探测程序的启动命令方式,示例性的,启动命令方式可包括cmd或者entrypoint,而且在未标识启动命令方式的情况下,可用性探测平台可自动调用/bin/check.sh命令。
169.4、选择可用性探测模板,并在可用性探测平台上创建出对应的可用性探测任务,设置可用性探测任务的任务触发参数。
170.其中,在本示例中,任务触发参数可以是任务触发类型,例如可以是事件触发、周期触发或是手动触发等,换言之,可用性探测时机可通过事件触发、周期触发和手动触发相结合的模式实现。
171.5、由可用性探测平台,根据任务触发参数,启动可用性探测任务,以创建出可供至少一个探测程序运行的沙箱环境并调度运行。
172.其中,在本示例中,可用性探测平台启动一次可用性探测流程后,可记录本次探测的执行状态,这里可标识可用性探测流程为started状态。
173.6、在沙箱环境中启动可用性探测流程,并由可用性探测平台负责暴漏混合多云平台的平台信息给至少一个探测程序。
174.7、至少一个探测程序基于暴漏的平台信息在沙箱环境中运行,并由可用性探测平台负责收集探测结果(即上文中的第一探测结果),对探测结果进行加工处理。
175.其中,在本示例中,探测结果可通过json结构表达,具体内容可包括:可用性探测模板的模板标识、探测对象(即业务系统)以及可用性探测任务的任务标识、任务名称、执行结果、异常信息和执行日志等,除此之外还可包括可用性探测任务的执行明细记录,该执行明细记录可包括探测项名称、探测项结果、探测项检查标准、探测项异常原因以及探测项执
行日志等信息项。
176.在本示例中,探测结果可写入运行时/tmp/checkresult.json文件中,其可由沙箱环境中的sidecar容器自动提取得到,并上报至可用性探测平台。
177.8、由可用性探测平台根据探测结果推送告警任务给平台外围的告警系统。
178.其中,在本示例中,探测结果可由可用性探测平台的server服务。
179.9、由可用性探测平台将探测结果上报至平台外围的分析系统,从而可实现正向探测链路与反向探测链路相互配合的探测模式。
180.上述示例,通过复用现有程序,作为可用性探测平台的原子能力(即探测程序),并由可用性探测平台统一调度和编排运行。探测程序的运行环境是具备安全隔离性的沙箱环境,并由可用性探测平台向沙箱环境内统一注入加密后的环境信息,极大地降低平台信息外泄的风险,最终可实现安全、高效和自动化地执行多种形态的探测程序,实现业务系统整体的可用性多维度全覆盖模式的探测能力,提升了系统可用性,并保障了混合多云平台的技术推广和sla承诺。
181.再示例性的,参见如图13所示的mq集群可用性的探测示例。可用性探测平台基于预设的任务触发类型触发可用性探测任务,以启动可用性探测逻辑,由可用性探测平台创建沙箱环境,并在沙箱环境中运行探测程序。进一步,在执行可用性探测逻辑时,依次实现针对mq集群的创建tcp链接、创建生产者实例、生产者发送消息、创建消费者实例、消费者消费生产者发送的消息以及统计操作耗时等mq全链路的可用性。最后,可用性探测平台自动收集得到的探测结果,并进行后续加工处理。业务方可在可用性探测平台中自助查询。
182.图14为本发明实施例中提供的可用性探测装置的结构框图,该装置用于执行上述任意实施例所提供的可用性探测方法。该装置与上述各实施例的可用性探测方法属于同一个发明构思,在可用性探测装置的实施例中未详尽描述的细节内容,可以参考上述可用性探测方法的实施例。参见图14,该装置可配置于可用性探测服务,可用性探测服务运行于混合多云平台上,该装置具体可包括:调度运行顺序获取模块510、第一探测结果得到模块520和第二探测结果得到模块530。
183.其中,调度运行顺序获取模块510,用于响应于可用性探测任务,针对运行于混合多云平台上的待进行可用性探测的业务系统,获取用于探测业务系统的至少一个探测程序,及,为探测业务系统而针对至少一个探测程序预先编排的调度运行顺序;
184.第一探测结果得到模块520,用于针对业务系统对应的业务链路上的至少一个链路服务,根据调度运行顺序,在混合多云平台上依次调度并且运行至少一个探测程序,以对至少一个链路服务的可用性进行依次探测,得到第一探测结果;
185.第二探测结果得到模块530,用于根据第一探测结果,得到业务系统的可用性的第二探测结果;
186.其中,调度运行顺序根据至少一个链路服务在业务链路上的业务运行顺序,以及,至少一个探测程序与至少一个链路服务在可用性探测上的对应关系确定。
187.可选的,上述可用性探测装置,还包括:
188.沙箱环境创建模块,用于在响应于可用性探测任务之后,于混合多云平台上创建可供至少一个探测程序运行的沙箱环境;
189.探测程序下发模块,用于在获取用于探测业务系统的至少一个探测程序之后,将
至少一个探测程序下发到沙箱环境中;
190.第一探测结果得到模块520,包括:
191.探测程序运行子模块,用于根据调度运行顺序,在沙箱环境中依次调度并运行至少一个探测程序,以对至少一个链路服务的可用性进行依次探测。
192.在此基础上,一可选的,上述可用性探测装置,还包括:
193.平台信息暴漏模块,用于提取混合多云平台的且与至少一个探测程序关联的平台信息,并将平台信息暴漏给沙箱环境;
194.其中,平台信息包括集群信息和/或环境信息;
195.探测程序运行子模块,包括:
196.探测程序运行单元,用于根据调度运行顺序,在沙箱环境中依次调度并且运行至少一个探测程序,以使处于运行状态的至少一个探测程序,获取到平台信息,并基于平台信息对至少一个链路服务的可用性进行依次探测。
197.在此基础上,一可选的,沙箱环境通过容器编排引擎的容器组的形态体现,平台信息暴漏模块,包括:
198.平台信息第一挂载单元,用于通过将平台信息以加密形态挂载到容器组,以将平台信息暴漏给沙箱环境;
199.上述可用性探测装置,还包括:
200.解密信息得到模块,用于对已挂载的平台信息进行解密,得到解密信息;
201.探测程序运行单元,包括:
202.可用性探测子单元,用于以使处于运行状态的至少一个探测程序,获取到解密信息,并且基于解密信息对至少一个链路服务的可用性进行依次探测。
203.另一可选的,沙箱环境通过容器编排引擎的容器组的形态体现,平台信息暴漏模块,包括:
204.平台信息第二挂载单元,用于通过将平台信息挂载到容器组上,以将平台信息暴漏给沙箱环境,其中,容器组中可注入有与可用性探测服务关联的边车容器以及至少一个探测程序所在的业务容器;
205.上述可用性探测装置,还包括:
206.平台信息注入模块,用于通过运行边车容器,获取已挂载的平台信息,并在业务容器处于运行状态的情况下,将平台信息注入到业务容器中;
207.探测程序运行单元,包括:
208.探测程序运行子单元,用于通过运行业务容器,根据调度运行顺序,对位于业务容器中的至少一个探测程序进行依次调度并运行,以使处于运行状态的至少一个探测程序,获取已注入到业务容器中的平台信息。
209.另一可选的,可用性探测服务提供有基础镜像,基础镜像中可存储有至少一个探测程序对应的运行环境;
210.沙箱环境创建模块,包括:
211.沙箱环境创建单元,用于在混合多云平台上,基于运行环境,创建出可供至少一个探测程序运行的沙箱环境,以使至少一个探测程序于运行环境中运行。
212.可选的,上述可用性探测装置,还包括:
213.任务触发参数接收模块,用于响应于业务系统对应的任务创建指令,创建出可用性探测任务,并接收针对可用性探测任务输入的任务触发参数;
214.可用性探测任务触发模块,用于在根据任务触发参数,确定需触发可用性探测任务的情况下,触发可用性探测任务,以响应于已触发的可用性探测任务,启动针对业务系统的可用性探测流程。
215.在此基础上,可选的,上述可用性探测装置,还包括:
216.候选探测模板展示模块,用于展示预先注册完成的至少一个候选探测模板,其中,至少一个候选探测模板包括针对业务系统注册的可用性探测模板;
217.任务创建指令接收模块,用于接收针对展示的可用性探测模板输入的任务创建指令;
218.任务触发参数接收模块,包括:
219.可用性探测任务创建子模块,用于响应于任务创建指令,基于可用性探测模板,创建出可用性探测任务。
220.在此基础上,可选的,上述可用性探测装置,还包括:
221.程序编排操作接收模块,用于展示至少一个候选程序,并接收针对展示出的至少一个候选程序输入的与业务系统对应的程序编排操作;
222.调度运行顺序确定模块,用于响应于程序编排操作,确定出至少一个候选程序中被编排的至少一个探测程序,以及,至少一个探测程序的调度运行顺序;
223.可用性探测模板注册模块,用于基于至少一个探测程序以及调度运行顺序,注册可用性探测模板。
224.在此基础上,可选的,至少一个候选程序中的至少部分候选程序,可通过复用与至少部分候选程序对应的现有程序得到。
225.可选的,第二探测结果得到模块530,具体用于:
226.根据第一探测结果,针对业务系统对应的分析指标生成指标数据;
227.将指标数据上报至分析系统,以根据第一探测结果以及分析系统针对指标数据的分析结果,得到业务系统的可用性的第二探测结果。
228.可选的,在上述任一装置的基础上,混合多云平台包括管控面集群及数据面集群,可用性探测服务运行于管控面集群上,业务系统运行于目标集群上,目标集群包括管控面集群或数据面集群,至少一个探测程序运行于目标集群上。
229.本发明实施例提供的可用性探测装置,通过调度运行顺序获取模块,响应于可用性探测任务,针对运行于混合多云平台上并且待进行可用性探测的业务系统,获取用于探测业务系统的至少一个探测程序,以及,为了探测业务系统而针对至少一个探测程序预先编排出的调度运行顺序;通过第一探测结果得到模块,针对与业务系统对应的业务链路上的至少一个链路服务,根据调度运行顺序,在混合多云平台上依次调度并且运行至少一个探测程序,以对至少一个链路服务的可用性进行依次探测,得到第一探测结果,其中调度运行顺序根据至少一个链路服务在业务链路上的业务运行顺序,以及,至少一个探测程序与至少一个链路服务在可用性探测上的对应关系确定;进而,通过第二探测结果得到模块,根据第一探测结果,得到业务系统的可用性的第二探测结果。上述装置,从业务系统真实运行的业务链路视角出发,探测到业务系统的可用性,由此得到的系统可用性,不仅反映出业务
系统局部的可用性,更可反映出业务系统整体的可用性,达到了保证系统可用性探测的整体性的效果。
230.本发明实施例所提供的可用性探测装置可执行本发明任意实施例所提供的可用性探测方法,具备执行方法相应的功能模块和有益效果。
231.值得注意的是,上述可用性探测装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
232.图15示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
233.如图15所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom 12以及ram 13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
234.电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
235.处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如可用性探测方法。
236.在一些实施例中,可用性探测方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可经由rom 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到ram 13并由处理器11执行时,可以执行上文描述的可用性探测方法的一个或多个步骤。备选地,在其他实施例中,处理器11可通过其他任何适当的方式(例如,借助于固件)而被配置为执行可用性探测方法。
237.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器
可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、以及至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、以及该至少一个输出装置。
238.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或是其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行并且部分地在远程机器上执行或完全在远程机器或服务器上执行。
239.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
240.为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
241.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
242.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
243.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
244.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明
的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

技术特征:
1.一种可用性探测方法,其特征在于,应用于可用性探测服务,所述可用性探测服务运行于混合多云平台上,所述方法包括:响应于可用性探测任务,针对运行于所述混合多云平台上的待进行可用性探测的业务系统,获取用于探测所述业务系统的至少一个探测程序,以及,为探测所述业务系统而针对所述至少一个探测程序预先编排的调度运行顺序;针对所述业务系统对应的业务链路上的至少一个链路服务,根据所述调度运行顺序,在所述混合多云平台上依次调度并运行所述至少一个探测程序,以对所述至少一个链路服务的可用性进行依次探测,得到第一探测结果;根据所述第一探测结果,得到所述业务系统的可用性的第二探测结果;其中,所述调度运行顺序根据所述至少一个链路服务在所述业务链路上的业务运行顺序,以及,所述至少一个探测程序与所述至少一个链路服务在可用性探测上的对应关系确定。2.根据权利要求1所述的方法,其特征在于:在所述响应于可用性探测任务之后,所述方法还包括:于所述混合多云平台上创建可供所述至少一个探测程序运行的沙箱环境;在所述获取用于探测所述业务系统的至少一个探测程序之后,所述方法还包括:将所述至少一个探测程序下发到所述沙箱环境中;所述根据所述调度运行顺序,在所述混合多云平台上依次调度并运行所述至少一个探测程序,以对所述至少一个链路服务的可用性进行依次探测,包括:根据所述调度运行顺序,在所述沙箱环境中依次调度并运行所述至少一个探测程序,以对所述至少一个链路服务的可用性进行依次探测。3.根据权利要求2所述的方法,其特征在于,还包括:提取所述混合多云平台的并且与所述至少一个探测程序关联的平台信息,并将所述平台信息暴漏给所述沙箱环境,其中,所述平台信息包括集群信息和/或环境信息;所述根据所述调度运行顺序,在所述沙箱环境中依次调度并运行所述至少一个探测程序,以对所述至少一个链路服务的可用性进行依次探测,包括:根据所述调度运行顺序,在所述沙箱环境中依次调度并运行所述至少一个探测程序,以使处于运行状态的所述至少一个探测程序,获取到所述平台信息,并基于所述平台信息对所述至少一个链路服务的可用性进行依次探测。4.根据权利要求3所述的方法,其特征在于,所述沙箱环境通过容器编排引擎的容器组的形态体现,所述将所述平台信息暴漏给所述沙箱环境,包括:通过将所述平台信息以加密形态挂载到所述容器组上,以将所述平台信息暴漏给所述沙箱环境;所述方法还包括:对已挂载的所述平台信息进行解密,得到解密信息;所述以使处于运行状态的所述至少一个探测程序,获取到所述平台信息,并基于所述平台信息对所述至少一个链路服务的可用性进行依次探测,包括:以使处于运行状态的所述至少一个探测程序,获取到所述解密信息,并且基于所述解密信息对所述至少一个链路服务的可用性进行依次探测。
5.根据权利要求3所述的方法,其特征在于,所述沙箱环境通过容器编排引擎的容器组的形态体现,所述将所述平台信息暴漏给所述沙箱环境,包括:通过将所述平台信息挂载到所述容器组上,以将所述平台信息暴漏给所述沙箱环境,其中,所述容器组中注入有与所述可用性探测服务关联的边车容器以及所述至少一个探测程序所在的业务容器;所述方法还包括:通过运行所述边车容器,获取已挂载的所述平台信息,并在所述业务容器处于运行状态的情况下,将所述平台信息注入到所述业务容器中;所述根据所述调度运行顺序,在所述沙箱环境中依次调度并运行所述至少一个探测程序,以使处于运行状态的所述至少一个探测程序,获取到所述平台信息,包括:通过运行所述业务容器,根据所述调度运行顺序,对位于所述业务容器中的所述至少一个探测程序进行依次调度并运行,以使处于运行状态的所述至少一个探测程序,获取已注入到所述业务容器中的所述平台信息。6.根据权利要求2所述的方法,其特征在于,所述可用性探测服务提供有基础镜像,所述基础镜像中存储有所述至少一个探测程序对应的运行环境;于所述混合多云平台上创建可供所述至少一个探测程序运行的沙箱环境,包括:于所述混合多云平台上,基于所述运行环境,创建可供所述至少一个探测程序运行的沙箱环境,以使所述至少一个探测程序于所述运行环境中运行。7.根据权利要求1所述的方法,其特征在于,所述响应于可用性探测任务之前,还包括:响应于与所述业务系统对应的任务创建指令,创建出可用性探测任务,并接收针对所述可用性探测任务输入的任务触发参数;在根据所述任务触发参数,确定出需触发所述可用性探测任务的情况下,触发所述可用性探测任务,以响应于已触发的所述可用性探测任务,启动针对所述业务系统的可用性探测流程。8.根据权利要求7所述的方法,其特征在于,还包括:对预先注册完成的至少一个候选探测模板进行展示,其中,所述至少一个候选探测模板包括针对所述业务系统注册的可用性探测模板;接收针对展示出的所述可用性探测模板输入的任务创建指令;所述响应于与所述业务系统对应的任务创建指令,创建出可用性探测任务,包括:响应于所述任务创建指令,基于所述可用性探测模板,创建出可用性探测任务。9.根据权利要求8所述的方法,其特征在于,还包括:展示至少一个候选程序,并接收针对展示出的所述至少一个候选程序输入的与所述业务系统对应的程序编排操作;响应于所述程序编排操作,确定出所述至少一个候选程序中被编排的所述至少一个探测程序,以及,所述至少一个探测程序的调度运行顺序;基于所述至少一个探测程序以及所述调度运行顺序,注册所述可用性探测模板。10.根据权利要求9所述的方法,其特征在于,所述至少一个候选程序中的至少部分候选程序,通过复用所述至少部分候选程序对应的现有程序得到。11.根据权利要求1所述的方法,其特征在于,根据所述第一探测结果,得到所述业务系
统的可用性的第二探测结果,包括:根据所述第一探测结果,针对所述业务系统对应的分析指标生成指标数据;将所述指标数据上报至分析系统,以根据所述第一探测结果以及所述分析系统针对于所述指标数据的分析结果,得到所述业务系统的可用性的第二探测结果。12.根据权利要求1-11中任一项所述的方法,其特征在于,所述混合多云平台包括管控面集群以及数据面集群,所述可用性探测服务运行于所述管控面集群上,所述业务系统运行于目标集群上,所述目标集群包括所述管控面集群或是所述数据面集群,所述至少一个探测程序运行于所述目标集群上。13.一种可用性探测装置,其特征在于,配置于可用性探测服务,所述可用性探测服务运行于混合多云平台上,所述装置包括:调度运行顺序获取模块,用于响应于可用性探测任务,针对运行于所述混合多云平台上的待进行可用性探测的业务系统,获取用于探测所述业务系统的至少一个探测程序,以及,为探测所述业务系统而针对所述至少一个探测程序预先编排的调度运行顺序;第一探测结果得到模块,用于针对所述业务系统对应的业务链路上的至少一个链路服务,根据所述调度运行顺序,在所述混合多云平台上依次调度并运行所述至少一个探测程序,以对所述至少一个链路服务的可用性进行依次探测,得到第一探测结果;第二探测结果得到模块,用于根据所述第一探测结果,得到所述业务系统的可用性的第二探测结果;其中,所述调度运行顺序根据所述至少一个链路服务在所述业务链路上的业务运行顺序,以及,所述至少一个探测程序与所述至少一个链路服务在可用性探测上的对应关系确定。14.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-12中任一项所述的可用性探测方法。15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现如权利要求1-12中任一所述的可用性探测方法。

技术总结
本发明实施例公开了一种可用性探测方法、装置、电子设备及存储介质。该方法应用于可用性探测服务,可用性探测服务运行于混合多云平台上,包括:响应于可用性探测任务,针对运行于混合多云平台上待进行可用性探测的业务系统,获取用于探测业务系统的至少一个探测程序以及为探测业务系统而针对至少一个探测程序预先编排的调度运行顺序;针对与业务系统对应的业务链路上的至少一个链路服务,根据调度运行顺序,在混合多云平台上依次调度并且运行至少一个探测程序,以对至少一个链路服务的可用性进行依次探测,得到第一探测结果;根据第一探测结果,得到业务系统的可用性的第二探测结果。本发明实施例的技术方案,可保证系统可用性探测的整体性。性探测的整体性。性探测的整体性。


技术研发人员:王灿
受保护的技术使用者:京东科技信息技术有限公司
技术研发日:2023.07.07
技术公布日:2023/9/25
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐