一种文件部署方法、装置及设备与流程

文档序号:15462230发布日期:2018-09-18 18:26阅读:118来源:国知局

本申请涉及数据处理领域,具体涉及一种文件部署方法、装置及设备。



背景技术:

文件部署是指将生成的待部署文件部署到目标服务器上,以实现待部署文件在目标服务器上的正常运行。待部署文件可以是开发的新服务软件,也可以是服务软件的更新文件等。

目前,文件的部署在容器化技术支持下很容易实现,但是,由于目标服务器现有基础架构的存在,可能有些目标服务器很难支持容器化技术,所以,对于不支持容器化改造、升级的目标服务器,如何进行文件的部署,是目前亟待解决的问题。



技术实现要素:

本发明提供了一种文件部署方法、装置及设备,能够为不支持容器化改造、升级的目标服务器实现文件的部署。

第一方面,本发明提供一种文件部署方法,所述方法应用于运行在目标服务器上的代理服务模块,所述方法包括:

所述代理服务模块接收携带有服务标识和文件存储路径的文件部署指令;

所述代理服务模块根据所述服务标识,从服务定义描述中心获取具有所述服务标识的服务定义描述文件;所述服务定义描述中心用于集中存储具有服务标识的服务定义描述文件;

所述代理服务模块根据所述文件存储路径,从文件存储服务中心获取待部署文件;所述文件存储服务中心用于集中管理各个待部署文件;

所述代理服务模块根据所述服务定义描述文件,将所述待部署文件部署于所述目标服务器上。

可选的,所述代理服务模块根据所述服务定义描述文件,将所述待部署文件部署于所述目标服务器上,包括:

所述代理服务模块获取所述服务定义描述文件中的服务配置信息;

所述代理服务模块根据所述服务配置信息,将所述待部署文件部署于对应的中间件服务上,其中,所述中间件服务运行于所述目标服务器。

可选的,所述方法还包括:

所述代理服务模块控制所述目标服务器上的各个中间件服务的重启和/或暂停。

可选的,所述代理服务模块接收携带有服务标识和文件存储路径的文件部署指令,包括:

所述代理服务模块接收任务指令队列平台发送的携带有服务标识和文件存储路径的文件部署指令;其中,所述文件部署指令是由所述任务指令队列平台从用于存储所述文件部署指令的任务指令队列中获取的。

可选的,所述代理服务模块接收任务指令队列平台发送的携带有服务标识和文件存储路径的文件部署指令之前,还包括:

所述代理服务模块从所述服务定义描述中心获取自身对应的任务指令队列信息;

所述代理服务模块根据所述任务指令队列信息,在所述任务指令队列平台创建所述服务标识对应的任务指令队列;所述服务定义描述文件包括任务指令队列信息。

可选的,所述代理服务模块根据所述服务定义描述文件,将所述待部署文件部署于所述目标服务器上之后,还包括:

所述代理服务模块将所述待部署文件的部署结果上传至所述服务定义描述中心,以便将所述待部署文件的部署结果加入对应的服务定义描述文件。

第二方面,本发明提供了一种文件部署方法,所述方法应用于部署服务器,所述方法包括:

所述部署服务器将生成的待部署文件上传至文件存储服务中心,并获取所述待部署文件的文件存储路径;所述待部署文件具有服务标识,所述文件存储服务中心用于集中管理各个待部署文件;

所述部署服务器在服务定义描述中心查询所述待部署文件的服务标识对应的任务指令队列信息;所述服务定义描述中心用于集中存储服务标识与服务定义描述文件的对应关系,所述服务定义描述文件中包括任务指令队列信息;

所述部署服务器根据所述任务指令队列信息,将携带所述待部署文件的服务标识和文件存储路径的文件部署指令发送至对应的任务指令队列,以便目标服务器的代理服务模块从所述任务指令队列获取所述文件部署指令,并根据所述文件部署指令完成对所述待部署文件的部署。

可选的,所述部署服务器将生成的待部署文件上传至文件存储服务中心之前,还包括:

所述部署服务器定时轮询预先存储的程序代码,并在检测到任一程序代码存在变动时,根据存在变动的程序代码生成对应的待部署文件。

第三方面,本发明提供了一种文件部署装置,所述装置包括:

接收模块,用于接收携带有服务标识和文件存储路径的文件部署指令;

