CN116010026B - 一种基于虚拟路径的微服务控制方法及控制*** - Google Patents
一种基于虚拟路径的微服务控制方法及控制*** Download PDFInfo
- Publication number
- CN116010026B CN116010026B CN202211642393.7A CN202211642393A CN116010026B CN 116010026 B CN116010026 B CN 116010026B CN 202211642393 A CN202211642393 A CN 202211642393A CN 116010026 B CN116010026 B CN 116010026B
- Authority
- CN
- China
- Prior art keywords
- micro
- service
- target
- thread
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000012544 monitoring process Methods 0.000 claims description 27
- 230000004048 modification Effects 0.000 claims description 8
- 238000012986 modification Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 description 9
- 238000003062 neural network model Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Stored Programmes (AREA)
Abstract
本申请提供一种基于虚拟路径的微服务控制方法及控制***,该方法应用于微服务控制***,方法包括:响应于第一用户输入的针对目标微服务类别标识的微服务创建指令,显示微服务创建界面;接收第一用户通过对微服务创建界面的操作所确定的目标镜像ID;接收第一用户通过微服务创建界面输入的可运行代码集合、环境配置信息和待存储微服务标识;根据目标微服务类别标识确定微服务路径;根据微服务路径将目标镜像ID、可运行代码集合、环境配置信息和待存储微服务标识作为目标微服务信息存储至数据库内;根据微服务路径在微服务标识显示目录建立待存储微服务标识对应的目标微服务标识,并建立目标微服务标识与目标微服务信息的关联关系。
Description
技术领域
本申请涉及微服务控制领域,尤其涉及一种基于虚拟路径的微服务控制方法及控制***。
背景技术
微服务控制***,可以允许用户在建立的容器内通过镜像安装运行环境,并在运行环境内运行相应的神经网络模型,以进行神经网络模型的训练或推理。但现有的微服务控制***内,每次都需要用户自己上传镜像和神经网络模型,以建立相应的微服务实例完成神经网络模型的运行。如此,就会发生同一镜像多次重复上传造成***内的大量冗余存储,极不利于微服务控制***的运行。
发明内容
有鉴于此,本申请提供一种基于虚拟路径的微服务控制方法及控制***,至少部分解决现有技术中存在的问题。
在本申请的一方面,提供一种基于虚拟路径的微服务控制方法,应用于微服务控制***,所述微服务控制***包括镜像存储器、数据库和微服务标识显示目录;所述镜像存储器内存储有若干互不相同的候选环境镜像,所述候选环境镜像用于在容器内生成对应的运行环境,每一所述候选环境镜像均具有唯一对应的候选镜像ID;所述数据库内存储有若干微服务信息,所述微服务信息用于建立对应的微服务实例;所述微服务标识显示目录包括若干微服务类别标识,每一微服务类别标识具有若干对应的微服务标识。
所述方法包括:
响应于第一用户输入的针对目标微服务类别标识的微服务创建指令,显示微服务创建界面;所述目标微服务类别标识为若干微服务类别标识中任一个。
接收第一用户通过对所述微服务创建界面的操作所确定的目标镜像ID;所述目标镜像ID为若干所述候选镜像ID中的任一个。
接收第一用户通过所述微服务创建界面输入的可运行代码集合、环境配置信息和待存储微服务标识。
根据所述目标微服务类别标识确定微服务路径;所述微服务路径用于确定所述待存储微服务标识在所述微服务标识显示目录中的显示位置,以及目标镜像ID、可运行代码集合、环境配置信息和待存储微服务标识在所述数据库中的存储位置。
根据所述微服务路径将目标镜像ID、可运行代码集合、环境配置信息和待存储微服务标识作为目标微服务信息存储至所述数据库内。
根据所述微服务路径在所述微服务标识显示目录建立所述待存储微服务标识对应的目标微服务标识,并建立所述目标微服务标识与所述目标微服务信息的关联关系。
在本申请的一种示例性实施例中,所述方法还包括:
响应于第一用户输入的针对目标微服务标识的实例建立指令,从所述数据库内获取所述目标微服务信息。
将所述目标镜像ID对应的候选镜像确定为目标镜像。
根据所述目标镜像和所述环境配置信息,建立包含目标运行环境的目标容器。
在所述目标运行环境内建立第一线程,并控制所述第一线程运行所述可运行代码集合,以完成所述目标微服务标识对应的目标微服务实例的建立。
在本申请的一种示例性实施例中,所述配置信息包括CPU数量和GPU数量。
所述根据所述环境配置信息,建立目标容器,包括:
根据所述CPU数量和GPU数量,建立所述目标容器。
在本申请的一种示例性实施例中,所述配置信息还包括最大共享数量。
在完成所述目标微服务标识对应的目标微服务实例的建立之后,所述方法还包括:
响应于第二用户输入的针对目标微服务标识的实例建立指令,确定所述目标微服务实例的当前使用人数。
若所述当前使用人数小于所述最大共享数量,则在所述目标运行环境建立第二线程,并控制所述第二线程运行所述可运行代码集合。
在本申请的一种示例性实施例中,在所述控制所述第二线程运行所述可运行代码集合之后,所述方法还包括:
响应于所述第二用户对所述目标运行环境的环境修改指令,关闭所述第二线程。
根据所述环境配置信息,建立替代容器。
根据所述目标镜像和所述环境修改指令,在所述替代容器内生成替代运行环境。
在所述替代运行环境内建立第三线程,并控制所述第三线程运行所述可运行代码集合。
在本申请的一种示例性实施例中,在完成所述目标微服务标识对应的目标微服务实例的建立之后,所述方法还包括:
响应于第二用户输入的针对目标微服务标识的实例建立指令,确定所述目标微服务实例的CPU使用率和GPU使用率。
若所述CPU使用率小于第一阈值且所述GPU使用率小于第二阈值,则在所述目标运行环境建立第二线程,并控制所述第二线程运行所述可运行代码集合。
在本申请的一种示例性实施例中,所述微服务控制***还包括状态监控模块;所述状态监控模块用于监控所述目标微服务实例中第一线程的线程状态;所述可运行代码集合中包括重启指令。
在完成所述目标微服务标识对应的目标微服务实例的建立之后,所述方法还包括:
若所述状态监控模块确定所述第一线程的线程状态为停止运行状态,控制所述第一线程执行所述重启指令。
在本申请的一种示例性实施例中,所述微服务控制***还包括状态监控模块;所述状态监控模块用于监控所述目标微服务实例中第一线程的线程状态。
在完成所述目标微服务标识对应的目标微服务实例的建立之后,所述方法还包括:
若接收到第一用户输入的针对目标微服务标识的实例建立指令,通过所述状态监控模块获取所述第一线程的线程状态。
若所述线程状态为停止运行状态,则关闭所述目标微服务实例,并根据所述目标微服务信息重新建立的目标微服务实例。
若所述线程状态为正在运行状态,则输出提示信息;所述提示信息用于提示所述第一用户所述第一线程正在运行。
在本申请的另一方面,提供一种基于虚拟路径的微服务控制***,其特征在于,所述微服务控制***包括镜像存储器、数据库和微服务标识显示目录;所述镜像存储器内存储有若干互不相同的候选环境镜像,所述候选环境镜像用于在容器内生成对应的运行环境,每一所述候选环境镜像均具有唯一对应的候选镜像ID;所述数据库内存储有若干微服务信息,所述微服务信息用于建立对应的微服务实例;所述微服务标识显示目录包括若干微服务类别标识,每一微服务类别标识具有若干对应的微服务标识;
所述微服务控制***用于执行以下步骤:
响应于第一用户输入的针对目标微服务类别标识的微服务创建指令,显示微服务创建界面;所述目标微服务类别标识为若干微服务类别标识中任一个;
接收第一用户通过对所述微服务创建界面的操作所确定的目标镜像ID;所述目标镜像ID为若干所述候选镜像ID中的任一个;
接收第一用户通过所述微服务创建界面输入的可运行代码集合、环境配置信息和待存储微服务标识;
根据所述目标微服务类别标识确定微服务路径;所述微服务路径用于确定所述待存储微服务标识在所述微服务标识显示目录中的显示位置,以及目标镜像ID、可运行代码集合、环境配置信息和待存储微服务标识在所述数据库中的存储位置;
根据所述微服务路径将目标镜像ID、可运行代码集合、环境配置信息和待存储微服务标识作为目标微服务信息存储至所述数据库内;
根据所述微服务路径在所述微服务标识显示目录建立所述待存储微服务标识对应的目标微服务标识,并建立所述目标微服务标识与所述目标微服务信息的关联关系。
本申请提供的一种基于虚拟路径的微服务控制方法,在微服务控制***的镜像存储器内存储了若干相互不同的候选环境镜像。使得用户可以通过微服务创建界面自行选择对应的目标镜像ID,并将目标镜像ID与自己上传的可运行代码集合和环境配置信息建立关联关系(即同时作为目标微服务信息),以最终在微服务标识显示目录内建立目标微服务标识。使得用户可以直接通过对目标微服务标识的操作,建立响应的目标微服务实例。
具体的,在建立目标微服务实例时,可以直接通过目标镜像ID使用数据库中已存储的候选环境镜像建立响应的运行环境的并进行可执行代码的运行。如此,实现了用户可以不进行环境镜像的上传即可使用数据库内已存储的候选环境镜像生成相应的微服务实例。避免了用户反复上传多次环境镜像导致微服务控制***对环境镜像进行大量冗余存储的问题。
同时,由于在微服务标识显示目录中建立了目标微服务标识,且目标微服务标识与目标微服务信息具有关联关系,使得用户在后续的使用过程中,可以直接根据目标微服务标识快速的重新建立目标微服务实例,降低了用户的操作成本。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种基于虚拟路径的微服务控制方法的流程图。
具体实施方式
下面结合附图对本申请实施例进行详细描述。
需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
请参考图1所示,在本申请的一方面,提供一种基于虚拟路径的微服务控制方法,应用于微服务控制***,所述微服务控制***包括镜像存储器、数据库和微服务标识显示目录。
所述镜像存储器内存储有若干互不相同的候选环境镜像,所述候选环境镜像用于在容器内生成对应的运行环境,每一所述候选环境镜像均具有唯一对应的候选镜像ID。具体的,运行环境可以为操作***等能够供神经网络模型、软件、程序等运行的计算机环境。候选环境镜像一般为在CentOS,Ubuntu等环境上适配了PyTorch, TensorFlow, Caffe等开源的Python机器学习库的文件***。例如,候选环境镜像可以为couchbase/centos7-systemd、pytorch/mmdetection:ubuntu18.0等常见运行环境的相应镜像。具体的,候选环境镜像可以通过镜像生成器生成的“.tar”类型的文件。
所述数据库内存储有若干微服务信息,所述微服务信息用于建立对应的微服务实例。
所述微服务标识显示目录包括若干微服务类别标识,每一微服务类别标识具有若干对应的微服务标识,数据库内每一微服务信息均在微服务标识显示目录中具有对应的微服务标识。其中,微服务类别标识可以为目标识别、目标检测或目标分类等。微服务标识可以为随机森林、线性回归或卷积神经网络等。可以理解的是,用户可以通过微服务标识对应的微服务信息建立相应的微服务实例。
所述方法包括以下步骤:
S100,响应于第一用户输入的针对目标微服务类别标识的微服务创建指令,显示微服务创建界面。所述目标微服务类别标识为若干微服务类别标识中任一个。具体的,每一微服务类别标识都具有对应的微服务建立按钮,用户可以通过点击目标微服务类别标识对应的微服务建立按钮生成和输入微服务创建指令。
S200,接收第一用户通过对所述微服务创建界面的操作所确定的目标镜像ID。所述目标镜像ID为若干所述候选镜像ID中的任一个。具体的,微服务创建界面上可以通过弹窗或下拉窗口方式显示至少部分候选镜像ID,通过用户的点击操作从中确定出目标镜像ID。
S300,接收第一用户通过所述微服务创建界面输入的可运行代码集合、环境配置信息和待存储微服务标识。具体的,微服务创建界面上设置有信息输入模块或数据上传模块,以使用户能够通过信息输入模块或数据上传模块输入的可运行代码集合、环境配置信息和待存储微服务标识。其中,待存储微服务标识可以由用户自定义确定。
S400,根据所述目标微服务类别标识确定微服务路径。具体的,微服务路径包括了目录路径和存储路径,目录路径用于确定所述待存储微服务标识在所述微服务标识显示目录中的显示位置,存储路径用于确定目标镜像ID、可运行代码集合、环境配置信息和待存储微服务标识在所述数据库中的存储位置。且目录路径和存储路径具有对应关系。目录路径的确定方法为,根据目标微服务类别标识对应的路径,确定出其下级路径(可以与目标微服务类别标识下已建立的其他微服务标识并列)作为微服务路径。每一微服务类别标识具有若干对应的子存储数据表,不同的子存储数据表用户存储不同的数据,例如用于存储候选镜像ID或可运行代码等。可以通过目标服务类别标识对应的目标子存储数据表的路径确定目标镜像ID、可运行代码集合、环境配置信息和待存储微服务标识的存储位置,并生成相应的存储路径。
S500,根据所述微服务路径将目标镜像ID、可运行代码集合、环境配置信息和待存储微服务标识作为目标微服务信息存储至所述数据库内。
S600,根据所述微服务路径在所述微服务标识显示目录建立所述待存储微服务标识对应的目标微服务标识,并建立所述目标微服务标识与所述目标微服务信息的关联关系。其中,关联关系可以为通过映射表记录对应关系以实现关联。
本实施例提供的一种基于虚拟路径的微服务控制方法,在微服务控制***的镜像存储器内存储了若干相互不同的候选环境镜像。使得用户可以通过微服务创建界面自行选择对应的目标镜像ID,并将目标镜像ID与自己上传的可运行代码集合和环境配置信息建立关联关系(即同时作为目标微服务信息),以最终在微服务标识显示目录内建立目标微服务标识。使得用户可以直接通过对目标微服务标识的操作,建立响应的目标微服务实例。
具体的,在建立目标微服务实例时,可以直接通过目标镜像ID使用数据库中已存储的候选环境镜像建立响应的运行环境的并进行可执行代码的运行。如此,实现了用户可以不进行环境镜像的上传即可使用数据库内已存储的候选环境镜像生成相应的微服务实例。避免了用户反复上传多次环境镜像导致微服务控制***对环境镜像进行大量冗余存储的问题。
同时,由于在微服务标识显示目录中建立了目标微服务标识,且目标微服务标识与目标微服务信息具有关联关系,使得用户在后续的使用过程中,可以直接根据目标微服务标识快速的重新建立目标微服务实例,降低了用户的操作成本。
在本申请的一种示例性实施例中,所述方法还包括:
响应于第一用户输入的针对目标微服务标识的实例建立指令,从所述数据库内获取所述目标微服务信息。其中,目标微服务标识具有对应的实例建立按钮,用户可以通过点击实例建立按钮生成并输入实例建立指令。
将所述目标镜像ID对应的候选镜像确定为目标镜像;
根据所述目标镜像和所述环境配置信息,建立包含目标运行环境的目标容器;其中,所述配置信息包括CPU数量和GPU数量。使得可以通过CPU数量和GPU数量确定建立目标容器需要的CPU和GPU,以建立目标容器。使得目标容器具有对应的处理和计算能量。
在所述目标运行环境内建立第一线程,并控制所述第一线程运行所述可运行代码集合,以完成所述目标微服务标识对应的目标微服务实例的建立。
本实施例中,用户可以通过对目标服务标识的相应操作,可以直接通过目标镜像ID使用数据库中已存储的候选环境镜像建立响应的运行环境的并进行可执行代码的运行。如此,实现了用户可以不进行环境镜像的上传即可使用数据库内已存储的候选环境镜像生成相应的微服务实例。避免了用户反复上传多次环境镜像导致微服务控制***对环境镜像进行大量冗余存储的问题。
同时,由于在微服务标识显示目录中建立了目标微服务标识,且目标微服务标识与目标微服务信息具有关联关系,使得用户在后续的使用过程中,可以直接根据目标微服务标识快速的重新建立目标微服务实例,降低了用户的操作成本。
在本申请的一种示例性实施例中,所述配置信息还包括最大共享数量。最大共享数量用于规定根据目标微服务信息生成的目标微服务实例最多可以同时由几个用户使用。
在完成所述目标微服务标识对应的目标微服务实例的建立之后,所述方法还包括:
响应于第二用户输入的针对目标微服务标识的实例建立指令,确定所述目标微服务实例的当前使用人数。
若所述当前使用人数小于所述最大共享数量,则在所述目标运行环境建立第二线程,并控制所述第二线程运行所述可运行代码集合。
若所述当前使用人数大于或等于所述最大共享数量,则建立新的包含目标运行环境的目标容器,并在新的包含运行环境的目标容器中建立第二线程,以及控制所述第二线程运行所述可运行代码集合。
由于本实施例中,建立的目标容器使用的配置信息包括CPU数量和GPU数量,并使用了相应数量的CPU和GPU建立目标容器。但部分用户由于很难预估自己的可运行代码集合在实际运行时占用的CPU和GPU资源的具体数量,往往会发生CPU数量和GPU数量设置过大的情况,如此就会导致会有一定的CPU和GPU资源处于空闲状态,导致处理资源的有效使用率降低。本实施例中,可以通过设置最大共享数量,使得目标微服务实例可以多个用户用户同时使用。在其他用户(如第二用户)通过目标微服务标识建立相同的目标微服务实例时,可以通过确定已建立的目标微服务实例的当前使用人数确定是否可以在该目标微服务实例中建立新的线程(如第二线程)以运行可运行代码集合供其他用户使用。如此,实现了多个实例同时使用同一个微服务实例,提升了微服务实例的资源有效利用率,且减少了微服务实例的建立个数,降低了微服务控制***对微服务实例的控制复杂度。
在本申请的一种示例性实施例中,在完成所述目标微服务标识对应的目标微服务实例的建立之后,所述方法还包括:
响应于第二用户输入的针对目标微服务标识的实例建立指令,确定所述目标微服务实例的CPU使用率和GPU使用率。
若所述CPU使用率小于第一阈值且所述GPU使用率小于第二阈值,则在所述目标运行环境建立第二线程,并控制所述第二线程运行所述可运行代码集合。
本实施例中,用户可以不设置最大共享数量,而是由微服务控制***根据目标微服务实例的CPU使用率和GPU使用率确定空闲的CPU资源和GPU资源是否能够供第二线程的运行。以实现了多个同时使用同一个微服务实例,提升了微服务实例的资源有效利用率,且减少了微服务实例的建立个数,降低了微服务控制***对微服务实例的控制复杂度。
具体的,其中的第一阈值和第二阈值可以通过目标微服务标识中当前的第一线程的数量和每一第一线程的CPU使用率和GPU使用率确定。例如,获取目标微服务实例的最大CPU使用率A1和最大CPU使用率B1。获取每一第一线程的CPU使用率中的最大值,得到目标CPU使用率A2,获取每一第一线程的GPU使用率中的最大值,得到目标GPU使用率B2。如此,第一阈值为A1-A2,第二阈值为B1-B2。如此,若所述CPU使用率小于第一阈值且所述GPU使用率小于第二阈值,则能够表明第二线程能够拥有足够的CPU资源和GPU资源进行正常的运行。
需要说明的是,本实施例中的第一线程不仅仅指代第一用户建立的线程,而是指代微服务控制***中当前运行的所有线程。
在本申请的一种示例性实施例中,在所述控制所述第二线程运行所述可运行代码集合之后,所述方法还包括:
响应于所述第二用户对所述目标运行环境的环境修改指令,关闭所述第二线程。环境修改指令中包括修改后运行环境参数,如操作***基础服务启用状态等。
根据所述环境配置信息,建立替代容器。
根据所述目标镜像和所述环境修改指令,在所述替代容器内生成替代运行环境。
在所述替代运行环境内建立第三线程,并控制所述第三线程运行所述可运行代码集合。
本实施例中,由于同一目标微服务实例可以由多个用户同时使用,而在目标微服务实例的使用中,若用户使用的处理数据不同,可能会导致会有新的运行环境需求,此时用户可以通过环境修改指令改变当前的运行环境,但由于当前的目标微服务实例是多个人同时使用的,其中一个用户修改了运行环境,很可能会导致其他用户的线程无法正常运行,故而本实施例中,在接收到环境修改指令后,不会直接对当前的运行环境进行修改,而是额外建立新的微服务实例,以供用户使用。避免了对其他用户造成影响。
在本申请的一种示例性实施例中,所述微服务控制***还包括状态监控模块;所述状态监控模块用于监控所述目标微服务实例中第一线程的线程状态;所述可运行代码集合中包括重启指令。
在完成所述目标微服务标识对应的目标微服务实例的建立之后,所述方法还包括:
若所述状态监控模块确定所述第一线程的线程状态为停止运行状态,控制所述第一线程执行所述重启指令。
其中,状态监控模块不仅可以对目标微服务实例中第一线程进行监控,也可以对***中每一微服务实例中的每一线程进行监控,本实施例中限定目标微服务实例中第一线程仅为方便理解,本领域技术人员理应能够想到状态监控模块还能够对别微服务实例中的线程进行架空,并执行相应的操作。
本实施例中,通过监控模块监控所述目标微服务实例中第一线程的线程状态,能够在第一线程的线程状态为停止运行状态时(通常是出现运行bug等原因导致的非正常停止运行),自动使用重启指令以重启第一线程的运行,避免因运行bug等原因导致第一线程无法正常工作的情况发生。若重复执行重启指令也无法使得第一线程正常运行,则可通过用户的手动操作将目标容器关闭或删除。
在本申请的一种示例性实施例中,所述微服务控制***还包括状态监控模块;所述状态监控模块用于监控所述目标微服务实例中第一线程的线程状态。
在完成所述目标微服务标识对应的目标微服务实例的建立之后,所述方法还包括:
若接收到第一用户输入的针对目标微服务标识的实例建立指令,通过所述状态监控模块获取所述第一线程的线程状态。
若所述线程状态为停止运行状态,则关闭所述目标微服务实例,并根据所述目标微服务信息重新建立的目标微服务实例。
若所述线程状态为正在运行状态,则输出提示信息;所述提示信息用于提示所述第一用户所述第一线程正在运行。
在实际应用过程中,由于目标微服务实例往往是后台运行且运行时间都是几天或几十天的长时间,用户经常会在后续使用过程中忘记了自己本建立过相同的目标微服务实例,而重新建立新的目标微服务实例,这样历史建立的目标微服务实例会导致***资源的不必要占用,本实施例中,在若接收到第一用户输入的针对目标微服务标识的实例建立指令,会通过所述状态监控模块获取第一用户对应的历史第一线程的线程状态。若线程状态为停止运行状态,则关闭所述目标微服务实例,并根据所述目标微服务信息重新建立的目标微服务实例。若所述线程状态为正在运行状态,则输出提示信息;所述提示信息用于提示所述第一用户所述第一线程正在运行,以防止用户重复建立相同的不必要的目标微服务实例,以降低***资源的不必要占用。
在本申请的另一方面,还提供一种基于虚拟路径的微服务控制***,所述微服务控制***包括镜像存储器、数据库和微服务标识显示目录;所述镜像存储器内存储有若干互不相同的候选环境镜像,所述候选环境镜像用于在容器内生成对应的运行环境,每一所述候选环境镜像均具有唯一对应的候选镜像ID;所述数据库内存储有若干微服务信息,所述微服务信息用于建立对应的微服务实例;所述微服务标识显示目录包括若干微服务类别标识,每一微服务类别标识具有若干对应的微服务标识;
所述微服务控制***用于执行以下步骤:
响应于第一用户输入的针对目标微服务类别标识的微服务创建指令,显示微服务创建界面;所述目标微服务类别标识为若干微服务类别标识中任一个;
接收第一用户通过对所述微服务创建界面的操作所确定的目标镜像ID;所述目标镜像ID为若干所述候选镜像ID中的任一个;
接收第一用户通过所述微服务创建界面输入的可运行代码集合、环境配置信息和待存储微服务标识;
根据所述目标微服务类别标识确定微服务路径;所述微服务路径用于确定所述待存储微服务标识在所述微服务标识显示目录中的显示位置,以及目标镜像ID、可运行代码集合、环境配置信息和待存储微服务标识在所述数据库中的存储位置;
根据所述微服务路径将目标镜像ID、可运行代码集合、环境配置信息和待存储微服务标识作为目标微服务信息存储至所述数据库内;
根据所述微服务路径在所述微服务标识显示目录建立所述待存储微服务标识对应的目标微服务标识,并建立所述目标微服务标识与所述目标微服务信息的关联关系。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为***、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
根据本申请的这种实施方式的电子设备。电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:上述至少一个处理器、上述至少一个储存器、连接不同***组件(包括储存器和处理器)的总线。
其中,所述储存器存储有程序代码,所述程序代码可以被所述处理器执行,使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的步骤。
储存器可以包括易失性储存器形式的可读介质,例如随机存取储存器(RAM)和/或高速缓存储存器,还可以进一步包括只读储存器(ROM)。
储存器还可以包括具有一组(至少一个)程序模块的程序/实用工具,这样的程序模块包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线可以为表示几类总线结构中的一种或多种,包括储存器总线或者储存器控制器、***总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
电子设备也可以与一个或多个外部设备(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备交互的设备通信,和/或与使得该电子设备能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口进行。并且,电子设备还可以通过网络适配器与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器通过总线与电子设备的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本申请的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的步骤。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种基于虚拟路径的微服务控制方法,其特征在于,应用于微服务控制***,所述微服务控制***包括镜像存储器、数据库和微服务标识显示目录;所述镜像存储器内存储有若干互不相同的候选环境镜像,所述候选环境镜像用于在容器内生成对应的运行环境,每一所述候选环境镜像均具有唯一对应的候选镜像ID;所述数据库内存储有若干微服务信息,所述微服务信息用于建立对应的微服务实例;所述微服务标识显示目录包括若干微服务类别标识,每一微服务类别标识具有若干对应的微服务标识;
所述方法包括:
响应于第一用户输入的针对目标微服务类别标识的微服务创建指令,显示微服务创建界面;所述目标微服务类别标识为若干微服务类别标识中任一个;
接收第一用户通过对所述微服务创建界面的操作所确定的目标镜像ID;所述目标镜像ID为若干所述候选镜像ID中的任一个;
接收第一用户通过所述微服务创建界面输入的可运行代码集合、环境配置信息和待存储微服务标识;
根据所述目标微服务类别标识确定微服务路径;所述微服务路径用于确定所述待存储微服务标识在所述微服务标识显示目录中的显示位置,以及目标镜像ID、可运行代码集合、环境配置信息和待存储微服务标识在所述数据库中的存储位置;
根据所述微服务路径将目标镜像ID、可运行代码集合、环境配置信息和待存储微服务标识作为目标微服务信息存储至所述数据库内;
根据所述微服务路径在所述微服务标识显示目录建立所述待存储微服务标识对应的目标微服务标识,并建立所述目标微服务标识与所述目标微服务信息的关联关系。
2.根据权利要求1所述的基于虚拟路径的微服务控制方法,其特征在于,所述方法还包括:
响应于第一用户输入的针对目标微服务标识的实例建立指令,从所述数据库内获取所述目标微服务信息;
将所述目标镜像ID对应的候选镜像确定为目标镜像;
根据所述目标镜像和所述环境配置信息,建立包含目标运行环境的目标容器;
在所述目标运行环境内建立第一线程,并控制所述第一线程运行所述可运行代码集合,以完成所述目标微服务标识对应的目标微服务实例的建立。
3.根据权利要求2所述的基于虚拟路径的微服务控制方法,其特征在于,所述配置信息包括CPU数量和GPU数量;
所述根据所述环境配置信息,建立目标容器,包括:
根据所述CPU数量和GPU数量,建立所述目标容器。
4.根据权利要求3所述的基于虚拟路径的微服务控制方法,其特征在于,所述配置信息还包括最大共享数量;
在完成所述目标微服务标识对应的目标微服务实例的建立之后,所述方法还包括:
响应于第二用户输入的针对目标微服务标识的实例建立指令,确定所述目标微服务实例的当前使用人数;
若所述当前使用人数小于所述最大共享数量,则在所述目标运行环境建立第二线程,并控制所述第二线程运行所述可运行代码集合。
5.根据权利要求4所述的基于虚拟路径的微服务控制方法,其特征在于,在所述控制所述第二线程运行所述可运行代码集合之后,所述方法还包括:
响应于所述第二用户对所述目标运行环境的环境修改指令,关闭所述第二线程;
根据所述环境配置信息,建立替代容器;
根据所述目标镜像和所述环境修改指令,在所述替代容器内生成替代运行环境;
在所述替代运行环境内建立第三线程,并控制所述第三线程运行所述可运行代码集合。
6.根据权利要求3所述的基于虚拟路径的微服务控制方法,其特征在于,在完成所述目标微服务标识对应的目标微服务实例的建立之后,所述方法还包括:
响应于第二用户输入的针对目标微服务标识的实例建立指令,确定所述目标微服务实例的CPU使用率和GPU使用率;
若所述CPU使用率小于第一阈值且所述GPU使用率小于第二阈值,则在所述目标运行环境建立第二线程,并控制所述第二线程运行所述可运行代码集合。
7.根据权利要求2所述的基于虚拟路径的微服务控制方法,其特征在于,所述微服务控制***还包括状态监控模块;所述状态监控模块用于监控所述目标微服务实例中第一线程的线程状态;所述可运行代码集合中包括重启指令;
在完成所述目标微服务标识对应的目标微服务实例的建立之后,所述方法还包括:
若所述状态监控模块确定所述第一线程的线程状态为停止运行状态,控制所述第一线程执行所述重启指令。
8.根据权利要求2所述的基于虚拟路径的微服务控制方法,其特征在于,所述微服务控制***还包括状态监控模块;所述状态监控模块用于监控所述目标微服务实例中第一线程的线程状态;
在完成所述目标微服务标识对应的目标微服务实例的建立之后,所述方法还包括:
若接收到第一用户输入的针对目标微服务标识的实例建立指令,通过所述状态监控模块获取所述第一线程的线程状态;
若所述线程状态为停止运行状态,则关闭所述目标微服务实例,并根据所述目标微服务信息重新建立的目标微服务实例;
若所述线程状态为正在运行状态,则输出提示信息;所述提示信息用于提示所述第一用户所述第一线程正在运行。
9.一种基于虚拟路径的微服务控制***,其特征在于,所述微服务控制***包括镜像存储器、数据库和微服务标识显示目录;所述镜像存储器内存储有若干互不相同的候选环境镜像,所述候选环境镜像用于在容器内生成对应的运行环境,每一所述候选环境镜像均具有唯一对应的候选镜像ID;所述数据库内存储有若干微服务信息,所述微服务信息用于建立对应的微服务实例;所述微服务标识显示目录包括若干微服务类别标识,每一微服务类别标识具有若干对应的微服务标识;
所述微服务控制***用于执行以下步骤:
响应于第一用户输入的针对目标微服务类别标识的微服务创建指令,显示微服务创建界面;所述目标微服务类别标识为若干微服务类别标识中任一个;
接收第一用户通过对所述微服务创建界面的操作所确定的目标镜像ID;所述目标镜像ID为若干所述候选镜像ID中的任一个;
接收第一用户通过所述微服务创建界面输入的可运行代码集合、环境配置信息和待存储微服务标识;
根据所述目标微服务类别标识确定微服务路径;所述微服务路径用于确定所述待存储微服务标识在所述微服务标识显示目录中的显示位置,以及目标镜像ID、可运行代码集合、环境配置信息和待存储微服务标识在所述数据库中的存储位置;
根据所述微服务路径将目标镜像ID、可运行代码集合、环境配置信息和待存储微服务标识作为目标微服务信息存储至所述数据库内;
根据所述微服务路径在所述微服务标识显示目录建立所述待存储微服务标识对应的目标微服务标识,并建立所述目标微服务标识与所述目标微服务信息的关联关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211642393.7A CN116010026B (zh) | 2022-12-20 | 2022-12-20 | 一种基于虚拟路径的微服务控制方法及控制*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211642393.7A CN116010026B (zh) | 2022-12-20 | 2022-12-20 | 一种基于虚拟路径的微服务控制方法及控制*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116010026A CN116010026A (zh) | 2023-04-25 |
CN116010026B true CN116010026B (zh) | 2023-07-07 |
Family
ID=86034729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211642393.7A Active CN116010026B (zh) | 2022-12-20 | 2022-12-20 | 一种基于虚拟路径的微服务控制方法及控制*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116010026B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109445869A (zh) * | 2018-09-17 | 2019-03-08 | 山东中创软件商用中间件股份有限公司 | 一种跨云适配的微服务管理方法、装置和存储介质 |
CN115309500A (zh) * | 2022-07-26 | 2022-11-08 | 浪潮云信息技术股份公司 | 云上微服务架构应用部署和运维管理方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10860339B2 (en) * | 2018-08-03 | 2020-12-08 | Dell Products L.P. | Autonomous creation of new microservices and modification of existing microservices |
-
2022
- 2022-12-20 CN CN202211642393.7A patent/CN116010026B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109445869A (zh) * | 2018-09-17 | 2019-03-08 | 山东中创软件商用中间件股份有限公司 | 一种跨云适配的微服务管理方法、装置和存储介质 |
CN115309500A (zh) * | 2022-07-26 | 2022-11-08 | 浪潮云信息技术股份公司 | 云上微服务架构应用部署和运维管理方法及*** |
Non-Patent Citations (1)
Title |
---|
基于微服务架构的云容器管理***设计与实现;王阳;中国优秀硕士学位论文全文数据库 信息科技辑;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116010026A (zh) | 2023-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107885762B (zh) | 智能大数据***、提供智能大数据服务的方法和设备 | |
US20200364085A1 (en) | Task scheduling based on performance control conditions for multiple processing units | |
CN107506300B (zh) | 一种用户界面测试方法、装置、服务器和存储介质 | |
CN109034394B (zh) | 一种机器学习模型的更新方法和装置 | |
US11126938B2 (en) | Targeted data element detection for crowd sourced projects with machine learning | |
CN109726076B (zh) | 一种小程序生命周期管理方法和*** | |
US11656928B2 (en) | Detecting datacenter mass outage with near real-time/offline using ml models | |
CN109542744A (zh) | 检测终端开机异常问题的方法、装置、存储介质及终端 | |
CN113312072A (zh) | 配置文件更新方法及装置、电子设备和介质 | |
CN107045475B (zh) | 测试方法和装置 | |
CN112911013A (zh) | 云应用的处理方法、装置、计算机设备和存储介质 | |
CN111330280A (zh) | 游戏中的数据处理方法、装置、存储介质与电子设备 | |
US7805734B2 (en) | Platform management of high-availability computer systems | |
CN114358742A (zh) | 一种工作流执行方法、装置、设备及存储介质 | |
CN112769876A (zh) | 一种设备通道信息获取方法、装置、设备和介质 | |
CN116010026B (zh) | 一种基于虚拟路径的微服务控制方法及控制*** | |
CN113191889A (zh) | 风控配置方法、配置***、电子设备及可读存储介质 | |
CN110347546B (zh) | 监控任务动态调整方法、装置、介质及电子设备 | |
CN111258618A (zh) | 文件配置方法、装置、计算机设备和存储介质 | |
US20230259377A1 (en) | User input predictive action system and method for user interfaces | |
CN111176944A (zh) | 区块链智能合约调用记录解析方法、装置、终端和存储介质 | |
CN110673898A (zh) | 一种设备管理方法、第一设备及交互*** | |
CN113722007B (zh) | Vpn分支设备的配置方法、装置及*** | |
CN112735601B (zh) | 利用蓝牙确定传染病密接人群的测试方法、装置及设备 | |
CN111159237B (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 |