首页 / 专利库 / 电脑零配件 / 计算机系统 / 硬件 / 中央处理器 / 一种构建网盘服务镜像及部署网盘服务的方法及装置

一种构建网盘服务镜像及部署网盘服务的方法及装置

阅读:91发布:2024-01-09

专利汇可以提供一种构建网盘服务镜像及部署网盘服务的方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 实施例 提供了一种构建网盘服务镜像及部署网盘服务的方法及装置,其中,构建网盘服务镜像的方法,应用于服务供应商 服务器 ,该方法包括:获得运行各个目标服务所需的第一代码,其中,所述各个目标服务为目标网盘服务器所需部署的服务;所述第一代码为具有可变性的代码;将所述第一代码写入预先构建的镜像文件中,得到包含所述各个目标服务的目标镜像,其中,所述镜像文件包含运行所述各个目标服务所需要的第二代码,所述第二代码为支持所述第一代码运行的、具有不变性的代码。应用本发明实施例,缩短了构建网盘服务镜像的周期,提高了构建网盘服务镜像的速度。,下面是一种构建网盘服务镜像及部署网盘服务的方法及装置专利的具体信息内容。

1.一种构建网盘服务镜像的方法,其特征在于,应用于服务供应商服务器,所述方法包括:
获得运行各个目标服务所需的第一代码,其中,所述各个目标服务为目标网盘服务器所需部署的服务;所述第一代码为具有可变性的代码;
将所述第一代码写入预先构建的镜像文件中,得到包含所述各个目标服务的目标镜像,其中,所述镜像文件包含运行所述各个目标服务所需要的第二代码,所述第二代码为支持所述第一代码运行的、具有不变性的代码。
2.根据权利要求1所述的方法,其特征在于,预先构建所述镜像文件的步骤包括:
在用于构建镜像的操作系统镜像中添加所述各个目标服务的系统用户,以及所述各个目标服务对应的工作目录,获得第一层镜像;
在所述第一层镜像上配置所述各个目标服务所需要的本地化环境和基础软件包,获得第二层镜像;
在所述第二层镜像上安装构建所述各个目标服务所需要基础组件,获得第三层镜像;
在所述第三层镜像中的基础组件上安装所述各个目标服务对应的软件包,以将所述基础组件组成复合组件,获得第四层镜像;
在所述第四层镜像上写入运行所述各个目标服务所需的配置信息和依赖包,获得镜像文件。
3.根据权利要求2所述的方法,其特征在于,在所述第四层镜像上写入运行所述各个目标服务所需的配置信息和依赖包前,还包括:
从公共配置版本库拉取各个目标服务所需的配置信息和依赖包。
4.根据权利要求3所述的方法,其特征在于,所述配置信息包括各个目标服务的版本信息和运行环境信息。
5.根据权利要求2所述的方法,其特征在于,所述操作系统镜像为Linux操作系统镜像。
6.一种部署网盘服务的方法,其特征在于,应用于网盘服务器,所述方法包括:
基于预先安装至所述网盘服务器的网盘播种器,获得所述网盘服务器的配置参数以及需要安装的目标服务的标识信息;
基于所述标识信息,获得包含所述目标服务的目标镜像,其中,所述目标镜像为服务供应商服务器根据权利要求1-5任一项所述的构建网盘服务镜像的方法所构建的;
运行所述目标镜像,并将所述配置参数写入所述目标镜像,获得目标docker容器;
基于所述目标docker容器为所述网盘服务器部署所述目标服务。
7.根据权利要求6所述的方法,其特征在于,所述配置参数包括:
所述网盘服务器的内存大小和中央处理器CPU核数。
8.根据权利要求6所述的方法,其特征在于,所述基于所述标识信息,获得包含所述目标服务的目标镜像的步骤,包括:
基于所述标识信息,从所述服务供应商服务器获取包含所述目标服务的目标镜像。
9.一种构建网盘服务镜像的装置,其特征在于,应用于服务供应商服务器,所述装置包括:
构建单元,用于预先构建镜像文件;
第一获得单元,用于获得运行各个目标服务所需的第一代码,其中,所述各个目标服务为目标网盘服务器所需部署的服务;所述第一代码为具有可变性的代码;
写入单元,用于将所述第一代码写入所述构建单元所预先构建的镜像文件中,得到包含所述各个目标服务的目标镜像,其中,所述镜像文件包含运行所述各个目标服务所需要的第二代码,所述第二代码为支持所述第一代码运行的、具有不变性的代码。
10.根据权利要求9所述的装置,其特征在于,所述构建单元预先构建所述镜像文件的步骤包括:
在用于构建镜像的操作系统镜像中添加所述各个目标服务的系统用户,以及所述各个目标服务对应的工作目录,获得第一层镜像;
在所述第一层镜像上配置所述各个目标服务所需要的本地化环境和基础软件包,获得第二层镜像;
在所述第二层镜像上安装构建所述各个目标服务所需要基础组件,获得第三层镜像;
在所述第三层镜像中的基础组件上安装所述各个目标服务对应的软件包,以将所述基础组件组成复合组件,获得第四层镜像;
在所述第四层镜像上写入运行所述各个目标服务所需的配置信息和依赖包,获得镜像文件。
11.根据权利要求10所述的装置,其特征在于,还包括:
提取单元,用于在所述第四层镜像上写入运行所述各个目标服务所需的配置信息和依赖包前,从公共配置版本库拉取各个目标服务所需的配置信息和依赖包。
12.根据权利要求11所述的装置,其特征在于,所述配置信息包括各个目标服务的版本信息和运行环境信息。
13.根据权利要求10所述的装置,其特征在于,所述操作系统镜像为Linux操作系统镜像。
14.一种部署网盘服务的装置,其特征在于,应用于网盘服务器,所述装置包括:
第二获得单元,用于基于预先安装至所述网盘服务器的网盘播种器,获得所述网盘服务器的配置参数以及需要安装的目标服务的标识信息;
第三获得单元,用于基于所述标识信息,获得包含所述目标服务的目标镜像,其中,所述目标镜像为服务供应商服务器根据权利要求9-13任一项所述的构建网盘服务镜像的装置所构建的;
第四获得单元,用于运行所述目标镜像,并将所述配置参数写入所述目标镜像,获得目标docker容器;
部署单元,用于基于所述目标docker容器为所述网盘服务器部署所述目标服务。
15.根据权利要求14所述的装置,其特征在于,所述第二获得单元所获取的配置参数,包括:
所述网盘服务器的内存大小和中央处理器CPU核数。
16.根据权利要求14所述的方法,其特征在于,所述第三获得单元具体用于:
基于所述标识信息,从所述服务供应商服务器获取包含所述目标服务的目标镜像。

