掌桥专利:专业的专利平台
掌桥专利
首页

一种客户端依赖关系处理方法及相关装置

文献发布时间:2023-06-19 09:24:30


一种客户端依赖关系处理方法及相关装置

技术领域

本申请涉及计算机技术领域,特别涉及一种客户端依赖关系处理方法、客户端依赖关系处理装置、服务器以及计算机可读存储介质。

背景技术

随着信息技术的不断发展,在计算机技术领域不断出现了各种各样的计算技术。其中,Docker容器技术使得开发者将应用及其依赖包打包至同一个镜像中,使其可以在任何流行的环境中运行例如window、linux;kubernetes使得部署容器化的应用过程变得简单且高效。

但是,随着容器设置的客户端越来越复杂,导致客户端使用过程中性能极低,降低硬件的利用率。

因此,如何提高客户端的性能利用率是本领域技术人员关注的重点问题。

发明内容

本申请的目的是提供一种客户端依赖关系处理方法、客户端依赖关系处理装置、服务器以及计算机可读存储介质,通过将第一客户端和第二客户端设置在不同的容器中,然后通过共享目录使第二客户端获取到对第一客户端的依赖,而不是将第一客户端和第二客户端部署在同一个容器中,降低了单个容器占用的硬件资源,提高了性能利用率。

为解决上述技术问题,本申请提供一种客户端依赖关系处理方法,包括:

将第一客户端容器部署于第二客户端容器的POD中;

将所述第一客户端容器中第一客户端所在的目录设置为共享目录;

操作所述第二客户端通过所述共享目录设置对所述第一客户端的依赖关系。

可选的,还包括:

根据下载的第一客户端构建出所述第一客户端容器镜像;

相应的,将所述第一客户端容器部署于所述第二客户端容器的POD中,包括:

通过所述第一客户端容器镜像将所述第一客户端容器部署于所述第二客户端容器的POD中。

可选的,在所述将第一客户端容器部署于第二客户端容器的POD中的步骤之前,还包括:

根据接收到的配置信息对所述第一客户端容器执行配置操作。

可选的,在所述将第一客户端容器部署于第二客户端容器的POD中的步骤之前,还包括:

根据资源限制数据对所述第一客户端容器的使用资源进行限制处理。

本申请还提供一种客户端依赖关系处理装置,包括:

容器部署模块,用于将第一客户端容器部署于第二客户端容器的POD中;

共享目录设置模块,用于将所述第一客户端容器中第一客户端所在的目录设置为共享目录;

依赖获取模块,用于操作所述第二客户端通过所述共享目录设置对所述第一客户端的依赖关系。

可选的,还包括:

镜像构建模块,用于根据下载的第一客户端构建出所述第一客户端容器镜像。

可选的,还包括:

配置模块,用于根据接收到的配置信息对所述第一客户端容器执行配置操作。

可选的,还包括:

资源限制模块,用于根据资源限制数据对所述第一客户端容器的使用资源进行限制处理。

本申请还提供一种服务器,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上所述的客户端依赖关系处理方法的步骤。

本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的客户端依赖关系处理方法的步骤。

本申请所提供的一种客户端依赖关系处理方法,包括:将第一客户端容器部署于第二客户端容器的POD中;将所述第一客户端容器中第一客户端所在的目录设置为共享目录;操作所述第二客户端通过所述共享目录设置对所述第一客户端的依赖关系。

通过将第一客户端和第二客户端设置在不同的容器中,然后通过共享目录使第二客户端获取到对第一客户端的依赖,而不是将第一客户端和第二客户端部署在同一个容器中,降低了单个容器占用的硬件资源,提高了性能利用率。

本申请还提供一种客户端依赖关系处理装置、服务器以及计算机可读存储介质,具有以上有益效果,在此不作赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的一种客户端依赖关系处理方法的流程图;

图2为本申请实施例所提供的一种客户端依赖关系处理装置的结构示意图。

具体实施方式