第一获取模块,用于根据所述服务标识,从服务定义描述中心获取具有所述服务标识的服务定义描述文件;所述服务定义描述中心用于集中存储具有服务标识的服务定义描述文件;

第二获取模块,用于根据所述文件存储路径,从文件存储服务中心获取待部署文件;所述文件存储服务中心用于集中管理各个待部署文件;

部署模块,用于根据所述服务定义描述文件,将所述待部署文件部署于所述目标服务器上。

第四方面,本发明提供了一种文件部署装置,所述装置包括:

上传模块,用于将生成的待部署文件上传至文件存储服务中心,并获取所述待部署文件的文件存储路径;所述待部署文件具有服务标识,所述文件存储服务中心用于集中管理各个待部署文件;

查询模块,用于在服务定义描述中心查询所述待部署文件的服务标识对应的任务指令队列信息;所述服务定义描述中心用于集中存储服务标识与服务定义描述文件的对应关系,所述服务定义描述文件中包括任务指令队列信息;发送模块,用于根据所述任务指令队列信息,将携带所述待部署文件的服务标识和文件存储路径的文件部署指令发送至对应的任务指令队列,以便目标服务器的代理服务模块从所述任务指令队列获取所述文件部署指令,并根据所述文件部署指令完成对所述待部署文件的部署。

第五方面,本发明还提供了一种文件部署设备,所述设备包括存储器和处理器,

所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;

所述处理器用于根据所述程序代码中的指令,执行上述文件部署方法。

第六方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述文件部署方法。

本申请实施例提供的文件部署方法,通过运行在目标服务器上的代理服务模块接收文件部署指令,其中,所述文件部署指令携带服务标识和文件存储路径,代理服务模块从服务定义描述中心获取与该服务标识对应的服务定义描述文件,以及从文件存储服务中心获取与该文件存储路径对应的待部署文件,最终根据服务定义描述文件,将待部署文件部署于目标服务器上。本申请将独立的代理服务模块运行于目标服务器上,为代理服务模块赋予获取文件部署指令和待部署文件的权限,由代理服务模块实现对这类目标服务器的文件部署。由于本申请为代理服务模块开通的权限有限,只涉及有关文件部署的权限,所以利用本申请能够在安全性较高的情况下实现难支持容器化技术的服务器的文件部署工作。

附图说明

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

图1为本申请实施例提供的一种文件部署方法流程图;

图2为本申请实施例提供的一种文件部署系统示意图;

图3为本申请实施例提供的另一种文件部署方法流程图;

图4为本申请实施例提供的一种代理服务模块的架构示意图;

图5为本申请实施例提供的一种文件部署装置结构示意图;

图6为本申请实施例提供的另一种文件部署装置结构示意图;

图7为本申请实施例提供的一种文件部署设备结构示意图。

具体实施方式

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

文件部署是指将生成的待部署文件部署到目标服务器上,以实现待部署文件在目标服务器上的正常运行。待部署文件可以是开发的新服务软件,也可以是服务软件的更新文件等。

实际应用中,当存在开发的新服务软件或者更新文件的部署需求时,开发人员可在后台提交新服务软件或者更新文件的程序代码,并将代码保存至代码仓库。构建服务器定时对代码仓库进行轮询,当确定代码仓库中存在变动,如存在新增的内容时,由构建服务器根据代码仓库中的代码变动启动待部署文件的构建工作,进而生成待部署文件,最终,由构建服务器中的部署单元触发待部署文件的部署工作,以实现在目标服务器中对新服务软件或者更新文件的部署。

为了实现上述待部署文件在目标服务器中的部署工作,目前通常使用的是容器化的技术,也就是说,用于部署文件的目标服务器需要支持容器化技术,以便在容器化的场景下进行自动化构建和部署。但是由于目标服务器现有基础架构的存在,可能有些目标服务器不支持容器化改造、升级,所以,对于这类目标服务器的文件部署工作不能享受容器化技术带来的便捷。

为了解决对这类不支持容器化改造、升级的目标服务器进行文件部署的问题,本申请将独立的代理服务模块运行于目标服务器上,为代理服务模块赋予获取文件部署指令和待部署文件的权限,由代理服务模块实现对这类目标服务器的文件部署。由于本申请为代理服务模块开通的权限有限,只涉及有关文件部署的权限,所以利用本申请能够在安全性较高的情况下实现目标服务器的文件部署工作。