说明书全文

一种构建网盘服务镜像及部署网盘服务的方法及装置

技术领域

[0001] 本发明涉及运维技术领域,特别是涉及一种构建网盘服务镜像及部署网盘服务的方法及装置。

背景技术

[0002] 随着网络技术的发展,人们越来越趋向于使用网盘对文件进行存储。其中,网盘是网盘提供商提供给用户使用的网盘服务器的磁盘空间,用户可以通过互联网将文件上传至网盘,也可以从网盘中下载文件,并可以删除预先创建在网盘中的文件夹,并且网盘还可以提供文件智能分类浏览、视频在线播放、文件在线解压缩等功能。
[0003] 其中,网盘提供商所提供的上传、下载、删除等网盘服务,常需要向服务供应商购买包含这些网盘服务的镜像,并根据镜像生成docker容器,从而通过docker容器为网盘服务器部署服务。
[0004] 但是,每当服务供应商需要对这些网盘服务进行升级时,服务供应商都需要从能够构建镜像的操作系统镜像开始构建,并需要在该操作系统镜像上添加构建这些网盘服务所需的所有代码,构建周期较长,无法满足快速构建网盘服务镜像的需求。

发明内容

[0005] 本发明实施例的目的在于提供一种构建网盘服务镜像及部署网盘服务的方法及装置,以缩短构建网盘服务镜像的周期,实现快速地构建网盘服务镜像。
[0006] 第一方面,本发明实施例提供了一种构建网盘服务镜像的方法,应用于服务供应商服务器,所述方法可以包括:
[0007] 获得运行各个目标服务所需的第一代码,其中,所述各个目标服务为目标网盘服务器所需部署的服务;所述第一代码为具有可变性的代码;
[0008] 将所述第一代码写入预先构建的镜像文件中,得到包含所述各个目标服务的目标镜像,其中,所述镜像文件包含运行所述各个目标服务所需要的第二代码,所述第二代码为支持所述第一代码运行的、具有不变性的代码。
[0009] 可选地于,预先构建所述镜像文件的步骤可以包括:
[0010] 在用于构建镜像的操作系统镜像中添加所述各个目标服务的系统用户,以及所述各个目标服务对应的工作目录,获得第一层镜像;
[0011] 在所述第一层镜像上配置所述各个目标服务所需要的本地化环境和基础软件包,获得第二层镜像;
[0012] 在所述第二层镜像上安装构建所述各个目标服务所需要基础组件,获得第三层镜像;
[0013] 在所述第三层镜像中的基础组件上安装所述各个目标服务对应的软件包,以将所述基础组件组成复合组件,获得第四层镜像;
[0014] 在所述第四层镜像上写入运行所述各个目标服务所需的配置信息和依赖包,获得镜像文件。
[0015] 可选地,在所述第四层镜像上写入运行所述各个目标服务所需的配置信息和依赖包前,还包括:
[0016] 从公共配置版本库拉取各个目标服务所需的配置信息和依赖包。
[0017] 可选地,所述配置信息包括各个目标服务的版本信息和运行环境信息。
[0018] 可选地,所述操作系统镜像为Linux操作系统镜像。
[0019] 第二方面,本发明实施例提供了一种部署网盘服务的方法,应用于网盘服务器,所述方法可以包括:
[0020] 基于预先安装至所述网盘服务器的网盘播种器,获得所述网盘服务器的配置参数以及需要安装的目标服务的标识信息;
[0021] 基于所述标识信息,获得包含所述目标服务的目标镜像,其中,所述目标镜像为服务供应商服务器根据第一方面任一项所述的构建网盘服务镜像的方法所构建的;
[0022] 运行所述目标镜像,并将所述配置参数写入所述目标镜像,获得目标docker容器;
[0023] 基于所述目标docker容器为所述网盘服务器部署所述目标服务。
[0024] 可选地,所述配置参数可以包括:
[0025] 所述网盘服务器的内存大小和中央处理器CPU核数。
[0026] 可选地,所述基于所述标识信息,获得包含所述目标服务的目标镜像的步骤,可以包括:
[0027] 基于所述标识信息,从所述服务供应商服务器获取包含所述目标服务的目标镜像。
[0028] 第三方面,本发明实施例提供了一种构建网盘服务镜像的装置,应用于服务供应商服务器,所述装置可以包括:
[0029] 构建单元,用于预先构建镜像文件;
[0030] 第一获得单元,用于获得运行各个目标服务所需的第一代码,其中,所述各个目标服务为目标网盘服务器所需部署的服务;所述第一代码为具有可变性的代码;
[0031] 写入单元,用于将所述第一代码写入所述构建单元所预先构建的镜像文件中,得到包含所述各个目标服务的目标镜像,其中,所述镜像文件包含运行所述各个目标服务所需要的第二代码,所述第二代码为支持所述第一代码运行的、具有不变性的代码。
[0032] 可选地,所述构建单元预先构建所述镜像文件的步骤可以包括:
[0033] 在用于构建镜像的操作系统镜像中添加所述各个目标服务的系统用户,以及所述各个目标服务对应的工作目录,获得第一层镜像;
[0034] 在所述第一层镜像上配置所述各个目标服务所需要的本地化环境和基础软件包,获得第二层镜像;
[0035] 在所述第二层镜像上安装构建所述各个目标服务所需要基础组件,获得第三层镜像;
[0036] 在所述第三层镜像中的基础组件上安装所述各个目标服务对应的软件包,以将所述基础组件组成复合组件,获得第四层镜像;
[0037] 在所述第四层镜像上写入运行所述各个目标服务所需的配置信息和依赖包,获得镜像文件。
[0038] 可选,本发明实施例提供的构建网盘服务镜像的装置,还可以包括:
[0039] 提取单元,用于在所述第四层镜像上写入运行所述各个目标服务所需的配置信息和依赖包前,从公共配置版本库拉取各个目标服务所需的配置信息和依赖包。
[0040] 可选地,所述配置信息可以包括各个目标服务的版本信息和运行环境信息。
[0041] 可选地,所述操作系统镜像为Linux操作系统镜像。
[0042] 第四方面,本发明实施例提供了一种部署网盘服务的装置,应用于网盘服务器,所述装置可以包括:
[0043] 第二获得单元,用于基于预先安装至所述网盘服务器的网盘播种器,获得所述网盘服务器的配置参数以及需要安装的目标服务的标识信息;
[0044] 第三获得单元,用于基于所述标识信息,获得包含所述目标服务的目标镜像,其中,所述目标镜像为服务供应商服务器第三方面任一项所述的构建网盘服务镜像的装置所构建的;
[0045] 第四获得单元,用于运行所述目标镜像,并将所述配置参数写入所述目标镜像,获得目标docker容器;
[0046] 部署单元,用于基于所述目标docker容器为所述网盘服务器部署所述目标服务。
[0047] 可选地于,所述第二获得单元所获取的配置参数,包括:
[0048] 所述网盘服务器的内存大小和中央处理器CPU核数。
[0049] 可选地,所述第三获得单元具体用于:
[0050] 基于所述标识信息,从所述服务供应商服务器获取包含所述目标服务的目标镜像。
[0051] 在本发明实施例中,当服务供应商需要对网盘服务中的目标服务进行构建时,仅需要获得构建各个目标服务具有可变性的第一代码,并将该第一代码写入预先构建的镜像文件中,其中,该镜像文件中包含支持所述第一代码运行的具有不变性的第二代码。这样,可快速地构建包含各个目标服务的目标镜像,因此,极大地提升了构建目标镜像的速度。附图说明
[0052] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0053] 图1为本发明实施例提供的一种构建网盘服务镜像的方法流程图
[0054] 图2为本发明实施例提供的一种构建目标镜像的方法示意图;
[0055] 图3为本发明实施例提供的一种部署网盘服务的方法流程图;
[0056] 图4为本发明实施例提供的一种部署网盘服务的方法示意图;
[0057] 图5为本发明实施例提供的另一种部署网盘服务的方法示意图;
[0058] 图6为本发明实施例提供的一种构建网盘服务镜像的装置结构示意图;
[0059] 图7为本发明实施例提供的一种部署网盘服务的装置结构示意图。

