服务配置方法和装置、电子设备、存储介质制造方法及图纸

技术编号:37464328 阅读:22 留言:0更新日期:2023-05-06 09:38
本申请涉及一种服务配置方法和装置、电子设备、存储介质,该方法包括:在目标容器运行的情况下,创建候选执行器,目标容器中封装有用于构建目标服务的目标SDK,候选执行器是待启动的执行器,执行器是目标容器中的线程或进程;通过执行器监控器对目标容器的资源使用情况进行采样,得到目标采样结果;通过根据目标采样结果和目标容器中的当前实例数量,确定出是否启动候选执行器,以对目标服务中的执行器进行动态配置,候选执行器用于在启动时获取目标SDK中的原型类并实例化为目标实例,候选执行器在启动后转化为目标执行器,目标执行器用于通过目标实例处理调用目标服务的服务请求。本申请解决了相关技术中为避免服务崩溃,服务内部通常运行数量较少的实例,导致资源利用率较低的技术问题。较低的技术问题。较低的技术问题。

【技术实现步骤摘要】
服务配置方法和装置、电子设备、存储介质


[0001]本申请涉及人工智能
,尤其涉及一种服务配置方法和装置、电子设备、存储介质。

技术介绍

[0002]随着人工智能
的快速发展,越来越多的应用需要AI算法为其赋能。算法最终落地实现的形式通常是先封装在服务中,再通过服务的对外接口进行调用。这些服务通常需要大量物理资源(CPU、GPU、内存、显存等)的支持。为了提高物理机的利用率,通常会在一个服务内部运行多个实例,且在一台物理机上部署多个服务。而对于一台资源、系统固定的物理机,物理机上部署的服务对资源、环境依赖等方面的需求差异通常较大。如果物理机上运行的实例过多,导致出现资源不足,如OOM(Out of Memory,指显存或内存溢出)等问题,会直接导致服务崩溃,无法完成正常的服务流程。如果物理机上运行的实例过少,也会导致服务请求的处理效率较低。为避免服务崩溃,在服务内部运行的实例数量往往远低于该服务在物理机上的可用资源能够支持运行的实例数量,资源利用率较低。
[0003]针对上述为避免服务崩溃,服务内部通常运行数量较少的实例,导致资源利用率较低的问题,目前尚未提出有效的解决方案。

技术实现思路