具体的,参考图1,为本申请实施例提供了一种文件部署的方法流程图,该方法应用于运行在目标服务器上的代理服务模块,所述方法包括:

S101:代理服务模块接收携带有服务标识和文件存储路径的文件部署指令。

文件部署指令是用于指示代理服务模块进行文件部署的指令,该指令可以在需要进行目标服务器的文件部署时发送,代理服务模块在接收到文件部署指令后,开始执行所在目标服务器上的文件部署的相关步骤。

文件部署指令中携带服务标识和文件存储路径,其中,服务标识用于唯一标识待部署文件对应的服务;文件存储路径用于唯一标识待部署文件,通过文件存储路径,代理服务模块可以获取对应的待部署文件。

待部署文件的生成和文件部署指令的发送可以由构建服务器执行,具体的,构建服务器可以包括文件构建单元和文件部署单元,在文件构建单元根据后台提交的代码生成待部署文件后,文件部署单元可以发送用于指示部署该待部署文件的文件部署指令。

一种可能的实施方式中,代理服务模块接收任务指令队列平台发送的文件部署指令,该文件部署指令是由任务指令队列平台从用于存储文件部署指令的任务指令队列中获取的。具体的,构建服务器中的文件部署单元可以将文件部署指令存储在任务指令队列平台中的任务指令队列,并由任务指令队列平台从任务指令队列中获取文件部署指令后发送至代理服务模块,代理服务模块接收到文件部署指令后,实现对文件的部署。其中,任务指令队列平台包括多个任务指令队列,各个任务指令队列用于存储文件部署指令,任务指令队列平台形成构建服务器和代理服务模块关于文件部署指令的中继站,避免构建服务器发送文件部署指令时,目标服务器不在线导致的指令信息的丢失。

S102:代理服务模块根据所述服务标识,从服务定义描述中心获取所述服务标识对应的服务定义描述文件;所述服务定义描述中心用于集中存储服务标识与服务定义描述文件的对应关系。

服务定义描述中心用于集中存储服务标识与服务定义描述文件的对应关系,其中,服务定义描述文件包括服务的各种配置信息。代理服务模块可以根据文件部署指令中携带的服务标识,从服务定义描述中心获取该服务标识对应的服务定义描述文件。

S103:代理服务模块根据所述文件存储路径,从文件存储服务中心获取待部署文件;所述文件存储服务中心用于集中管理各个待部署文件。

各个待部署文件生成后,可以先集中存储于文件存储服务中心。其中,文件存储服务中心可以是分布式文件存储系统,在文件存储服务中心存储的各个待部署文件具有文件存储路径,通过文件存储路径可以在文件存储服务中心查询到对应的待部署文件。实际应用中,代理服务模块在接收到文件部署指令后,可以根据接收到的文件部署指令中携带的文件存储路径,从文件存储服务中心获取与该文件存储路径对应的文件,即为待部署文件。在本申请其他实施例中,待部署文件也可以直接发送至代理服务模块,例如可以与文件部署指令同时发送,也可以与文件部署指令不同时间发送,还可以将携带待部署文件的文件部署指令直接存储于任务指令队列平台中的任务指令队列中,以便代理服务模块在获取文件部署指令的同时,直接从任务指令队列平台中获取对应的待部署文件,以上均可以作为待部署文件的传输方式,本申请不做限制。

S104:代理服务模块根据所述服务定义描述文件,将所述待部署文件部署于所述目标服务器上。

代理服务模块在进行文件部署之前,先获取服务定义描述文件中的配置信息,其中,配置信息例如可以包括待部署文件应该被部署在哪个服务器、哪个端口、需要哪个中间件进行支持等信息,代理服务模块根据配置信息进行待部署文件的部署,具体的,根据该待部署文件的配置信息,将其部署于目标服务器上对应的中间件服务上。

另外,运行于目标服务器上的代理服务模块可以在初始化阶段完成配置信息的获取与配置工作,具体的,从服务定义描述中心获取目标服务器上运行的各个服务的服务标识对应的服务定义描述文件,并通过其中的配置信息对代理服务模块进行初始化配置,完成配置的代理服务模块可以完成对待部署文件的部署工作。另外,代理服务模块还可以在安装到目标服务器之前即完成配置信息的配置工作,也就是说,配置有相关配置信息的代理服务模块运行于目标服务器后,即可启动待部署文件的部署工作。