具体实施方式

[0060] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0061] 为了解决现有技术问题,本发明实施例提供了一种构建网盘服务镜像及部署网盘服务的方法及装置。
[0062] 需要说明的是,所述构建网盘服务镜像的方法的执行主体为:需要构建目标镜像(即网盘服务镜像)的服务器。以在构建得到所述目标镜像后,利用所述目标镜像在网盘服务器上部署目标docker容器,进而通过所述目标docker容器在所述网盘服务器上部署目标服务。
[0063] 其中,实现本发明实施例构建网盘服务镜像的方法的功能软件可以为:设置于所述服务器中专用于构建网盘服务镜像的软件,也可以为:设置于所述服务器中用于构建网盘服务镜像的软件的功能插件。其中,所述服务器包括但并不局限于服务供应商服务器。
[0064] 下面首先对本发明实施例提供了一种构建网盘服务镜像的方法进行介绍。
[0065] 如图1所示,本发明实施例提供的一种构建网盘服务镜像的方法,应用于服务供应商服务器,所述方法可以包括如下步骤:
[0066] S101:获得运行各个目标服务所需的第一代码,其中,所述各个目标服务为目标网盘服务器所需部署的服务;所述第一代码为具有可变性的代码;
[0067] 其中,服务供应商常常需要给网盘供应商提供网盘服务,该网盘服务包括上传文件、下载文件和删除文件等目标服务,以使网盘供应商能在网盘供应商服务器(即目标网盘服务器)上部署这些目标服务。
[0068] 举例而言,当需要构建上传文件服务和下载文件服务时,需要获得能够运行该上传文件服务所需的第一代码,以及运行该下载文件服务所需的第一代码。
[0069] 需要说明的是,所述上传文件服务所需的第一代码,为实现所述上传文件服务的可变性代码,其中,该第一代码至少包含用于实现所述上传文件服务的上传文件功能的代码。
[0070] 例如,当实现所述上传文件功能的步骤发生改变时,所述第一代码也发生相应改变。同理,所述下载文件所需的第一代码,为实现所述下载服务的可变性代码,在此不做赘述。
[0071] 另外,当需要改进所述上传文件服务的上传文件性能时,所述第一代码也会发生相应改变。也就是说,任一目标服务所对应的第一代码与该目标服务所要实现的功能相适应。
[0072] S102:将所述第一代码写入预先构建的镜像文件中,得到包含所述各个目标服务的目标镜像,其中,所述镜像文件包含运行所述各个目标服务所需要的第二代码,所述第二代码为支持所述第一代码运行的、具有不变性的代码。
[0073] 举例而言,在获得上传文件服务所对应的第一代码,以及下载文件服务所对应的第一代码后,将所获得的第一代码写入预先构建的镜像文件中,获得包含上传文件服务和下载文件服务的目标镜像,极大的提高了构建目标镜像的速度。
[0074] 需要说明的是,所述预先构建的镜像文件中包含运行所述上传文件服务所需的基本代码(即支持所述上传文件服务所对应的第一代码运行的、具有不变性的第二代码),和运行所述下载文件服务所需的基本代码(即支持所述下载文件服务所对应的第一代码运行的、具有不变性的第二代码)。
[0075] 值得说明的是,当服务供应商需要对网盘服务中的任一服务进行升级时,将该服务升级后所对应的服务作为目标服务,此时仅需要获得运行该目标服务所需要的第一代码,并将该第一代码写入预先构建的镜像文件中,即可快速地获得包含该目标服务的目标镜像。
[0076] 在本发明实施例中,当服务供应商需要对网盘服务中的目标服务进行构建时,仅需要获得构建各个目标服务具有可变性的第一代码,并将该第一代码写入预先构建的镜像文件中,其中,该镜像文件中包含支持所述第一代码运行的具有不变性的第二代码。这样,可快速地构建包含各个目标服务的目标镜像,因此,极大地提升了构建目标镜像的速度。
[0077] 下面结合图2,对本发明实施例提供的构建网盘服务镜像的方法作进一步说明。
[0078] 如图2所示,构建得到镜像文件需要经过如下步骤:构建第一层镜像;在第一层镜像的基础上构建第二层镜像;在第二层镜像的基础上构建第三层镜像;在第三层镜像的基础上构建第四层镜像;在第四层镜像的基础上构建得到镜像文件。其中,构建得到目标镜像(即网盘服务镜像),是在上述构建得到的镜像文件的基础上构建得到的。
[0079] 需要说明的是,所述第一层镜像也叫作基础层镜像,所述第二层镜像也叫作基础包层镜像,所述第三层也叫作组件层镜像,所述第四层也叫作复合组件层镜像,所述第五层也叫作应用依赖层,所述第六层也叫作应用层。
[0080] 另外,根据各层镜像的构建顺序,可知所述镜像文件就是第五层镜像文件;所述目标镜像文件也就是第六层镜像文件。
[0081] 其中,构建各层镜像的方法如下:
[0082] 在用于构建镜像的操作系统镜像中添加所述各个目标服务的系统用户,以及所述各个目标服务对应的工作目录,获得第一层镜像;
[0083] 在所述第一层镜像上配置所述各个目标服务所需要的本地化环境和基础软件包,获得第二层镜像;
[0084] 在所述第二层镜像上安装构建所述各个目标服务所需要基础组件,获得第三层镜像;
[0085] 在所述第三层镜像上中的基础组件上安装所述各个目标服务对应的软件包,以将所述基础组件组成复合组件,获得第四层镜像;
[0086] 在所述第四层镜像上写入运行所述各个目标服务所需的配置信息和依赖包,获得第五层镜像;
[0087] 将各个目标服务所对应的第一代码写入第五层镜像中,得到包含各个目标服务的第六层镜像。
[0088] 需要说明的是,所述操作系统镜像可以是可用于构建镜像的Linux操作系统镜像。另外,所述系统用户是所述各个目标服务在目标网盘服务器上运行所需要的用户信息,此为现有技术,在此不做详述。所述工作目录是所述各个目标服务在运行过程中所需要的日志文件或缓存文件的目录信息。
[0089] 其次,在构建第二层镜像过程中,在所述第一层镜像上所添加的所述本地化环境包括本地locale环境。所述locale环境用于为所述各个目标服务提供运行所需的语言环境(例如中文环境)和时区环境(例如北京时间)等环境。所述基础软件包是指用于安装基础组件所需的软件包。
[0090] 另外,在构建第三层镜像的过程中,在第二层镜像上所安装的基础组件是构建所述各个目标服务对应的复合组件所需的基础组件。
[0091] 例如,需要构建复合组件:web组件,则需要利用基础组件php组件才能构建web组件。其中,在第二层上所安装的基础组件包括但并不局限于redis组件、php组件、mysql组件和python组件等。其中,web组件、edis组件、php组件、mysql组件和python组件均为现有技术,在此不做详述。
[0092] 在构建第四次层镜像的过程中,在所述第三层镜像上的基础组件上安装所述各个目标服务对应的软件包,以将所述基础组件组成复合组件,从而获得第四层镜像;
[0093] 举例而言,在第三层镜像中的php组件上安装实现web服务所需的nginx组件,以将php组件组成web组件。
[0094] 然后,在所述第四层镜像上写入运行所述各个目标服务所需的配置信息和依赖包,获得第五层镜像(即镜像文件)。其中,所述配置信息包括各个目标服务的版本信息和运行环境信息,所述依赖包具有支持所述复合组件正常运行的代码。
[0095] 值得说明的是,第一层镜像、第二层镜像、第三层镜像、第四层镜像、第五层镜像和第六层镜像(即目标镜像)所对应的镜像的通用性依次减弱。也就是说,越底层的镜像越通用,越高层的镜像越不通用。另外,高层镜像的构建必须在低层镜像的基础上进行构建,低层镜像的构建不需要依赖高层镜像进行构建,即高层镜像发生改变时,并不会影响低层镜像,因此,改变高层镜像时,并不需要改变低层镜像,节省了构建目标镜像的时间。
[0096] 其中,镜像的通用性越高,则该镜像的可扩展性越强;镜像的通用性越低,则该镜像的可扩展性越弱。
[0097] 另外,当需要新增目标服务时,可根据所述目标服务所需要的第二代码,在各层镜像中添加相应的代码。其中,由于每一层镜像中可包含若干个镜像,因此可以在每个镜像名称所对应的文件夹中配置一个make脚本,并可以通过make脚本,精确地在各层镜像中添加相应的代码。
[0098] 举例而言,例如需要重新构建第三层镜像,则只需要通过make脚本调用make level3函数在第三层镜像内添加相应的代码,即可精确地重新构建第三层镜像。例如需要重新构建第三层镜像、第四层镜像、镜像文件和目标镜像,则只要通过make脚本调用make level3+函数在第三层镜像、第四层镜像、镜像文件和目标镜像内添加相应的代码,即可重新构建第三层镜像、第四层镜像、镜像文件和目标镜像。例如需要构建一个特定的服务db,则可以通过make spec db来精确的构建db服务。实现可以精确地构建构建任意层的镜像,缩短了构建目标镜像的时间。
[0099] 可选地,在所述第四层镜像上写入运行所述各个目标服务所需的配置信息和依赖包前,还包括:
[0100] 从公共配置版本库拉取各个目标服务所需的配置信息和依赖包。
[0101] 可以理解的是,在需要拉取各个目标服务所需的配置信息和依赖包时,可以从预先构建的公共配置版本库中进行拉取。该公共配置版本库中所存储的配置信息和依赖包,可以是本领域技术人员根据实际需求所写入的。例如针对各个目标服务,写入的配置信息为:运行环境为测试环境等。
[0102] 其次,本发明实施例还提供了一种部署网盘服务的方法,应用于网盘服务器,如图3所示,所述方法可以包括如下步骤:
[0103] S301:基于预先安装至所述网盘服务器的网盘播种器,获得所述网盘服务器的配置参数以及需要安装的目标服务的标识信息;
[0104] 其中,可以通过预先安装在所述网盘提供商服务器内的网盘播种器,获得所述网盘服务器的内存大小和中央处理器CPU核数等配置参数,不需要通过人工的方式进行获取,提高了获取配置参数的速度和准确度。也可以通过所述网盘播种器检测所述网盘服务器的内核优化参数是否开启。
[0105] 另外,还可以通过所述网盘播种器,获得需要安装在所述网盘服务器上的目标服务所对应的标识信息。也就是说,可以根据所述网盘服务器的具体安装需求,获得所要安装的目标服务所对应的标识信息,进而在所述网盘服务器上安装相应的目标服务,增加了部署目标服务的灵活性。
[0106] 需要说明的是,所述标识信息可以为所述目标服务的版本信息,也可以为所述目标服务的版本信息和运行环境信息的组合信息,这都是合理的。
[0107] 也就是说,可以根据所述网盘服务器的具体安装需求,在所述网盘服务器上安装相应的目标服务,使得部署变得更加灵活。
[0108] S302:基于所述标识信息,获得包含所述目标服务的目标镜像,其中,所述目标镜像为服务供应商服务器根据上述任一项所述的构建网盘服务镜像的方法所构建的;
[0109] 在一种实现方式中,可以根据所述标识信息,从所述服务供应商服务器获取包含所述目标服务的目标镜像。
[0110] 在另一种实现方式中,可以根据所述标识信息,从镜像仓库中获取包含所述目标服务的目标镜像。其中,所述服务供应商服务器在构建得到所述目标镜像后,将所述目标镜像存储在预设的镜像仓库中。
[0111] 可以理解的是,可以根据该标识信息查找目标镜像,所述目标镜像中包括运行目标服务所需的所有代码。并且,所述目标镜像是服务供应商服务器根据上述构建目标镜像的方法所构建的,构建速度较快,相应地,所述网盘服务器能够较快地获得所述目标镜像。
[0112] S303:运行所述目标镜像,并将所述配置参数写入所述目标镜像,获得目标docker容器;
[0113] 其中,在获得配置参数和目标镜像之后,运行所获得的目标镜像,并在目标镜像在启动过程中,将所述配置参数写入到所述目标镜像中,获得目标docker容器。
[0114] S304:基于所述目标docker容器为所述网盘服务器部署所述目标服务。
[0115] 其中,在获得启动的目标docker容器后,利用所述目标docker容器为所述网盘服务器部署所述目标服务,使得能够方便地,快速地在所述网盘服务器上部署所述目标服务。
[0116] 在本发明实施例中,当网盘提供商需要在网盘服务器上安装的目标服务时,首先通过网盘播种器获取所述目标服务的标识信息;然后根据所述标识信息,获得包含所述目标服务的目标镜像;然后在运行目标镜像的过程中,将网盘播种器所获取到的配置参数,写入所述目标镜像,获得目标docker容器;并通过所述目标docker容部署所述目标服务,实现方便快速地将所述目标服务部署在所述网盘服务器上。
[0117] 下面结合图4和图5,对在网盘服务器和网盘服务器组上部署所述目标镜像所包含的目标服务的流程作进一步说明。其中,所述网盘服务器组具有至少两个网盘服务器。
[0118] 参见图4,首先,需要在服务提供商服务器上构建目标镜像。其中,构建所述目标镜像的方法参见图2。其中,在构建第五层镜像过程中,需要从公共配置版本库中拉取运行各个目标服务所需的配置信息和依赖包;在构建第六层镜像(即目标镜像)过程中,需要从代码库中提取运行各个目标服务所需的具有可变性的第一代码。
[0119] 其次,在构建好目标镜像后,服务提供商服务器可以将所述目标镜像,发送到预先构建的镜像仓库中。
[0120] 然后,当网盘服务器或网盘服务器组检测到部署所述目标服务的指令时,则执行在所述网盘服务器或网盘服务器组上部署目标服务的操作,具体部署方式如下:
[0121] 当需要在网盘服务器上部署目标服务时,根据预先安装在所述网盘服务器上的网盘播种器,获得所述网盘服务器的配置参数,以及所述目标服务的标识信息。当需要在网盘服务器组上部署同一个或多个目标服务时,如图5所示,可以网盘播种器安装到与所述网盘服务器组相通信的设备上(例如跳板机),并通过所述网盘播种器,获得所述网盘播种器组的配置信息,以及所述目标服务的标识信息。
[0122] 然后,根据所述标识信息从镜像仓库中拉取具有所述标识信息的目标镜像。在拉取得到目标镜像后,运行所述目标镜像,并将所述配置参数写入所述目标镜像,获得目标docker容器,从而利用所述目标docker容器对所述目标服务进行部署。
[0123] 需要说明的是,图5中所示的每个六边形表示:网盘服务器组中任意网盘服务器所要部署的一个目标服务所对应的目标镜像。其中,任意两个六边形所对应的目标镜像不相同。
[0124] 值得强调的是,所述配置参数可以是图5所示的网盘服务器的职能拓扑清单,以及环境配置清单。其中,所述职能拓扑清单中记录有所述网盘服务器所担任的职能;所述环境配置清单中记录有所述网盘服务器的运行环境信息(例如运行环境为测试环境等)。
[0125] 相应于上述构建网盘服务镜像的方法实施例,本发明实施例还提供了一种构建网盘服务镜像的装置,应用于服务供应商服务器,如图6所示,所述装置包括:
[0126] 构建单元601,用于预先构建镜像文件;
[0127] 第一获得单元602,用于获得运行各个目标服务所需的第一代码,其中,所述各个目标服务为目标网盘服务器所需部署的服务;所述第一代码为具有可变性的代码;
[0128] 写入单元603,用于将所述第一代码写入通过所述构建单元所预先构建的镜像文件中,得到包含所述各个目标服务的目标镜像,其中,所述镜像文件包含运行所述各个目标服务所需要的第二代码,所述第二代码为支持所述第一代码运行的、具有不变性的代码。
[0129] 在本发明实施例中,当服务供应商需要对网盘服务中的目标服务进行构建时,仅需要获得构建各个目标服务具有可变性的第一代码,并将该第一代码写入预先构建的镜像文件中,其中,该镜像文件中包含支持所述第一代码运行的具有不变性的第二代码。这样,可快速地构建包含各个目标服务的目标镜像,因此,极大地提升了构建目标镜像的速度。
[0130] 可选地,所述构建单元601预先构建所述镜像文件的步骤包括:
[0131] 在用于构建镜像的操作系统镜像中添加所述各个目标服务的系统用户,以及所述各个目标服务对应的工作目录,获得第一层镜像;
[0132] 在所述第一层镜像上配置所述各个目标服务所需要的本地化环境和基础软件包,获得第二层镜像;
[0133] 在所述第二层镜像上安装构建所述各个目标服务所需要基础组件,获得第三层镜像;
[0134] 在所述第三层镜像中的基础组件上安装所述各个目标服务对应的软件包,以将所述基础组件组成复合组件,获得第四层镜像;
[0135] 在所述第四层镜像上写入运行所述各个目标服务所需的配置信息和依赖包,获得镜像文件。
[0136] 可选地,所述装置还可以包括:
[0137] 提取单元,用于在所述第四层镜像上写入运行所述各个目标服务所需的配置信息和依赖包前,从公共配置版本库拉取各个目标服务所需的配置信息和依赖包。
[0138] 可选地,所述配置信息包括各个目标服务的版本信息和运行环境信息。
[0139] 可选地,所述操作系统镜像为Linux操作系统镜像。
[0140] 相应于上述部署网盘服务的方法实施例,本发明实施例还提供了一种部署网盘服务的装置,应用于网盘服务器,如图7所示,所述装置可以包括:
[0141] 第二获得单元701,用于基于预先安装至所述网盘服务器的网盘播种器,获得所述网盘服务器的配置参数以及需要安装的目标服务的标识信息;
[0142] 第三获得单元702,用于基于所述标识信息,获得包含所述目标服务的目标镜像,其中,所述目标镜像为服务供应商服务器根据上述任一项所述的构建网盘服务镜像的装置所构建的;
[0143] 第四获得单元703,用于运行所述目标镜像,并将所述配置参数写入所述目标镜像,获得目标docker容器;
[0144] 部署单元704,用于基于所述目标docker容器为所述网盘服务器部署所述目标服务。
[0145] 在本发明实施例中,当网盘提供商需要在网盘服务器上安装的目标服务时,首先通过网盘播种器获取所述目标服务的标识信息;然后根据所述标识信息,获得包含所述目标服务的目标镜像;然后在运行目标镜像的过程中,将网盘播种器所获取到的配置参数,写入所述目标镜像,获得目标docker容器;并通过所述目标docker容部署所述目标服务,实现方便快速地将所述目标服务部署在所述网盘服务器上。
[0146] 可选地,所述第二获得单元701所获取的配置参数,包括:
[0147] 所述网盘服务器的内存大小和中央处理器CPU核数。
[0148] 可选地,所述第三获得单元702具体用于:
[0149] 基于所述标识信息,从所述服务供应商服务器获取所述目标服务的目标镜像。
[0150] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0151] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0152] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