本申请的核心是提供一种客户端依赖关系处理方法、客户端依赖关系处理装置、服务器以及计算机可读存储介质,通过将第一客户端和第二客户端设置在不同的容器中,然后通过共享目录使第二客户端获取到对第一客户端的依赖,而不是将第一客户端和第二客户端部署在同一个容器中,降低了单个容器占用的硬件资源,提高了性能利用率。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

现有技术中,将Hadoop客户端放在所需要部署的应用镜像中,但是会导致部署应用的镜像非常大,不利于镜像的下载和上传。通过初始化容器下载Hadoop客户端之后映射到主机上然后共享给需要部署的应用,会存在应用部署的所有主机上有依赖的客户端,如果应用被回收,而客户端依旧存在于主机上。可见,现有技术中将主客户端和依赖客户端同时部署在一个容器时,导致该容器占用的资源过大,降低了资源利用率。

因此,本申请提供一种客户端依赖关系处理方法,通过将第一客户端和第二客户端设置在不同的容器中,然后通过共享目录使第二客户端获取到对第一客户端的依赖,而不是将第一客户端和第二客户端部署在同一个容器中,降低了单个容器占用的硬件资源,提高了性能利用率。

以下通过一个实施例,对本申请提供的一种客户端依赖关系处理方法进行说明。

请参考图1,图1为本申请实施例所提供的一种客户端依赖关系处理方法的流程图。

本实施例中,该方法可以包括:

S101,将第一客户端容器部署于第二客户端容器的POD中;

本步骤旨在将第一客户端容器部署在第二客户端容器的POD中。

其中,第一客户端容器为只设置有第一客户端的容器,该第一客户端为被依赖的客户端。第二客户端容器为只设置有第二客户端的容器,该第二客户端为主要的客户端。一般的是,该第二客户端依赖于该第一客户端。

其中,POD是在Kubernetes集群中所有业务类型的基础,也是K8S管理的最小单位级,它是一个或多个容器的组合。很显然,本步骤中是将第一客户端容器部署于第二客户端容器的POD中,也就是将第一客户端容器和第二客户端容器同时部署于一个POD中,并且使第一客户端和第二客户端在不同的容器中,避免单个容器占用过多的硬件资源。

为了进一步提高本实施例中的部署容器的效率,本实施例还可以包括:

根据下载的第一客户端构建出第一客户端容器镜像。

相应的,本步骤可以包括:

通过第一客户端容器镜像将第一客户端容器部署于第二客户端容器的POD中。

可见,本可选方案中还需要直接下载到第一客户端,并且根据该第一客户端构建出第一客户端容器镜像。其中,根据第一客户端构建出第一客户端容器镜像的方法可以参考现有技术提供的任意一种容器镜像构建方法,在此不做具体限定。

当获取到第一客户端容器镜像后,就可以通过第一客户端容器镜像将第一客户端容器部署于第二客户端容器的POD中。其中,通过第一客户端容器镜像将第一客户端部署于第二客户端容器的POD中的具体方式可以采用现有技术提供的任意一种部署方法,在此不做具体限定。

S102,将第一客户端容器中第一客户端所在的目录设置为共享目录;

在S101的基础上,本步骤旨在将第一客户端容器中第一客户端所在的目录设置为共享目录。

也就是,在POD的基础上,将第一客户端容器中的第一客户端所在的目录设置在该POD中的共享目录,使得该POD中的所有容器均可以通过该共享目录访问到该目录中的内容,也就是第一客户端。也就是说,通过该共享目录可以实现获取到相同的第一客户端。

S103,操作第二客户端通过共享目录设置对第一客户端的依赖关系。

在S102的基础上,本步骤旨在操作第二客户端通过共享目录设置对第一客户端的依赖关系。

其中,依赖是指不同客户端中依赖关系。例如,Hive组件在使用过程中依赖于Hadoop客户端,Hbase也依赖于Hadoop客户端。现有技术中,为了客户端存在正确的依赖关系,通常是把相互依赖的客户端安装在同一个容器中,以便主要的客户端可以获取到的依赖的客户端,但是会导致单个容器占用过多的硬件资源。因此,本实施例中的将客户端之间通过容器分隔开来,然后以共享目录将客户端进行暴露,实现其他客户端获取到该客户端的依赖。