本申请实施例提供的文件部署方法,通过运行在目标服务器上的代理服务模块接收文件部署指令,其中,所述文件部署指令携带服务标识和文件存储路径,代理服务模块从服务定义描述中心获取与该服务标识对应的服务定义描述文件,以及从文件存储服务中心获取与该文件存储路径对应的待部署文件,最终根据服务定义描述文件,将待部署文件部署于所述目标服务器上。本申请将独立的代理服务模块运行于目标服务器上,为代理服务模块赋予获取文件部署指令和待部署文件的权限,由代理服务模块实现对这类目标服务器的文件部署。由于本申请为代理服务模块开通的权限有限,只涉及有关文件部署的权限,所以利用本申请能够在安全性较高的情况下实现难支持容器化技术的服务器的文件部署工作。

具体的,本申请实施例还提供了一种文件部署方法,该方法应用于文件部署系统,如图2所示,该文件部署系统包括代理服务模块110和中心服务平台120;其中,中心服务平台120包括文件存储服务中心122、任务指令队列平台121和服务定义描述中心123,文件存储服务中心122,用于集中管理各个待部署文件;服务定义描述中心123,用于集中存储具有服务标识的服务定义描述文件;任务指令队列平台121,用于存储任务指令队列;代理服务模块110运行于目标服务器100上,通过中心服务平台120进行文件部署指令、待部署文件和服务定义描述文件的获取。

为了更清楚的描述本申请实施例提供的文件部署方法,如图2所示,除该文件部署系统外还包括部署服务器130,具体的,部署服务器130包括监控单元131、文件构建单元132、文件部署单元133。

相应的,应用于上述文件部署系统中的文件部署方法参考图3进行说明,图3为本申请实施例提供的另一种文件部署方法的流程图,包括:

S301:部署服务器定时轮询预先存储的程序代码,并在检测到任一程序代码存在变动时,根据存在变动的程序代码生成对应的待部署文件。

实际应用中,开发人员在将开发的新服务软件或者更新文件的程序代码提交至代码仓库后,部署服务器130中的文件构建单元132可以根据提交的代码进行待部署文件的构建。具体实现时,监控单元131可以定时对代码仓库进行轮询,当发现代码仓库中的代码有所变动时,启动文件构建单元132,以便文件构建单元132根据存在变动的代码进行对应待部署文件的构建。

S302:部署服务器将生成的待部署文件上传至文件存储服务中心,并获取所述待部署文件的文件存储路径;所述待部署文件具有服务标识,所述文件存储服务中心用于集中管理各个待部署文件。

在完成待部署文件的构建后,由文件部署单元133将生成的待部署文件存储于文件存储服务平台122,并获取待部署文件的文件存储路径。其中,文件存储服务平台122用于将各个待部署文件进行集中存储,对于文件存储服务平台122中的待部署文件,可以通过文件存储路径进行获取,通过文件存储服平台122可以实现对待部署文件的集中管理和调用。另外,文件存储服务平台122也可以通过分布式文件存储的方式来实现,具体的可以供多个目标服务器同时访问。

S303:部署服务器在服务定义描述中心查询所述待部署文件的服务标识对应的任务指令队列信息;所述服务定义描述中心用于集中存储服务标识与服务定义描述文件的对应关系,所述服务定义描述文件中包括任务指令队列信息。

实际应用中,在对文件进行部署之前,部署服务器的文件部署单元132首先从服务定义描述中心查询待部署文件的服务标识对应的任务指令队列信息,其中,任务指令队列信息可以包括队列标识、队列长度等,服务定义描述中心存储的服务定义描述文件中包括任务指令队列信息,所以,通过服务标识确定服务定义描述文件后,可以获取服务定义描述文件中的任务指令队列信息。

S304:部署服务器根据所述任务指令队列信息,将携带所述待部署文件的服务标识和文件存储路径的文件部署指令发送至对应的任务指令队列。

实际应用中,部署服务器的文件部署单元132在获取到任务指令队列信息后,根据任务指令队列信息将用于指示对待部署文件进行部署的文件部署指令发送至对应的任务指令队列中。