[0004]本申请提供了一种服务配置方法和装置、电子设备、存储介质,以至少解决相关技术中为避免服务崩溃,服务内部通常运行数量较少的实例,导致资源利用率较低的技术问题。
[0005]根据本申请实施例的一个方面,提供了一种服务配置方法,包括:在目标容器运行的情况下,创建候选执行器,其中,目标容器中封装有用于构建目标服务的目标SDK,候选执行器是待启动的执行器,执行器是目标容器中的线程或进程;通过执行器监控器对目标容器的资源使用情况进行采样,得到目标采样结果;通过根据目标采样结果和目标容器中的当前实例数量,确定出是否启动候选执行器,以对目标服务中的执行器进行动态配置,其中,候选执行器用于在启动时获取目标SDK中的原型类并实例化为目标实例,候选执行器在启动后转化为目标执行器,目标执行器用于通过目标实例处理调用目标服务的服务请求。
[0006]根据本申请实施例的另一方面,还提供了一种服务配置装置,包括:创建模块,用于在目标容器运行的情况下,创建候选执行器,其中,目标容器中封装有用于构建目标服务的目标SDK,候选执行器是待启动的执行器,执行器是目标容器中的线程或进程;采样模块,用于通过执行器监控器对目标容器的资源使用情况进行采样,得到目标采样结果;确定模块,用于通过根据目标采样结果和目标容器中的当前实例数量,确定出是否启动候选执行器,以对目标服务中的执行器进行动态配置,其中,候选执行器用于在启动时获取目标SDK中的原型类并实例化为目标实例,候选执行器在启动后转化为目标执行器,目标执行器用于通过目标实例处理调用目标服务的服务请求。
[0007]根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。
[0008]根据本申请实施例的另一方面,还提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,所述处理器、通信接口和存储器通过通信总线完成相互间的通信;所述存储器,用于存放计算机程序;所述处理器,用于执行所述计算机程序时,实现如前述任一项所述的方法。
[0009]根据本申请的一个方面,提供了一种计算机可读存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行如前任一项所述的方法。
[0010]在本申请实施例中,采用“在目标容器运行的情况下,创建候选执行器,其中,目标容器中封装有用于构建目标服务的目标SDK,候选执行器是待启动的执行器,执行器是目标容器中的线程或进程;通过执行器监控器对目标容器的资源使用情况进行采样,得到目标采样结果;通过根据目标采样结果和目标容器中的当前实例数量,确定出是否启动候选执行器,以对目标服务中的执行器进行动态配置,其中,候选执行器用于在启动时获取目标SDK中的原型类并实例化为目标实例,候选执行器在启动后转化为目标执行器,目标执行器用于通过目标实例处理调用目标服务的服务请求”的方式,通过在目标容器中创建线程或进程作为执行器,每个执行器创建后不是直接启动,而是根据目标容器当前的资源使用情况和目标容器中当前的实例数量,判断是否能够启动该执行器,执行器在启动后才拥有用于处理服务请求的实例,依据资源使用情况控制目标服务中运行的实例数量,在物理机上部署目标服务时,实现了对目标服务中执行器数量的动态配置,从而避免在资源不足的情况下增加服务内部运行的实例,进而解决了相关技术中为避免服务崩溃,服务内部通常运行数量较少的实例,导致资源利用率较低的技术问题。
附图说明
[0011]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0012]图1是根据本申请实施例的服务配置方法的硬件环境的示意图;
[0013]图2是根据本申请实施例的一种可选的服务配置方法的流程图;
[0014]图3是根据本申请实施例的一种可选的任务示意图;
[0015]图4是根据本申请实施例的一种可选的执行器监控器的监控流程示意图;
[0016]图5是根据本申请实施例的一种可选的服务配置方案的整体思路示意图;
[0017]图6是根据本申请实施例的一种可选的服务配置装置的示意图;以及,
[0018]图7是根据本申请实施例的一种电子设备的结构示意图。
具体实施方式
[0019]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0020]需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0021]首先,在对本申请实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
[0022]SDK:软件开发工具包(Software Development Kit),是一些软件工程师在为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时所使用的开发工具的集合。
[0023]类:用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种服务配置方法,其特征在于,包括:在目标容器运行的情况下,创建候选执行器,其中,所述目标容器中封装有用于构建目标服务的目标SDK,所述候选执行器是待启动的执行器,所述执行器是所述目标容器中的线程或进程;通过执行器监控器对所述目标容器的资源使用情况进行采样,得到目标采样结果;通过根据所述目标采样结果和所述目标容器中的当前实例数量,确定出是否启动所述候选执行器,以对所述目标服务中的执行器进行动态配置,其中,所述候选执行器用于在启动时获取所述目标SDK中的原型类并实例化为目标实例,所述候选执行器在启动后转化为目标执行器,所述目标执行器用于通过所述目标实例处理调用所述目标服务的服务请求。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:通过所述执行器监控器调用非阻塞方法执行监控任务,其中,所述监控任务为定时监控所述目标容器的资源使用情况;在所述执行器监控器监控到所述目标容器的资源使用情况达到预警条件的情况下,确定出所述目标容器中资源使用异常的异常执行器;关闭所述异常执行器。3.根据权利要求2所述的方法,其特征在于,所述通过根据所述目标采样结果和所述目标容器中的当前实例数量,确定出是否启动所述候选执行器之后,所述方法还包括:在确定出启动所述候选执行器的情况下,所述候选执行器在获取目标SDK中的原型类并实例化为目标实例后转化为目标执行器,其中,所述目标执行器用于监听新出现的任务对象;在所述目标执行器监听到新出现的目标任务对象的情况下,获取所述目标任务对象,其中,所述目标任务对象是按照目标任务类对目标服务请求进行转化后得到的,所述目标服务请求是用于调用所述目标服务的服务请求,所述目标任务类定义有容器属性和任务方法,所述任务方法包括结果回写方法;通过所述目标执行器对所述目标任务对象进行处理,以得到目标处理结果,其中,所述目标执行器用于在得到所述目标处理结果的情况下,调用所述目标任务对象中的结果回写方法,将所述目标处理结果写入所述目标任务对象的结果容器;通过从所述目标任务对象的结果容器中阻塞获取结果数据,确定出与所述目标服务请求对应的目标返回结果。4.根据权利要求3所述的方法,其特征在于,在所述确定出所述目标容器中资源使用异常的异常执行器之后,所述方法还包括:在所述异常执行器为处于任务处理阶段的执行器的情况下,通过所述执行器监控器调用所述结果回写方法,将目标异常结果写入所述目标任务对象的结果容器中;所述通过从所述目标任务对象的结果容器中阻塞获取结果数据,确定出与所述目标服务请求对应的目标返回结果,包括:通过从所述目标任务对象的结果容器中阻塞获取结果数据,得到所述目标异常结果;将所述目标异常结果确定为所述目...

【专利技术属性】
技术研发人员:乔勇
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:

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

1