其中,第二客户端容器部署的POD中,可以是一个第二客户端,还可以是多个其他客户端。当这些多个客户端均需要第一客户端的依赖时,不用再部署新的客户端,只需要通过共享目录获取到该第一客户端的依赖即可,可见,极大的降低了安装第一客户端的数量,也降低了第一客户端占用的硬件资源。

本实施例,还可以包括:

根据接收到的配置信息对第一客户端容器执行配置操作。

可见,本可选方案中还可以根据接收到的配置信息对第一客户端容器执行配置操作。其中,配置信息主要是指用户通过输入设置向计算机输入的配置信息。

本实施例,还可以包括:

根据资源限制数据对第一客户端容器的使用资源进行限制处理。

可见,本可选方案中还可以根据资源限制数据对第一客户端容器的使用资源进行限制处理,也就是将第一客户端容器的硬件资源进行限制,避免第一客户端占用过多的硬件资源,提高硬件资源的利用率。

综上,本实施例通过将第一客户端和第二客户端设置在不同的容器中,然后通过共享目录使第二客户端获取到对第一客户端的依赖,而不是将第一客户端和第二客户端部署在同一个容器中,降低了单个容器占用的硬件资源,提高了性能利用率。

以下通过一个具体的实施例,对本申请提供的一种客户端依赖关系处理方法进行说明。

本实施例中,以Hive客户端依赖Hadoop客户端为例进行说明。该方法可以包括:

步骤1,通过选定的客户端自动构建客户端镜像,将客户端文件放置在一个指定位置,以达到复用,只要指定下载客户端类型即可构建相应客户端镜像。

步骤2,通过在页面修改配置,从而达到对Hadoop客户端容器的配置进行动态修改。

步骤3,通过此模块动态调整Hadoop客户端容器所占用的资源,避免资源浪费。

步骤4,将Hadoop客户端容器中设置有Hadoop客户端的目录变成一个共享目录,与部署的Hive应用容器共享,使得Hive容器启动服务时就能找到依赖的Hadoop客户端。

可见,本实施例通过将第一客户端和第二客户端设置在不同的容器中,然后通过共享目录使第二客户端获取到对第一客户端的依赖,而不是将第一客户端和第二客户端部署在同一个容器中,降低了单个容器占用的硬件资源,提高了性能利用率。

下面对本申请实施例提供的客户端依赖关系处理装置进行介绍,下文描述的客户端依赖关系处理装置与上文描述的客户端依赖关系处理方法可相互对应参照。

请参考图2,图2为本申请实施例所提供的一种客户端依赖关系处理装置的结构示意图。

本实施例中,该装置可以包括:

容器部署模块100,用于将第一客户端容器部署于第二客户端容器的POD中;

共享目录设置模块200,用于将第一客户端容器中第一客户端所在的目录设置为共享目录;

依赖获取模块300,用于操作第二客户端通过共享目录设置对第一客户端的依赖关系。

可选的,该装置还可以包括:

镜像构建模块,用于根据下载的第一客户端构建出第一客户端容器镜像。

可选的,该装置还可以包括:

配置模块,用于根据接收到的配置信息对第一客户端容器执行配置操作。

可选的,该装置还可以包括:

资源限制模块,用于根据资源限制数据对第一客户端容器的使用资源进行限制处理。

本申请实施例还体提供一种服务器,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如以上实施例所述的客户端依赖关系处理方法的步骤。

本申请实施例还体提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上实施例所述的客户端依赖关系处理方法的步骤。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的一种客户端依赖关系处理方法、客户端依赖关系处理装置、服务器以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

相关技术
  • 一种客户端依赖关系处理方法及相关装置
  • 一种确定服务间依赖关系的方法及相关装置
技术分类

06120112149522