任务指令队列平台121用于存储任务指令队列,任务指令队列的个数可以为一个或多个,每个任务指令队列用于存储文件部署指令。创建任务指令队列的目的在于,减少构建服务器130和目标服务器100之间的直接沟通,避免二者不同时在线的情况下可能导致的指令发送中断或丢失等失败情况的发生。

一种实施方式中,在任务指令队列中可以包括多条文件部署指令,该多条文件部署指令可以是指示同一目标服务器上的代理服务模块对多个待部署文件进行部署,也可以是分别指示不同目标服务器上的代理服务模块对待部署文件进行部署。

当多个目标服务器均需要进行文件部署时,任务指令队列平台121中还可以存储有多个任务指令队列,每个任务指令队列分别对应于一个目标服务器,运行在各个目标服务器的代理服务模块可以从对应的任务指令队列中获取文件部署指令,形成构建服务器和各个目标服务器中的代理服务模块之间关于文件部署指令的信息桥梁。

在每个目标服务器均具有各自对应的任务指令队列时,文件部署单元133在发送文件部署指令之前,还可以获取预先获取该文件部署指令对应的目标服务器,从而确定该目标服务器对应的任务指令队列,以便将该文件部署指令发送至对应的任务指令队列。

一种实现方式中,服务定义描述中心123存储有各个待部署文件对应的服务定义描述文件,其中,服务定义描述文件用于存储对应的待部署文件应该被部署于哪个目标服务器、该目标服务器对应的任务指令队列等信息。在文件部署单元133发送文件部署指令之前,从服务定义描述中心123获取对应的任务指令队列,从而完成该文件部署指令的准确发送,从而便于该任务指令队列对应的目标服务器中的代理服务模块进行文件部署指令的准确获取。

S305:代理服务模块110初始化。

在代理服务模块110的初始化阶段,可以从服务定义描述中心123获取与待部署文件对应的服务定义描述文件,并利用该服务定义描述文件进行初始化,以完成与该待部署文件相关的配置。其中,服务定义描述中心123用于存储各个待部署文件的服务定义描述文件,服务定义描述文件用于存储各个服务的配置信息,例如某项服务的配置路径、可使用的中间件、版本信息等。

如图4所示,为本发明实施例提供的一种代理服务模块的架构示意图。具体的,在代理服务模块110启动时,代理服务模块110可以利用获取到的服务定义描述文件中的service-plugin-path服务插件路径进行初始化配置,该服务插件路径中描述了该代理服务模块可以支持哪些中间件服务,各个中间件服务分别支持哪些指令,以及这些指令具体由哪些调用、命令行实现等。代理服务模块110利用service-plugin-parser服务路径解析器401读取服务插件路径下配置的插件描述文件,具体文件格式可以包括:服务唯一注册名称、服务类型、服务路径、start/stop/restart/deploy/reload等常用操作的系统命令,以及可用性检查接口(端口或者url)等。一种实现方式中,服务路径解析器通过服务唯一注册名称、服务类型和服务路径,可以解析出该代理服务模块可以支持哪些中间件服务;通过start/stop/restart/deploy/reload等常用操作的系统命令,可以解析出该代理服务模块支持的各个中间件服务分别支持哪些指令,以及这些指令具体由哪些调用、命令行实现等。cli-runner命令运行器402负责调用服务路径解析器解析出的指令等。registry-client注册用户端403负责与服务定义描述中心进行通信,以从服务定义描述中心获取对应的服务定义描述文件。file-utils文件工具404负责从文件存储服务中心下载对应的待部署文件。version-manager版本管理器405负责配合文件工具404记录当前服务版本以及版本更新,用于实现服务历史版本的回滚、备份以及在文件部署成功后向服务定义描述中心上传部署状态等。Monitor监视器406负责在代理服务模块运行的过程中对代理服务模块的健康状况进行监控。

另外,当服务定义描述中心123存储的服务描述文件存在内容更新时,服务定义描述中心123可以产生更新通知信息,并将该更新通知信息发送至对应的代理服务模块110,以通知该代理服务模块110从该服务定义描述中心123获取更新后的服务定义描述文件,进而更新各项服务的配置信息。

