基于容器技术的服务集合处理方法、装置和计算机设备
文献发布时间:2023-06-19 09:36:59
技术领域
本申请涉及容器技术领域,特别是涉及一种基于容器技术的服务集合处理方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,越来越多的服务应用通过容器技术部署在系统上,以实现在一个系统上部署多个服务应用,从而达到服务的扁平化。
然而,目前对系统上的服务应用的处理方式,一般是响应用户发起的处理请求,查找对应的容器,确定对应的服务应用,并进行相应的处理;但是,在需要对多个服务应用进行处理时,若针对每个服务应用,都要经过这样的操作,会导致多服务应用的处理效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高多服务应用的处理效率的基于容器技术的服务集合处理方法、装置、计算机设备和存储介质。
一种基于容器技术的服务集合处理方法,所述方法包括:
获取待部署系统的多个基于容器的服务应用;
对各个所述基于容器的服务应用进行聚合,得到所述待部署系统的多个服务集合;
从所述多个服务集合中,确定与服务集合处理请求对应的目标服务集合;
对所述目标服务集合中的所有服务应用进行处理。
在其中一个实施例中,所述对各个所述基于容器的服务应用进行聚合,得到所述待部署系统的多个服务集合,包括:
获取各个所述基于容器的服务应用的应用信息;
基于各个所述基于容器的服务应用的应用信息,对各个所述基于容器的服务应用进行聚类处理,得到多个服务集合;各个所述服务集合中包括所述应用信息相似的多个基于容器的服务应用;
按照预设顺序,将所述多个服务集合部署在所述待部署系统上,得到所述待部署系统的多个服务集合。
在其中一个实施例中,所述从所述多个服务集合中,确定与服务集合处理请求对应的目标服务集合,包括:
接收终端发送的服务集合处理请求;所述服务集合处理请求中携带有服务集合标识;
对所述服务集合处理请求进行验证;
若所述服务集合处理请求验证通过,则从所述多个服务集合中,确定与所述服务集合标识对应的服务集合,作为所述目标服务集合。
在其中一个实施例中,所述根据服务集合处理请求,对所述目标服务集合中的所有服务应用进行处理,包括:
根据所述服务集合处理请求,确定所述目标服务集合中的各个服务应用对应的控制处理指令;
通过所述控制处理指令,对所述目标服务集合中的各个所述服务应用进行对应的控制处理。
在其中一个实施例中,所述方法还包括:
获取所述待部署系统的各个所述服务集合中的所有服务应用的运行状态信息和实例列表信息;
分别将所述待部署系统的各个所述服务集合中的所有服务应用的运行状态信息和实例列表信息同步至对应的服务集合,得到对应的服务集合的运行状态信息;各个所述服务集合的运行状态信息包括对应的服务集合中的所有服务应用的运行状态信息和实例列表信息。
在其中一个实施例中,所述方法还包括:
接收针对所述待部署系统的服务集合的处理指令;
根据所述处理指令,对所述待部署系统的服务集合进行处理,使得所述服务集合中的所有服务应用均进行相同的处理。
在其中一个实施例中,所述方法还包括:
对所述待部署系统的服务集合中的服务应用进行监控;
若监控到所述待部署系统的服务集合中的服务应用出现异常,则确定所述服务集合中的服务应用的异常类型;
获取与所述异常类型对应的服务应用修复指令,根据所述服务应用修复指令,对所述服务集合中的服务应用进行修复。
一种基于容器技术的服务集合处理装置,所述装置包括:
服务应用获取模块,用于获取待部署系统的多个基于容器的服务应用;
服务应用聚合模块,用于对各个所述基于容器的服务应用进行聚合,得到所述待部署系统的多个服务集合;
服务集合确定模块,用于从所述多个服务集合中,确定与服务集合处理请求对应的目标服务集合;
服务应用处理模块,用于根据服务集合处理请求,对所述目标服务集合中的所有服务应用进行处理。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待部署系统的多个基于容器的服务应用;
对各个所述基于容器的服务应用进行聚合,得到所述待部署系统的多个服务集合;
从所述多个服务集合中,确定与服务集合处理请求对应的目标服务集合;
根据所述服务集合处理请求,对所述目标服务集合中的所有服务应用进行处理。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待部署系统的多个基于容器的服务应用;
对各个所述基于容器的服务应用进行聚合,得到所述待部署系统的多个服务集合;
从所述多个服务集合中,确定与服务集合处理请求对应的目标服务集合;
根据所述服务集合处理请求,对所述目标服务集合中的所有服务应用进行处理。
上述基于容器技术的服务集合处理方法、装置、计算机设备和存储介质,通过获取待部署系统的多个基于容器的服务应用;并对各个基于容器的服务应用进行聚合,得到待部署系统的多个服务集合;然后从多个服务集合中,确定与服务集合处理请求对应的目标服务集合;根据服务集合处理请求,对目标服务集合中的服务应用进行处理;实现了根据一个服务集合处理请求,对目标服务集合中的所有服务应用进行处理的目的,无需多次响应服务应用处理请求,并单独查找对应的服务应用,从而简化了多服务应用的处理流程,进而提高了多服务应用的处理效率。
附图说明
图1为一个实施例中基于容器技术的服务集合处理方法的应用环境图;
图2为一个实施例中基于容器技术的服务集合处理方法的流程示意图;
图3为一个实施例中SA的抽象架构图;
图4为一个实施例中SA Operator的实现原理图;
图5为另一个实施例中基于容器技术的服务集合处理方法的流程示意图;
图6为一个实施例中基于容器技术的服务集合处理装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的基于容器技术的服务集合处理方法,可以应用于如图1所示的应用环境中。其中,终端110通过网络与服务器120进行通信。参考图1,服务器120获取待部署系统的多个基于容器的服务应用;对各个基于容器的服务应用进行聚合,得到待部署系统的多个服务集合;接收终端110发送的服务集合处理请求,并从多个服务集合中,确定与服务集合处理请求对应的目标服务集合;根据服务集合处理请求,对目标服务集合中的所有服务应用进行处理。其中,终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
此外,针对本申请出现的术语,具体解释如下:
Docker:开源的应用容器引擎,基于Go语言并遵从Apache 2.0协议开源。通常被用于开发应用、交付应用、运行应用。Docker允许用户将基础设施(Infrastructure)中的应用单独分割出来,形成更小的颗粒(容器),从而提高交付软件的速度。
Kubernetes:是一个可移植的,可扩展的开源平台,用于管理容器化的工作负载和服务,方便了声明式配置和自动化。它拥有一个庞大且快速增长的生态系统;Kubernetes正在成为在多云环境中大规模部署和管理容器化应用的事实标准。
Operator:Operator是Kubernetes的扩展软件,它利用自定义资源管理应用及其组件;它扩展了Kubernetes API(Application Programming Interface,应用程序接口),以代表Kubernetes用户创建、配置和管理复杂的有状态应用程序实例;它构建在基本的Kubernetes资源和控制器概念之上,但是包含了特定领域或应用程序的知识来完成常见的自动化的任务。
SA:(Service Assembly)是一系列功能或业务相近的服务的聚合;通过基于SA的抽象,帮助用户实现自定义服务集合的管理和部署。
容器技术:一种轻量级、可移植、自包含的软件打包技术,打包的应用程序可以在几乎任何地方以相同的方式运行。
Deployment:控制器,可以管理Pod的多个副本,并确保Pod按照期望的状态运行。
Pod:Kubernetes的最小工作单元,每个Pod包含一个或多个容器。
Service:定义了外界访问一组特定Pod的方式;Service有自己的IP和端口,Service为Pod提供了负载均衡。
在一个实施例中,如图2所示,提供了一种基于容器技术的服务集合处理方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S201,获取待部署系统的多个基于容器的服务应用。
其中,待部署系统是指需要部署基于容器的服务应用的系统,比如ISCOS系统(ISCOS系统是基于Kubernetes平台的一套物联网操作系统)。
其中,容器是指运行在服务器上的通过Docker技术虚拟化出来的容器,也可以看作是内核上运行的独立代码单元;容器可以使用宿主机(比如服务器)的内核加载自身的文件系统,无需独自占用内核,从而具有启动速度快,资源占用小,移植性好的优点;其中,Docker是一个开源的应用容器引擎。
其中,服务应用是指能够提供服务的应用,比如业务应用、功能应用等,具体本申请不做限定;服务应用部署在容器上,一个容器可以部署一个或者多个服务应用。
具体地,服务器获取待部署系统的容器,对待部署系统的容器进行分析,得到部署在容器上的服务应用;根据部署在各个容器上的服务应用,确定待部署系统的多个基于容器的服务应用。
步骤S202,对各个基于容器的服务应用进行聚合,得到待部署系统的多个服务集合。
其中,每个服务集合中包括多个功能或者业务相近的服务应用。
具体地,服务器获取各个基于容器的服务应用的应用信息,比如功能信息、业务信息,根据各个基于容器的服务应用的应用信息,将应用信息相似的多个服务应用聚合在一起,得到多个包含有相似应用信息的服务集合,作为待部署系统的多个服务集合。
步骤S203,从多个服务集合中,确定与服务集合处理请求对应的目标服务集合。
其中,服务集合处理请求是指对服务集合进行处理的请求,比如资源配置请求、资源转移请求、服务创建请求等。
具体地,终端响应用户在服务应用处理界面上的触发操作,生成对应的服务集合处理请求,并将服务集合处理请求发送至对应的服务器;服务器对服务集合处理请求进行解析,得到服务集合标识;从多个服务集合中,确定与服务集合标识对应的服务集合,作为与服务集合处理请求对应的目标服务集合。
步骤S204,根据服务集合处理请求,对目标服务集合中的所有服务应用进行处理。
具体地,服务器根据服务集合处理请求,对目标服务集合中的所有服务应用进行批量处理,比如资源转移处理、资源配置请求、服务创建处理、服务销毁处理等。
举例说明,参考图3,通过SA的抽象,将功能或业务相近的一组服务聚合起来,并通过基于Operator和Kubernetes的实现即SA Operator,完成SA在待部署系统上的落地。
上述基于容器技术的服务集合处理方法中,通过获取待部署系统的多个基于容器的服务应用;并对各个基于容器的服务应用进行聚合,得到待部署系统的多个服务集合;然后从多个服务集合中,确定与服务集合处理请求对应的目标服务集合;根据服务集合处理请求,对目标服务集合中的服务应用进行处理;实现了根据一个服务集合处理请求,对目标服务集合中的所有服务应用进行处理的目的,无需多次响应服务应用处理请求,并单独查找对应的服务应用,从而简化了多服务应用的处理流程,进而提高了多服务应用的处理效率。
在一个实施例中,在步骤S202中,对各个基于容器的服务应用进行聚合,得到待部署系统的多个服务集合,包括:获取各个基于容器的服务应用的应用信息;基于各个基于容器的服务应用的应用信息,对各个基于容器的服务应用进行聚类处理,得到多个服务集合;各个服务集合中包括应用信息相似的多个基于容器的服务应用;按照预设顺序,将多个服务集合部署在待部署系统上,得到待部署系统的多个服务集合。
其中,基于容器的服务应用的应用信息,是指基于容器的服务应用的属性信息,比如业务信息、功能信息等。
其中,预设顺序是指服务集合在待部署系统上的部署顺序。
具体地,服务器获取各个基于容器的服务应用的数据,从各个基于容器的服务应用的数据中,提取出各个基于容器的服务应用的应用信息;通过预设的聚类模型,基于各个基于容器的服务应用的应用信息,对各个基于容器的服务应用进行聚类处理,得到多个包含有相似应用信息的服务集合;按照预设顺序,依序将多个服务集合部署在待部署系统上,得到待部署系统的多个服务集合。
在本实施例中,通过对各个基于容器的服务应用进行聚合,得到待部署系统的多个服务集合,有利于后续基于服务集合处理请求,对一个服务集合中的所有服务应用进行批量处理,无需多次响应服务应用处理请求,从而提高了多服务应用的处理效率。
在一个实施例中,在步骤S202中,从多个服务集合中,确定与服务集合处理请求对应的目标服务集合,包括:接收终端发送的服务集合处理请求;服务集合处理请求中携带有服务集合标识;对服务集合处理请求进行验证;若服务集合处理请求验证通过,则从多个服务集合中,确定与服务集合标识对应的服务集合,作为目标服务集合。
其中,服务集合标识是指服务集合的标识信息,比如服务集合名称、服务集合编号等。
具体地,终端响应用户在服务应用处理界面上的触发操作,生成对应的服务集合处理请求,并将服务集合处理请求发送至对应的服务器;服务器根据预设的验证文件,对接收到的服务集合处理请求进行验证,以确认服务集合处理请求是否被篡改;比如获取服务集合处理请求携带的用户标识,若该用户标识与预设用户标识匹配成功,则确认服务集合处理请求验证通过;若服务集合处理请求验证通过,则从多个服务集合中,确定与服务集合标识对应的服务集合,作为目标服务集合。
在本实施例中,通过接收终端发送的服务集合处理请求,并对服务集合处理请求进行验证,若服务集合处理请求验证通过,则从多个服务集合中,确定与服务集合标识对应的目标服务集合,有利于提高服务集合处理的安全性。
在一个实施例中,在步骤S204,根据服务集合处理请求,对目标服务集合中的所有服务应用进行处理,包括:根据服务集合处理请求,确定目标服务集合中的各个服务应用对应的控制处理指令;通过处理指令,对目标服务集合中的各个服务应用进行对应的控制处理。
其中,控制处理指令是指对服务应用进行控制的指令,比如服务创建指令、服务销毁指令、资源转移指令等。
具体地,服务器对服务集合处理请求进行解析,得到目标服务集合中的各个服务应用对应的控制处理指令;根据目标服务集合中的各个服务应用对应的控制处理指令,对目标服务集合中的各个服务应用进行对应的控制处理。
例如,通过SA将系统拆解成具备独立管理能力的若干服务集合,其中,每个服务在SA里都有对应的控制开关;用户可以通过开关的切换操作,实现服务在系统内的创建和销毁;SA的定义兼容Kubernetes的Deployment和Service资源定义,只需少量修改,即可完成Deployment或Service资源向SA迁移,进而兼容Kubernetes资源的自有扩展功能,如资源的扩缩容等。这样,通过SA的抽象,实现了服务级别的管理粒度。
在本实施例中,根据服务集合处理请求,确定目标服务集合中的各个服务应用对应的控制处理指令;通过处理指令,对目标服务集合中的各个服务应用进行对应的控制处理,实现了对服务集合中的服务应用进行批量处理的目的,从而提高了多服务应用的处理效率。
在一个实施例中,本申请提供的基于容器技术的服务集合处理方法,还包括:获取待部署系统的各个服务集合中的所有服务应用的运行状态信息和实例列表信息;分别将待部署系统的各个服务集合中的所有服务应用的运行状态信息和实例列表信息同步至对应的服务集合,得到对应的服务集合的运行状态信息;各个服务集合的运行状态信息包括对应的服务集合中的所有服务应用的运行状态信息和实例列表信息。
进一步地,在得到多个服务集合的运行状态信息之后,服务器还可以查询某个服务集合的运行状态信息,确定该服务集合中的所有服务应用的运行状态信息和实例列表信息。
举例说明,SA内部服务Pod和Service状态变更会一同反馈给SA,用户只需通过查看SA状态,即可监控到SA内所有服务的运行状态和实例列表;这样,通过SA的抽象,实现了服务Pod和Service的统一监控。
在本实施例中,通过服务集合的运行状态信息,可以确定该服务集合中的所有服务应用的运行状态信息和实例列表信息,实现了对服务集合中的所有服务应用进行统一监控的目的。
在一个实施例中,本申请提供的基于容器技术的服务集合处理方法,还包括:接收针对待部署系统的服务集合的处理指令;根据处理指令,对待部署系统的服务集合进行处理,使得服务集合中的所有服务应用均进行相同的处理。
具体地,服务器根据针对待部署系统的服务集合的处理指令,对待部署系统的服务集合进行创建或销毁处理,使得服务集合中的所有服务应用也进行创建或销毁处理。
举例说明,考虑到SA内的应用具备统一的生命周期,故SA的创建和销毁伴随着SA内所有服务的创建和销毁,从而以统一的形态提供给外部服务。
在本实施例中,通过对待部署系统的服务集合进行处理,使得服务集合中的所有服务应用均进行相同的处理,实现了对服务集合中的所有服务应用进行批量处理的目的,进一步提高了多服务应用的处理效率。
在一个实施例中,本申请提供的基于容器技术的服务集合处理方法,还包括:对待部署系统的服务集合中的服务应用进行监控;若监控到待部署系统的服务集合中的服务应用出现异常,则确定服务集合中的服务应用的异常类型;获取与异常类型对应的服务应用修复指令,根据服务应用修复指令,对服务集合中的服务应用进行修复。
其中,服务应用的异常类型用于标识服务集合中的服务应用所发生的异常类型;服务应用修复指令是一种能够自动对服务应用进行修复的指令,不同异常类型,对应的服务应用修复指令不一样。
具体地,服务器根据预设的服务应用监控指令,对待部署系统的服务集合中的服务应用进行监控;若监控到待部署系统的服务集合中的服务应用出现异常,则对服务集合中的服务应用的异常情况进行分析,确定服务集合中的服务应用的异常类型;根据异常类型查询存储有多个异常类型对应的服务应用修复指令的预设数据库,得到与该异常类型对应的服务应用修复指令;将服务应用修复指令发送至对应的服务集合,以对服务集合中的服务应用进行对应的修复,进而使服务集合中的服务应用恢复正常。
举例说明,参考图4,SA具备一定的容错机制,SA内服务的Pod或者Service创建时或运行时异常,SA Operator会监听到对应异常,正常运行的服务数量和预期数不一致时,会自动尝试扩缩容,以完成预期部署服务目标;超过一定数量或时间尝试失败后,会将异常事件录入到日志系统当中,便于后续人工维护。
此外,SA还具备服务之间的依赖管理能力,SA实例可以自定义其资源或服务依赖(不限于SA自身,亦可包括Pod,Service,SA等Kubernetes内部集成资源或CRD扩展资源)。SA创建时,SA Operator会检测其前置依赖条件是否满足,只有在依赖满足的情况下,才能完成后续SA实例的创建。因此,SA的部署,创建和启动可以是有序的,稳定的,可靠的。
此外,SA的多种特性使其具备单独部署、独立扩展、监控和自由组装的能力,为后续实现系统能力的自定义封装提供了技术支撑;而通过SA之间的依赖管理,有效控制SA之间的启动顺序,从而保障了系统能够正确的启动和自恢复。
在本实施例中,在待部署系统的服务集合中的服务应用出现异常的情况下,根据服务集合中的服务应用的异常类型对应的服务应用修复指令,对服务集合中的服务应用进行相应的修复,避免了服务集合中的服务应用出现异常而导致服务请求无法顺利执行的缺陷,进一步提高了服务执行的稳定性。
在一个实施例中,如图5所示,提供了另一种基于容器技术的服务集合处理方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
在步骤S501中,获取待部署系统的多个基于容器的服务应用。
在步骤S502中,获取各个基于容器的服务应用的应用信息。
在步骤S503中,基于各个基于容器的服务应用的应用信息,对各个基于容器的服务应用进行聚类处理,得到多个服务集合;各个服务集合中包括应用信息相似的多个基于容器的服务应用。
在步骤S504中,按照预设顺序,将多个服务集合部署在待部署系统上,得到待部署系统的多个服务集合。
在步骤S505中,接收终端发送的服务集合处理请求;服务集合处理请求中携带有服务集合标识。
在步骤S506中,对服务集合处理请求进行验证。
在步骤S507中,若服务集合处理请求验证通过,则从多个服务集合中,确定与服务集合标识对应的服务集合,作为目标服务集合。
在步骤S508中,根据服务集合处理请求,确定目标服务集合中的各个服务应用对应的控制处理指令。
在步骤S509中,通过控制处理指令,对目标服务集合中的各个服务应用进行对应的控制处理。
在本实施例中,实现了根据一个服务集合处理请求,对目标服务集合中的所有服务应用进行处理的目的,无需多次响应服务应用处理请求,并单独查找对应的服务应用,从而简化了多服务应用的处理流程,进而提高了多服务应用的处理效率。
应该理解的是,虽然图2、5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种基于容器技术的服务集合处理装置,包括:服务应用获取模块610、服务应用聚合模块620、服务集合确定模块630和服务应用处理模块640,其中:
服务应用获取模块610,用于获取待部署系统的多个基于容器的服务应用。
服务应用聚合模块620,用于对各个基于容器的服务应用进行聚合,得到待部署系统的多个服务集合。
服务集合确定模块630,用于从多个服务集合中,确定与服务集合处理请求对应的目标服务集合。
服务应用处理模块640,用于根据服务集合处理请求,对目标服务集合中的所有服务应用进行处理。
上述基于容器技术的服务集合处理装置,通过获取待部署系统的多个基于容器的服务应用;并对各个基于容器的服务应用进行聚合,得到待部署系统的多个服务集合;然后从多个服务集合中,确定与服务集合处理请求对应的目标服务集合;根据服务集合处理请求,对目标服务集合中的服务应用进行处理;实现了根据一个服务集合处理请求,对目标服务集合中的所有服务应用进行处理的目的,无需多次响应服务应用处理请求,并单独查找对应的服务应用,从而简化了多服务应用的处理流程,进而提高了多服务应用的处理效率。
在一个实施例中,服务应用聚合模块620,还用于获取各个基于容器的服务应用的应用信息;基于各个基于容器的服务应用的应用信息,对各个基于容器的服务应用进行聚类处理,得到多个服务集合;各个服务集合中包括应用信息相似的多个基于容器的服务应用;按照预设顺序,将多个服务集合部署在待部署系统上,得到待部署系统的多个服务集合。
在一个实施例中,服务集合确定模块630,还用于接收终端发送的服务集合处理请求;服务集合处理请求中携带有服务集合标识;对服务集合处理请求进行验证;若服务集合处理请求验证通过,则从多个服务集合中,确定与服务集合标识对应的服务集合,作为目标服务集合。
在一个实施例中,服务应用处理模块640,还用于根据服务集合处理请求,确定目标服务集合中的各个服务应用对应的控制处理指令;通过控制处理指令,对目标服务集合中的各个服务应用进行对应的控制处理。
在一个实施例中,基于容器技术的服务集合处理装置还包括状态信息获取模块,用于获取待部署系统的各个服务集合中的所有服务应用的运行状态信息和实例列表信息;分别将待部署系统的各个服务集合中的所有服务应用的运行状态信息和实例列表信息同步至对应的服务集合,得到对应的服务集合的运行状态信息;各个服务集合的运行状态信息包括对应的服务集合中的所有服务应用的运行状态信息和实例列表信息。
在一个实施例中,基于容器技术的服务集合处理装置还包括处理模块,用于接收针对待部署系统的服务集合的处理指令;根据处理指令,对待部署系统的服务集合进行处理,使得服务集合中的所有服务应用均进行相同的处理。
在一个实施例中,基于容器技术的服务集合处理装置还包括修复模块,用于对待部署系统的服务集合中的服务应用进行监控;若监控到待部署系统的服务集合中的服务应用出现异常,则确定服务集合中的服务应用的异常类型;获取与异常类型对应的服务应用修复指令,根据服务应用修复指令,对服务集合中的服务应用进行修复。
关于基于容器技术的服务集合处理装置的具体限定可以参见上文中对于基于容器技术的服务集合处理方法的限定,在此不再赘述。上述基于容器技术的服务集合处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于容器的服务应用、服务集合等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于容器技术的服务集合处理方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取待部署系统的多个基于容器的服务应用;
对各个基于容器的服务应用进行聚合,得到待部署系统的多个服务集合;
从多个服务集合中,确定与服务集合处理请求对应的目标服务集合;
根据服务集合处理请求,对目标服务集合中的所有服务应用进行处理。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取各个基于容器的服务应用的应用信息;基于各个基于容器的服务应用的应用信息,对各个基于容器的服务应用进行聚类处理,得到多个服务集合;各个服务集合中包括应用信息相似的多个基于容器的服务应用;按照预设顺序,将多个服务集合部署在待部署系统上,得到待部署系统的多个服务集合。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收终端发送的服务集合处理请求;服务集合处理请求中携带有服务集合标识;对服务集合处理请求进行验证;若服务集合处理请求验证通过,则从多个服务集合中,确定与服务集合标识对应的服务集合,作为目标服务集合。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据服务集合处理请求,确定目标服务集合中的各个服务应用对应的控制处理指令;通过控制处理指令,对目标服务集合中的各个服务应用进行对应的控制处理。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取待部署系统的各个服务集合中的所有服务应用的运行状态信息和实例列表信息;分别将待部署系统的各个服务集合中的所有服务应用的运行状态信息和实例列表信息同步至对应的服务集合,得到对应的服务集合的运行状态信息;各个服务集合的运行状态信息包括对应的服务集合中的所有服务应用的运行状态信息和实例列表信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收针对待部署系统的服务集合的处理指令;根据处理指令,对待部署系统的服务集合进行处理,使得服务集合中的所有服务应用均进行相同的处理。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对待部署系统的服务集合中的服务应用进行监控;若监控到待部署系统的服务集合中的服务应用出现异常,则确定服务集合中的服务应用的异常类型;获取与异常类型对应的服务应用修复指令,根据服务应用修复指令,对服务集合中的服务应用进行修复。
上述各个实施例,计算机设备通过处理器上运行的计算机程序,实现了根据一个服务集合处理请求,对目标服务集合中的所有服务应用进行处理的目的,无需多次响应服务应用处理请求,并单独查找对应的服务应用,从而简化了多服务应用的处理流程,进而提高了多服务应用的处理效率。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取待部署系统的多个基于容器的服务应用;
对各个基于容器的服务应用进行聚合,得到待部署系统的多个服务集合;
从多个服务集合中,确定与服务集合处理请求对应的目标服务集合;
根据服务集合处理请求,对目标服务集合中的所有服务应用进行处理。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取各个基于容器的服务应用的应用信息;基于各个基于容器的服务应用的应用信息,对各个基于容器的服务应用进行聚类处理,得到多个服务集合;各个服务集合中包括应用信息相似的多个基于容器的服务应用;按照预设顺序,将多个服务集合部署在待部署系统上,得到待部署系统的多个服务集合。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收终端发送的服务集合处理请求;服务集合处理请求中携带有服务集合标识;对服务集合处理请求进行验证;若服务集合处理请求验证通过,则从多个服务集合中,确定与服务集合标识对应的服务集合,作为目标服务集合。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据服务集合处理请求,确定目标服务集合中的各个服务应用对应的控制处理指令;通过控制处理指令,对目标服务集合中的各个服务应用进行对应的控制处理。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取待部署系统的各个服务集合中的所有服务应用的运行状态信息和实例列表信息;分别将待部署系统的各个服务集合中的所有服务应用的运行状态信息和实例列表信息同步至对应的服务集合,得到对应的服务集合的运行状态信息;各个服务集合的运行状态信息包括对应的服务集合中的所有服务应用的运行状态信息和实例列表信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收针对待部署系统的服务集合的处理指令;根据处理指令,对待部署系统的服务集合进行处理,使得服务集合中的所有服务应用均进行相同的处理。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对待部署系统的服务集合中的服务应用进行监控;若监控到待部署系统的服务集合中的服务应用出现异常,则确定服务集合中的服务应用的异常类型;获取与异常类型对应的服务应用修复指令,根据服务应用修复指令,对服务集合中的服务应用进行修复。
上述各个实施例,计算机可读存储介质通过其存储的计算机程序,实现了根据一个服务集合处理请求,对目标服务集合中的所有服务应用进行处理的目的,无需多次响应服务应用处理请求,并单独查找对应的服务应用,从而简化了多服务应用的处理流程,进而提高了多服务应用的处理效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
- 基于容器技术的服务集合处理方法、装置和计算机设备
- 基于路由的微服务处理方法、装置、计算机设备和介质