服务定义描述中心123用于集中存储各个服务定义描述文件,服务定义描述文件中描述了各个服务能够被部署在哪个服务器、哪个端口、利用哪些中间件进行支持等。服务定义描述文件可以支持常用的服务配置系统,例如etdc、zookeeper以及consul系统等,此外还可以支持利用springboot的config-server实现的基于git代码托管系统的配置,在此不限定服务定义描述文件支持的系统配置。

任务指令队列形成构建服务器和各个目标服务器中的代理服务模块之间关于文件部署指令的信息桥梁,避免一端掉线造成的对端无响应的情况发生。在代理服务模块110的初始化阶段,代理服务模块通过读取服务定义描述文件中的配置信息获取对应的任务指令队列信息,可以在任务指令队列平台121预先创建目标服务器对应的任务指令队列,以用于存储该目标服务器100对应的文件部署指令。创建目标服务器对应的任务指令队列是为了代理服务模块可以在对应的任务指令队列直接获取到对应的文件部署指令,简化了文件部署指令的获取过程。

S306:代理服务模块110接收任务指令队列平台发送的携带有服务标识和文件存储路径的文件部署指令;其中,所述文件部署指令是由所述任务指令队列平台从用于存储所述文件部署指令的任务指令队列中获取的。

任务指令平台121中的任务指令队列中存在文件部署指令时,任务指令平台可以将该文件部署指令发送至对应的代理服务模块。

一种实现方式中,在任务指令队列平台121中的任务指令队列接收到文件部署指令后,可以产生指令通知信息,并将该指令通知信息发送至对应的代理服务模块110,以通知该代理服务模块110从对应的任务指令队列中获取文件部署指令。

另一种实现方式中,代理服务模块110可以轮询任务指令队列平台121中对应的任务指令队列,以获取文件部署指令。当代理服务模块110具有对应的任务指令队列时,可以只轮询对应的任务指令队列,以获取文件部署指令。

S307:代理服务模块根据所述服务标识,从服务定义描述中心获取具有所述服务标识的服务定义描述文件;所述服务定义描述中心用于集中存储具有服务标识的服务定义描述文件。

具体的,可参考S102,在此不再赘述。

代理服务模块110可根据文件存储地址,从文件存储服务平台122中获取该文件存储地址对应的待部署文件,其中,文件存储服务平台122用于存储各个待部署文件。实际应用中,代理服务模块110中的文件工具(file-utils)子模块可以用于从文件存储服务平台122中下载对应的待部署文件。

S308:代理服务模块根据所述文件存储路径,从文件存储服务中心获取待部署文件;所述文件存储服务中心用于集中管理各个待部署文件。

具体的,可参考S103,在此不再赘述。

S309:代理服务模块根据所述服务定义描述文件,将所述待部署文件部署于所述目标服务器上。

代理服务模块110在进行文件部署之前,可以先获取待部署文件对应的服务定义描述文件中的配置信息,配置信息例如可以包括待部署文件应该被部署在哪个服务器、哪个端口、需要哪个中间件进行支持等信息,代理服务模块110根据配置信息进行待部署文件的部署。

目标服务器上通常运行有若干中间件服务,对待部署文件的部署,具体是将待部署文件部署于对应的中间件服务上,通过将该中间件服务启动并运行于目标服务器上,能够使得部署于该中间件服务上的待部署文件正常运行于该目标服务器。

另外,在本申请实施例中,代理服务模块还可以对目标服务器上的各个中间件服务的重启和/或暂停进行控制,具体的,代理服务模块可以接收中间件服务的控制指令后,控制对应的中间件服务启动和/或暂停。具体的控制指令的获取方法可以参考文件部署指令的获取方法进行理解,在此不再赘述。

S310:代理服务模块将所述待部署文件的部署结果上传至所述服务定义描述中心,以便将所述待部署文件的部署结果加入对应的服务定义描述文件。

为了便于开发者了解文件部署状态,本申请实施例在将待部署文件部署于目标服务器100之后,由代理服务模块110将文件部署状态发送至服务定义描述中心123,以便服务定义描述中心将待部署文件的部署结果加入对应的服务定义描述文件,后续通过访问服务定义描述中心123能够获知文件部署结果。

实际应用中,代理服务模块110可以将完成文件部署后的当前服务版本发送至服务定义描述中心123,以便服务定义描述中心123进行备份。代理服务模块110中的版本管理器(version-manager)记录当前服务版本和更新情况的工具,能够实现对应服务的历史版本的回滚和备份等,即在服务的新版本出现问题时,可将该服务的版本恢复至旧版本。

本申请实施例提供的文件部署方法中,部署服务器定时轮询程序代码,并在程序代码存在变动时,生成对应的待部署文件,并上传至文件存储服务中心。然后通过运行在目标服务器上的代理服务模块获取对应的任务指令队列中的文件部署指令,并根据文件部署指令携带的服务标识和文件存储路径获取对应的服务定义描述文件和待部署文件,最终根据服务定义描述文件将待部署文件部署于目标服务器上。本申请中利用独立运行于目标服务器上的代理服务模块实现文件的部署,代理服务模块能够对文件部署指令、待部署文件和服务定义描述文件进行获取,利用获取到的文件部署指令、待部署文件和服务定义描述文件可实现目标服务器上的文件部署。由于本申请为代理服务模块开通的权限有限,只涉及有关文件部署的权限,所以利用本申请能够在安全性较高的情况下实现对难支持容器化技术的服务器的文件部署工作。

基于以上文件部署方法的实施例,本申请还提供了一种文件部署装置,该装置运行在目标服务器上,参考图5,所述装置包括:

接收模块501,用于接收携带有服务标识和文件存储路径的文件部署指令;

第一获取模块502,用于根据所述服务标识,从服务定义描述中心获取具有所述服务标识的服务定义描述文件;所述服务定义描述中心用于集中存储具有服务标识的服务定义描述文件;

第二获取模块503,用于根据所述文件存储路径,从文件存储服务中心获取待部署文件;所述文件存储服务中心用于集中管理各个待部署文件;

部署模块504,用于根据所述服务定义描述文件,将所述待部署文件部署于所述目标服务器上。

另外,本申请还提供了一种文件部署装置,参考图6,所述装置包括:

上传模块601,用于将生成的待部署文件上传至文件存储服务中心,并获取所述待部署文件的文件存储路径;所述待部署文件具有服务标识,所述文件存储服务中心用于集中管理各个待部署文件;

查询模块602,用于在服务定义描述中心查询所述待部署文件的服务标识对应的任务指令队列信息;所述服务定义描述中心用于集中存储服务标识与服务定义描述文件的对应关系,所述服务定义描述文件中包括任务指令队列信息;

发送模块603,用于根据所述任务指令队列信息,将携带所述待部署文件的服务标识和文件存储路径的文件部署指令发送至对应的任务指令队列,以便目标服务器的代理服务模块从所述任务指令队列获取所述文件部署指令,并根据所述文件部署指令完成对所述待部署文件的部署。

本申请实施例提供的文件部署装置,通过运行在目标服务器上的代理服务模块接收文件部署指令,根据文件部署指令携带的文件标识,获取与所述文件标识对应的待部署文件,将待部署文件部署于目标服务器上。本申请将独立的代理服务模块运行于目标服务器上,为代理服务模块赋予获取文件部署指令和待部署文件的权限,由代理服务模块实现对这类目标服务器的文件部署。由于本申请为代理服务模块开通的权限有限,只涉及有关文件部署的权限,所以利用本申请能够在安全性较高的情况下实现目标服务器的文件部署工作。

相应的,本申请实施例还提供一种文件部署设备,参见图7所示,可以包括:

处理器701、存储器702、输入装置703和输出装置704。文件部署设备中的处理器701的数量可以一个或多个,图7中以一个处理器为例。在本发明的一些实施例中,处理器701、存储器702、输入装置703和输出装置704可通过总线或其它方式连接,其中,图7中以通过总线连接为例。

存储器702可用于存储软件程序以及模块,处理器701通过运行存储在存储器702的软件程序以及模块,从而执行文件部署设备的各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等,存储器702还可以将程序代码传输给处理器701。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置703可用于接收输入的数字或字符信息,以及产生与文件部署设备的用户设置以及功能控制有关的信号输入。

具体在本实施例中,处理器701会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器702中,并由处理器701来运行存储在存储器702中的应用程序,根据所述程序代码中的指令实现本申请中的文件部署方法的功能。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本申请实施例所提供的一种文件部署的方法、装置及设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1