CN104335174A - 部署设备和部署方法 - Google Patents

部署设备和部署方法 Download PDF

Info

Publication number
CN104335174A
CN104335174A CN201380029307.8A CN201380029307A CN104335174A CN 104335174 A CN104335174 A CN 104335174A CN 201380029307 A CN201380029307 A CN 201380029307A CN 104335174 A CN104335174 A CN 104335174A
Authority
CN
China
Prior art keywords
module
deployment
normality
confirmation
configuration information
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.)
Pending
Application number
CN201380029307.8A
Other languages
English (en)
Inventor
岛村荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of CN104335174A publication Critical patent/CN104335174A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Abstract

在构造系统时,更有效地确认系统的正常性。在部署设备(100)中,配置信息存储单元(104)存储与组成所述系统的模块的标识符关联的配置信息,配置信息包括以下至少一个:用于确认PF模块的部署正常性的PF确认模块的标识符,以及用于确认所述模块的部署正常性的自身确认模块的标识符。正常性确认单元(106)参考所述配置信息执行以下至少一个:在处理设备中部署所述模块之前,利用所述PF确认模块,确认处理设备中所述PF模块的部署正常性;以及在处理设备中部署所述模块之后,利用所述自身确认模块,确认处理设备中所述模块的部署正常性。

Description

部署设备和部署方法
技术领域
本发明涉及程序的部署设备和部署方法
背景技术
在使用虚拟机的系统中,可以手动构造用于执行服务应用的环境(系统执行环境)。在这种情况中,服务应用的开发者创建用于构造执行环境的工作过程,作为构造过程手册。构造系统的工程师根据过程手册部署并设置OS(操作系统)、中间件和各种模块(例如相关库),然后部署并设置开发的应用模块。工程师根据在构造过程手册中描述的确认项目列表来目视检查与部署的模块有关的日志和文件以及其他输出是否存在,从而确认是否正常构造执行环境。
在非专利文献1中公开了一种用于有效地构造这种系统执行环境的方法,其中,通过协同工具(orchestration tool)构造执行环境。协同工具根据针对每个系统分别描述的工作流程来构造执行环境。协同工具根据在工作流程中描述的过程确认执行环境是否正常被构造。
并且,在作为相关技术的专利文献1中公开了一种技术,其中,针对组成系统的每个组件,插入用于确认当前操作系统的正常性的探测器。
引用文献列表
专利文献1:日本专利公开:No.4809772
非专利文献1:“HP Operations Orchestration software”,Hewlett-Packard Company,[online],[searched 29May 2012],InternetURL:
http://www8.hp.com/us/en/software/software-product.html?compURI=tcm:245-936143&pageTitle=operations-orchestration-software
发明内容
[技术问题]
如非专利文献1所描述的,当通过协同工具构造系统时,开发者必须定义用于确认系统正常性的过程,作为每个系统的工作流程的一部分。因此,当需要构造多种不同的系统时,或者,当构造目标系统因为是由很多模块组成的因而是一个复杂系统时,创建工作流程的开发者的负担会增加。
本发明的目的在于解决以上提到的问题,并提供一种部署设备和部署方法,其能够在构造系统时有效地确认系统的正常性。
[解决问题的方案]
根据本发明示范性方案的部署设备,包括:配置信息存储装置,用于存储与组成所述系统的模块的标识符关联的配置信息,所述配置信息包括平台(PF)确认信息和自身确认信息中的至少一个,所述PF确认信息包括用于确认PF模块的部署正常性的PF确认模块的标识符,所述PF模块是被所述模块依赖的另一模块,所述自身确认信息包括用于确认所述模块的部署正常性的自身确认模块的标识符;以及正常性确认装置,用于参考所述配置信息执行以下至少一个:在处理设备中部署所述模块之前,利用所述PF确认模块,确认处理设备中所述PF模块的部署正常性;以及,在处理设备中部署所述模块之后,利用所述自身确认模块,确认处理设备中所述模块的部署正常性。
根据本发明示范性方案的部署方法包括:存储与组成所述系统的模块的标识符关联的配置信息,所述配置信息包括平台(PF)确认信息和自身确认信息中的至少一个,所述PF确认信息包括用于确认PF模块的部署正常性的PF确认模块的标识符,所述PF模块是被所述模块依赖的另一模块,所述自身确认信息包括用于确认所述模块的部署正常性的自身确认模块的标识符;在处理设备中部署所述模块;以及参考配置信息执行以下至少一个:在处理设备中部署所述模块之前,利用所述PF确认模块,确认处理设备中所述PF模块的部署正常性;以及在处理设备中部署所述模块之后,利用所述自身确认模块,确认处理设备中所述模块的部署正常性。
根据本发明示范性方案的计算机可读存储介质,其上记录有程序,所述程序使得计算机执行方法,所述方法包括:存储与组成所述系统的模块的标识符关联的配置信息,所述配置信息包括平台(PF)确认信息和自身确认信息中的至少一个,所述PF确认信息包括用于确认PF模块的部署正常性的PF确认模块的标识符,所述PF模块是被所述模块依赖的另一模块,所述自身确认信息包括用于确认所述模块的部署正常性的自身确认模块的标识符;在处理设备中部署所述模块;以及参考配置信息执行以下至少一个:在处理设备中部署所述模块之前,利用所述PF确认模块,确认处理设备中所述PF模块的部署正常性;以及在处理设备中部署所述模块之后,利用所述自身确认模块,确认处理设备中所述模块的部署正常性。
[本发明的有益效果]
本发明的有益效果是,在构造系统时能够更有效地确认系统的正常性。
附图说明
图1是示出本发明第一示范性实施例的特征配置的方框图。
图2是示出根据本发明第一示范性实施例的部署系统的配置的方框图。
图3是示出根据本发明第一示范性实施例的模块之间依赖关系的示例的图。
图4是示出根据本发明第一示范性实施例的配置信息表300的示例的图
图5是示出根据本发明第一示范性实施例的配置信息表300的另一个示例的图。
图6是示出根据本发明第一示范性实施例的正常性确认方法的概览的图。
图7是示出根据本发明第一示范性实施例的构造列表的示例的图。
图8是示出根据本发明第一示范性实施例的系统构造处理的流程图。
图9是示出根据本发明第一示范性实施例的构造列表生成处理(步骤S12)的详情的流程图
图10是示出根据本发明第一示范性实施例的节点处理(步骤S1204)的详情的流程图。
图11是示出根据本发明第一示范性实施例的模块部署处理(步骤S17)的详情的流程图。
图12是示出根据本发明第二示范性实施例的配置信息表300的示例的图。
具体实施方式
[第一示范性实施例]
接下来描述本发明的第一示范性实施例。
首先,将描述本发明第一示范性实施例的配置。图2是示出根据本发明第一示范性实施例的部署系统的配置的方框图。
参考图2,部署系统包括部署环境1、外部存储库2、部署设备100、以及处理设备200。
部署设备100通过在处理设备200中部署组成IT系统的程序模块(下文中称为模块)来构造系统,所述模块例如是OS、中间件(MW)以及应用(AP)。这里,部署是指向处理设备200发送模块并通过安装程序在处理设备200中安装模块的处理。
部署设备100根据在配置信息表300中描述的每个模块的依赖关系在处理设备200中部署每个模块。
图3是示出根据本发明第一示范性实施例的模块之间的依赖关系的示例的图。图3中,方框表示模块,方框之间的箭头指示依赖关系。这里,在处理设备200中部署位于箭头尾部的模块时,位于箭头顶端的模块必须已经安装在处理设备200中。也就是说,位于箭头尾部的模块的部署依赖于位于箭头顶部的模块的部署。在图3示出的示例中,模块“AP1”的部署依赖于模块“Tomcat”的部署和模块“PostgreSQL”的部署。模块“Tomcat”的部署依赖于模块“Java(注册商标)”的部署。此外,位于箭头尖端的模块称为位于箭头尾部的模块的平台(PF)模块或者低顺序模块,而位于箭头尾部的模块称为位于箭头尖端的模块的高顺序模块。而且,从特定模块起连续追踪PF模块得到的模块形成的模块组称为该特定模块的平台。
在本发明第一示范性实施例中,确定部署模块的顺序,使得每个模块依赖的PF模块先部署在处理设备200中。
部署设备100包括模块管理单元101、模块存储单元102、配置信息管理单元103、配置信息存储单元104、部署单元105、正常性确认单元106、以及构造请求输入单元107。
模块管理单元101从开发环境1或外部存储库2获取构造系统所需的模块,并将其保存在模块存储单元102中。例如,模块管理单元101从开发环境获取AP模块,从外部存储库2获取多个系统公用的模块,如OS模块、MW模块。
配置信息管理单元103从开发环境1或外部存储库2获取每个模块的配置信息表300,并将其保存在配置信息存储单元104中。
图4和图5是示出根据本发明第一示范性实施例的配置信息表300的示例的图。配置信息表300是针对每个模块设置的。
配置信息表300包括模块信息310、一条或更多条PF模块信息320、以及自身确认信息330。
这里,模块信息310包括模块标识符311和模块标识符311指定的模块(部署目标模块)的文件标识符312。并且,当部署目标模块和用于安装所述部署目标模块的信息一起存储在打包文件中时,文件标识符312可以是该打包文件的标识符。
PF模块信息320包括作为PF模块标识符的PF模块标识符321以及用于部署目标模块的PF确认信息322。PF确认信息322包括PF确认模块的模块类型323和文件标识符324。
PF确认模块是用于在部署部署目标模块前确认PF模块的部署正常性的模块(程序或脚本)。PF确认模块被部署在PF模块或OS上并且执行。当PF确认模块的模块类型323是“部署”时,PF确认模块被部署在PF模块上。当模块类型323是“单独”时,PF确认模块被直接部署在OS上。
PF确认模块基于以下信息来确认PF模块的部署正常性:在部署PF模块时生成的预定文件是否存在;或者,在部署PF模块时激活的预定进程是否存在。此外,PF确认模块可以基于在部署PF模块时由OS等生成的预定日志字符串是否存在来确认该正常性。
此外,PF确认模块可以调用PF模块的预定函数或API(应用程序接口)来获得返回值,并基于是否获得预定返回值来确认PF模块的部署正常性。PF确认模块可以向PF模块输入预定脚本和数据,并基于是否获得预定结果来确认PF模块的部署正常性。
注意,PF确认模块可以在上文提到的确认中使用部署目标模块所使用的文件、处理、函数、API等。
自身确认信息330包括自身确认模块的模块类型331和文件标识符332。
自身确认模块是用于在部署部署目标模块后确认部署目标模块的部署正常性的模块。自身确认模块被部署在部署目标模块或OS上并且执行。当自身确认模块的模块类型331是“部署”时,自身确认模块被部署在部署目标模块上。当模块类型331是“单独”时,自身确认模块被直接部署在OS上。
与PF确认模块类似,自身确认模块基于例如以下信息来确认部署目标模块的部署正常性:在部署部署目标模块时生成的预定文件是否存在,或者在部署部署目标模块时激活的预定处理是否存在。此外,自身确认模块可以基于在部署部署目标模块时由OS等生成的预定日志字符串是否存在来确认该正常性。
此外,自身确认模块可以调用部署目标模块的预定函数或API来获得返回值,并基于是否获得预定返回值来确认部署目标模块的部署正常性。自身确认模块可以向部署目标模块输入预定脚本和数据,并基于是否获得预定结果来确认部署目标模块的部署正常性。
图4示出模块标识符311为“AP1”的AP模块的配置信息表300的示例。在该情形中,为了操作模块“AP1”,需要模块标识符311为“Tomcat”的PF模块和模块标识符311为“PostgreSQL”的PF模块。在确认PF模块“Tomcat”的部署正常性时,使用文件标识符为“Pf4AP1.war”的PF确认模块。在确认PF模块“PostgreSQL”的部署正常性时,使用文件标识符为“PSQL4AP1.sql”的PF确认模块。此外,在确认模块“AP1”的部署正常性时,使用文件标识符332为“Ap1self”的自身确认模块。
每个模块的开发者等预先为每个模块创建PF确认模块和自身确认模块,并在该模块的配置信息表300中的PF确认信息322和自身确认信息330中设置每个模块的类型和文件标识符。
模块管理单元101从开发环境1或外部存储库2获取创建的PF确认模块和创建的自身确认模块,并将其存储在模块存储单元102中。配置信息管理单元103从开发环境1或外部存储库2获取创建的配置信息表300,并将其存储在配置信息存储单元104中。
注意,配置信息表300可以描述为其他形式,例如XML(可扩展标记语言)。在不存在部署目标模块依赖的PF模块时,可以不设置PF模块信息320。在不需要确认PF模块或部署目标模块的部署正常性时,可以不设置PF确认信息322或自身确认信息330。
部署单元105包括准备(provisioning)单元108、AP模块部署单元109、MW部署单元110、OS部署单元111、虚拟机(VM)部署单元112、以及网络(NW)部署单元113。
准备单元108基于组成系统的每个模块的配置信息表300,在处理设备200中部署每个模块。这里,准备单元108使用VM部署单元112和NW部署单元113,生成用于在处理设备200上构造系统的虚拟服务器202。准备单元108使用AP模块部署单元109、MW部署单元110和OS部署单元111,在生成的虚拟服务器202中部署每个模块。
正常性确认单元106使用PF确认模块确认PF模块的部署正常性,以及使用自身确认模块确认部署目标模块的部署正常性。
构造请求输入单元107从用户等接收关于系统构造请求的输入。
处理设备200是具有基础OS的计算机,该OS具有例如通信功能、用于安装的程序等。处理设备200包括虚拟化基础设施201,例如VM监视器、管理程序(hupervisor)。虚拟化基础设施201响应于来自部署单元105的请求生成虚拟服务器202,并在生成的虚拟服务器202中部署从部署单元105接收的每个模块。虚拟服务器202执行每个已部署单元的处理。
部署设备100可以是程序控制的计算机,其包括CPU(中央处理器)和存储程序的存储介质。模块存储单元102和配置信息存储单元104可以被配置为分离的存储媒介或被配置为一个存储媒介。
以下,将描述根据本发明第一示范性实施例的部署设备100的操作。
首先,描述根据本发明第一示范性实施例的正常性确认方法的概览。图6是示出根据本发明第一示范性实施例的正常性确认方法的概览的图。
这里,假设部署目标模块的平台已被部署(图6示出的状态1)。正常性确认单元106参考部署目标模块的配置信息表300在处理设备200中部署从模块存储单元102获取的PF确认模块,并确认PF模块的部署正常性(状态2)。当已经确认PF模块被正常部署时,准备单元108参考配置信息表300在处理设备200中部署从模块存储单元102获取的部署目标模块(状态3)。正常性确认单元106参考配置信息表300在处理设备200中部署从模块存储单元102获取的自身确认模块,并确认部署目标模块的部署正常性(状态4)。当已经确认部署目标模块被正常部署时,将顺序等于或低于部署目标模块的顺序的模块组成的模块组看作新平台(状态5)。然后,部署顺序高于部署目标模块的顺序的高顺序模块。
因而,在本发明第一示范性实施例中,以模块的层级的递增顺序部署组成系统的模块,在该处理中,在部署该部署目标模块前,从部署目标模块的视角确认PF模块的部署正常性,在部署该部署目标模块后,从部署目标模块的视角确认部署目标模块的部署正常性,并且重复这些确认处理。
以下,将描述本发明第一示范性实施例中的系统构造处理。图8是示出根据本发明第一示范性实施例的系统构造处理的流程图。
首先,构造请求输入单元107接收系统构造请求输入,在系统构造请求输入中,用户等指定构造目标系统(步骤S11)。这里,通过作为系统中的最高顺序模块的AP模块的标识符指定构造目标系统。
例如,构造请求输入单元107接收构造目标系统中的AP模块的标识符“AP1”。
准备模块108生成构造列表(步骤S12)。
图7是示出根据本发明第一示范性实施例的构造列表的示例的图。构造列表是构造系统时要部署的模块的配置信息表300的列表。配置信息表300以部署顺序布置在构造列表中。
图9是示出根据本发明第一示范性实施例的构造列表生成处理(步骤S12)的详情的流程图。这里,将通过依赖关系相互关联的配置信息表300视为有向图,并且基于图论中的拓扑排序算法生成构造列表。
首先,准备单元108初始化构造列表(步骤S1201)。准备单元108从配置信息存储单元104获取在步骤S11中指定的AP模块的配置信息表300。准备单元108通过以递归方式重复对PF模块标识符321指定的PF模块的配置信息表300的获取来识别要部署的模块,并提取每个模块的配置信息表300(步骤S1202)。这里,假设模块之间的依赖关系不包括交叉引用和循环。
例如,准备单元108通过以递归方式从模块“AP1”的配置信息表300获取PF模块标识符321,将模块“Tomcat”、模块“PostgreSQL”、和模块“Java”识别为要部署的模块,并获取每个模块的配置信息表300。
准备单元108选择所获取的配置信息表300之一(步骤S1203),并执行节点处理(稍后提到),指定所选择的配置信息表300(步骤S1204)。准备单元108针对在步骤S1202中提取的所有配置信息表300重复步骤S1203和步骤1204的处理。
例如,准备单元108执行分别指定模块“Tomcat”、模块“PostgreSQL”和模块“Java”的配置信息表300的节点处理。
图10是示出根据本发明第一示范性实施例的节点处理(步骤S1204)的详情的流程图。
首先,准备单元108确定与指定的配置信息表300有关的处理是否已执行(步骤S12041)。当与指定的配置信息表300有关的处理已执行时(步骤S12041/是),准备单元108结束该处理。当与指定的配置信息表300有关的处理还未执行时(步骤S12041/否),准备单元108将指定的配置信息表300的状态设置为“处理已执行”(步骤S12042)。准备单元108提取在指定的配置信息表300中包括的所有PF模块标识符321(步骤S12043)。
当PF模块标识符321不存在时(步骤S12044/否),准备单元108的处理前进至步骤S12048。
当PF模块标识符321存在时(步骤S12044/是),准备单元108选择所提取的PF模块之一并获取该PF模块的配置信息表300(步骤S12045)。准备单元108以递归方式执行指定所获取的配置信息表300(步骤S12046)的节点处理(步骤S12041至步骤S12048)。准备单元108针对在步骤S12043提取的所有PF模块,重复步骤S12045和S12046的处理(步骤S12047)。准备单元108在构造列表中添加指定的配置信息表300(步骤S12048)。
例如,在步骤S1204,执行指定模块“AP1”的配置信息表300(图4)的节点处理。准备单元108将模块“AP1”的配置信息表300的状态设置为“处理已执行”。准备单元108从模块“AP1”的配置信息表300提取PF模块标识符321“Tomcat”和“PostgreSQL”。
准备单元108执行指定模块“Tomcat”的配置信息表300(图5)的节点处理。
准备单元108将模块“Tomcat”的配置信息表300的状态设置为“处理已执行”。准备单元108从模块“Tomcat”的配置信息表300提取PF模块标识符321“Java”。准备单元108执行指定模块“Java”的处理。
准备单元108将模块“Java”的配置信息表300的状态设置为“处理已执行”。这里,假设在模块“Java”的配置信息表300中未设置PF模块信息320。因为在模块“Java”的配置信息表300中不存在PF模块标识符321,所以准备单元108向构造列表的顶部添加模块“Java”的配置信息表300。
然后,准备单元108向构造列表添加模块“Tomcat”的配置信息表300。
此外,准备单元108执行指定模块“PostgreSQL”的节点处理。准备单元108将模块“PostgreSQL”的配置信息表300的状态设置为“处理已执行”。这里,假设在模块“PostgreSQL”的配置信息表300中未设置PF模块信息320。因为在模块“PostgreSQL”的配置信息表300中不存在PF模块标识符321,所以准备单元108向构造列表添加模块“PostgreSQL”的配置信息表300。
准备单元108向构造列表添加模块“AP1”的配置信息表300。
在步骤S1204,分别执行指定模块“Tomcat”、模块“PostgreSQL”、和模块“Java”的配置信息表300的节点处理。然而,因为这些模块的配置信息表300的状态被设置为“处理已执行”,所以构造列表不变。
例如,在执行上文提到的构造列表生成处理(步骤S12)时,生成构造列表,模块“Java”、模块“Tomcat”、模块“PostgreSQL”、和模块“AP1”的配置信息表300以此顺序布置在构造列表中,如图7所示。
注意,可以由使用除拓扑排序算法之外的其他算法的其他方法来生成构造列表,只要所确定的每个模块的部署顺序满足首先部署每个模块依赖的PF模块。
当构造列表生成处理结束时,准备单元108经由VM部署单元112和NW部署单元113,请求虚拟化基础设施201生成用于构造系统的虚拟服务器202(步骤S13)。
如果不能生成虚拟服务器202(步骤S14/否),准备单元108输出“构造错误”消息(步骤S15),并结束处理。
如果能够生成虚拟服务器202(步骤S14/是),准备单元108获取列在生成的构造列表顶部的配置信息表300(步骤S16),并通过指定获取的配置信息表300执行模块部署处理(稍后描述)(步骤S17)。当模块部署处理结束时,准备单元108确定模块部署处理是否正常结束(步骤S18)。
如果已经确定模块部署处理不正常结束(步骤S18/否),准备单元108输出“构造错误”消息(步骤S15)并结束处理。
准备单元108针对包括在构造列表中的所有配置信息表300重复步骤S16至S18的处理(步骤S19)。如果对包括在构造列表中的所有配置信息表300的模块部署处理正常结束,准备单元108输出“构造正常结束”消息(步骤S20)并结束处理。
准备单元18执行对包括在图7示出的构造列表中的模块“Java”、模块“Tomcat”、模块“PostgreSQL”、和模块“AP1”的配置信息表300加以指定的模块部署处理,并且是按照上述顺序分别执行的。
图11是示出根据本发明第一示范性实施例的模块部署处理(步骤S17)的详情的流程图。
首先,正常性确认单元106从指定的配置信息表300提取所有的PF确认信息322(步骤S1701)。
如果PF确认信息322不存在(步骤S1702/否),正常性确认单元106的处理前进至步骤S1708的处理。
如果PF确认信息322存在(步骤S1702/是),正常性确认单元106选择所提取的PF确认信息322之一(步骤S1703)。正常性确认单元106从模块存储单元102获取由选择的PF确认信息322中的文件标识符324指定的PF确认模块文件。正常性确认单元106经由部署单元109至111中的一个,在处理设备200中部署PF确认模块,并命令其执行PF确认模块(步骤S1704)。当PF确认模块的处理结束时,正常性确认单元106释放(卸载)对PF确认模块的部署(步骤S1705)。
如果执行PF确认模块的结果是不能确认PF模块的部署正常性(步骤S1706/否),则正常性确认单元106输出错误消息(步骤S1713),并结束处理。
正常性确认单元106针对在步骤S1701中提取的所有PF确认信息重复步骤1703至S1706的处理(步骤S1707)。
准备单元108从配置信息表300提取模块信息310。准备单元108从模块存储单元102获取由模块信息310中的文件标识符312指定的部署目标模块文件。准备单元108经由部署单元109至111中的一个,在处理设备200中部署该部署目标模块(步骤S1708)。
正常性确认单元106从配置信息表300提取自身确认信息330(步骤S1709)。正常性确认单元106从模块存储单元102获取由提取的自身确认信息330中的文件标识符332指定的自身确认模块文件。正常性确认单元106经由部署单元109至111中的一个,在处理设备200中部署自身确认模块,并命令其执行自身确认模块(步骤S1710)。当自身确认模块的处理已经结束时,正常性确认单元106释放(卸载)对自身确认模块的部署(步骤S1711)。
如果执行自身确认模块的结果是不能确认部署目标模块的部署正常性(步骤S1712/否),正常性确认单元106输出“部署错误”消息(步骤S1713),并结束处理。
如果能够确认部署目标模块的部署正常性(步骤S1712/是),正常性确认单元106输出“部署正常结束”消息(步骤S1714),并结束处理。
例如,假设在步骤S17,在已经执行模块“Java”的模块部署处理后,执行对模块“Tomcat”的配置信息表300(图5)加以指定的模块部署处理。在这种情况下,正常性确认单元106获取由PF确认信息322中的文件标识符324指定的PF确认模块文件“Pf4Tomcat”,并将其部署在处理设备200中。正常性确认单元106通过执行PF确认模块,确认PF模块“Java”的部署正常性。当PF模块“Java”正常部署时,正常性确认单元106获取由模块信息310中的文件标识符312指定的部署目标模块文件“apache-tomcat-6.0.35.tgz”,并使用文件“apache-tomcat-6.0.35.tgz”将部署目标模块“Tomcat”部署在处理设备200中。此外,正常性确认单元106获取由自身确认信息330中的文件标识符332指定的自身确认模块文件“Tomcatself”,并将其部署在处理设备200中。正常性确认单元106执行自身确认模块,从而确认部署目标模块“Tomcat”的部署正常性。当部署目标模块“Tomcat”正常部署时,正常性确认单元106输出“部署正常结束”消息。
此外,假设在步骤S17,在已经执行模块“PostgreSQL”的模块部署处理后,执行对模块“AP1”的配置信息表300(图4)加以指定的模块部署处理。在这种情况下,正常性确认单元106获取由PF确认信息322中的文件标识符324指定的PF确认模块文件“Pf4Tomcat”,并将其部署在处理设备200中。正常性确认单元106通过执行PF确认模块,确认PF模块“Tomcat”的部署正常性。此外,正常性确认单元106获取由PF确认信息322中的文件标识符324指定的PF确认模块文件“PSQL4AP1.sql”,并将其部署在处理设备200中。正常性确认单元106通过执行PF确认模块,确认PF模块“PostgreSQL”的部署正常性。当PF模块“Tomcat”和PF模块“PostgreSQL”正常部署时,正常性确认单元106获取由模块信息310中的文件标识符312指定的部署目标模块文件“ap1Module.war”,并使用文件“ap1Module.war”将部署目标模块“AP1”部署在处理设备200中。并且,正常性确认单元106获取由自身确认信息330中的文件标识符332指定的自身确认模块文件“AP1self”,并将其部署在处理设备200中。正常性确认单元106执行自身确认模块,从而确认部署目标模块“AP1”的部署正常性。当部署目标模块“Tomcat”正常部署时,正常性确认单元106输出“部署正常结束”消息。
当针对所有模块(模块“Java”、模块“Tomcat”、模块“PostgreSQL”、和模块“AP1”)的部署处理结束时,准备单元108输出“构造正常结束”消息。
如上文所描述的,本发明第一示范性实施例的操作结束。
以下,将描述本发明第一示范性实施例的特征配置。图1是示出本发明第一示范性实施例的特征配置的方框图。
参考图1,部署设备100包括配置信息存储单元104和正常性确认单元106。
配置信息存储单元104存储配置信息表300,配置信息表300包括与组成系统的模块的标识符关联的平台(PF)确认信息322和自身确认信息中330中的至少一个。PF配置信息322包括用于确认PF模块的部署正常性的PF确认模块的标识符,所述PF模块是被所述模块依赖的另一模块。自身确认信息330包括用于确认所述模块的部署正常性的自身确认模块的标识符。
正常性确认单元106通过参考配置信息表300,执行以下至少一个:在处理设备200中所述模块的部署前,利用PF确认模块,执行对处理设备200中PF模块的部署正常性的确认,以及在处理设备200中所述模块的部署后,利用自身确认模块,执行对处理设备200中所述模块的部署正常性的确认。
根据本发明第一示范性实施例,在构造系统时,能够更有效地确认系统的正常性。这是因为,组成系统的模块的配置信息表300包括PF确认模块和自身确认模块的标识符,并且,在部署组成系统的每个模块时,正常性确认单元106使用PF确认模块执行对PF模块的部署正常性的确认并且使用自身确认模块执行对部署目标模块的部署正常性的确认。由此,不必针对每个要构造的系统定义用于确认正常性的过程,降低了开发者的负担。
并且,根据本发明第一示范性实施例,在构造系统失败时,能够容易地在部署组成系统的模块的步骤中找到哪一步骤失败。这是因为,如上文提到的,在部署组成系统的模块时,正常性确认单元106对PF模块的部署正常性和部署目标模块的部署正常性进行确认。因此,能够容易地识别部署不成功的模块。并且,开发者因此能够容易地识别部署失败的原因:PF模块部署失败或部署目标模块部署失败。
[第二示范性实施例]
接下来,将描述本发明的第二示范性实施例。
在本发明第一示范性实施例中,在部署组成系统的模块时,确认PF模块的部署正常性和部署目标模块的部署正常性。通过该处理,提高了构造系统的稳定性。然而,这需要较长时间来构造系统。
在本发明第二示范性实施例中,根据重要度和可靠性阈值,确定是否确认PF模块的部署正常性和部署目标模块的部署正常性。这是本发明第一示范性实施例和本发明第二示范性实施例的区别。
本发明第二示范性实施例的配置与本发明第一示范性实施例的配置(图2)类似。
图12是示出根据本发明第二示范性实施例的配置信息表300的示例的图。除了PF确认模块的模块类型323和文件标识符324之外,PF确认信息322还包括重要度325。重要度325指示与PF模块的部署正常性确认有关的重要度。并且,除自身确认模块的类型331和文件标识符332之外,自身确认模块330还包括重要度333。重要度333指示与部署目标模块的部署正常性确认有关的重要度。注意,假设重要度325或重要度333越大表示重要性越高。
正常性确认单元106根据重要度325和可靠性阈值确定是否确认PF模块的部署正常性。正常性确认单元106还根据重要度333和可靠性阈值确定是否确认部署目标模块的部署正常性。
以下,描述根据本发明第二示范性实施例的部署设备100的操作。
在本发明第二示范性实施例中,来自用户等的系统构造请求中除了指定除AP模块标识符之外,还指定可靠性阈值。
在图11示出的模块部署处理中,在步骤S1703选择PF确认信息322后,正常性确认单元106将选择的PF确认信息322中的重要度325与可靠性阈值进行比较。如果重要度325大于或等于可靠性阈值,正常性确认单元106使用PF确认模块(步骤S1704至S1706)确认PF模块的部署正常性,如果重要度325小于可靠性阈值,正常性确认单元106不确认PF模块的部署正常性。
并且,在步骤S1709提取自身确认信息330后,正常性确认单元106将提取的自身确认信息330中的重要度333与可靠性阈值比较。如果重要度333大于或等于可靠性阈值,正常性确认单元106使用自身确认模块(步骤S1710至S1712)确认部署目标模块的部署正常性。如果重要度333小于可靠性阈值,正常性确认单元106不确认部署目标模块的部署正常性。
如上文所描述的,本发明第二示范性实施例的操作结束。
相比本发明第一示范性实施例,根据本发明第二示范性实施例能够降低系统构造所需要的时间。这是因为,正常性确认单元106将正常性确定的重要度与可靠性阈值进行比较,并确定是否确认PF模块的部署正常性和部署目标模块的部署正常性。通过该处理,对于部署失败可能性小的模块以及重要性低的模块,降低重要度值,由此,能够省去对部署正常性的确认,并能够降低系统构造所需要的时间。在系统需要快速构造的情形中,例如灾难恢复等,通过增大可靠性阈值,对最少数量的模块进行部署正常性的确认,能够快速构造系统。
尽管已经参考本发明示范性实施例具体示出并描述了本发明,但是本发明不限于这些实施例。本领域技术人员可以理解并且作出各种形式上或细节上的改变,而不脱离权利要求界定的本发明的精神和范围。
本申请基于并且要求2012年6月4日递交的日本专利申请No.2012-127259的优先权,通过引用将其全部公开内容并入本文。
附图标记列表
1    开发环境
2    外部存储库
100  部署设备
101  模块管理单元
102  模块存储单元
103  配置信息管理单元
104  配置信息存储单元
105  部署单元
106  正常性确认单元
107  构造请求输入单元
108  准备单元
109  AP模块部署单元
110  MW部署单元
111  OS部署单元
112  VM部署单元
113  NW部署单元
200  处理设备
201  虚拟化基础设施
202  虚拟服务器
300   配置信息表
310   模块信息
311   模块标识符
312   文件标识符
320   PF模块信息
321   PF模块标识符
322   PF确认信息
323   模块类型
324   文件标识符
325   重要度
330   自身确认信息
331   模块类型
332   文件标识符
333   重要度

Claims (11)

1.一种部署设备,包括:
配置信息存储装置,用于存储与组成系统的模块的标识符关联的配置信息,所述配置信息包括平台(PF)确认信息和自身确认信息中的至少一个,所述PF确认信息包括用于确认PF模块的部署正常性的PF确认模块的标识符,所述PF模块是被所述模块依赖的另一模块,所述自身确认信息包括用于确认所述模块的部署正常性的自身确认模块的标识符;以及
正常性确认装置,用于参考所述配置信息执行以下至少一个:在处理设备中部署所述模块之前,利用所述PF确认模块,确认处理设备中所述PF模块的部署正常性;以及在处理设备中部署所述模块之后,利用所述自身确认模块,确认处理设备中所述模块的部署正常性。
2.根据权利要求1所述的部署设备,进一步包括用于在处理设备中部署所述模块的部署装置。
3.根据权利要求2所述的部署设备,其中
所述配置信息存储装置存储与组成所述系统的多个模块中的每一个模块的标识符关联的配置信息,
所述配置信息还包括所述PF模块的标识符,
所述部署装置参考所述多个模块中的每一个模块的配置信息,确定所述多个模块的部署顺序,使得在部署所述多个模块中的每一个模块之前在所述处理设备中部署了所述模块的PF模块,并根据所确定的顺序部署所述多个模块中的每一个模块,以及
在部署所述多个模块中的每一个模块时,所述正常性确认装置执行以下至少一个:利用所述PF确认模块确认所述PF模块的部署正常性,以及利用所述自身确认模块确认所述模块的部署正常性。
4.根据权利要求2或3所述的部署设备,其中
当利用所述PF确认模块确认所述PF模块的部署正常性的结果是确定已经正常部署了所述PF模块时,所述部署装置在处理设备中部署所述模块。
5.根据权利要求2至4中任一项所述的部署设备,其中
当利用所述自身确认模块确认所述模块的部署正常性的结果是确定正常部署了所述模块时,所述部署装置部署使用已部署的模块作为PF模块的模块。
6.根据权利要求1至5中任一项所述的部署设备,其中
所述PF确认信息还包括与所述PF模块的部署正常性的确认有关的重要度,以及
所述正常性确认装置通过将所述与所述PF模块的部署正常性的确认有关的重要度和输入的阈值进行比较,确定是否执行对PF模块的部署正常性的确认。
7.根据权利要求1至6中任一项所述的部署设备,其中
所述自身确认信息还包括与所述模块的部署正常性的确认有关的重要度,以及
所述正常性确认装置通过将所述与所述模块的部署正常性的确认有关的重要度和输入的阈值进行比较,确定是否执行对所述模块的部署正常性的确认。
8.根据权利要求1至7中任一项所述的部署设备,其中
所述PF确认模块基于下述中的至少一个执行对所述PF模块的部署正常性的确认:在部署所述PF模块时生成的预定文件是否存在、在部署所述PF模块时激活的预定处理是否存在、在部署所述PF模块时生成的预定日志字符串是否存在、以及通过执行所述PF模块的预定功能获得的结果。
9.根据权利要求1至8中任一项所述的部署设备,其中
所述自身确认模块基于下述中的至少一个执行对所述模块的部署正常性的确认:在部署所述模块时生成的预定文件是否存在、在部署所述模块时激活的预定处理是否存在、在部署所述模块时生成的预定日志字符串是否存在、以及通过执行所述模块的预定功能获得的结果。
10.一种部署方法,包括;
存储与组成系统的模块的标识符关联的配置信息,所述配置信息包括平台(PF)确认信息和自身确认信息中的至少一个,所述PF确认信息包括用于确认PF模块的部署正常性的PF确认模块的标识符,所述PF模块是被所述模块依赖的另一模块,所述自身确认信息包括用于确认所述模块的部署正常性的自身确认模块的标识符;
在处理设备中部署所述模块;以及
参考所述配置信息执行以下至少一个:在处理设备中部署所述模块之前,利用所述PF确认模块,确认处理设备中所述PF模块的部署正常性;以及在处理设备中部署所述模块之后,利用所述自身确认模块,确认处理设备中所述模块的部署正常性。
11.一种计算机可读存储介质,其上记录有程序,所述程序使得计算机执行方法,所述方法包括:
存储与组成系统的模块的标识符关联的配置信息,所述配置信息包括平台(PF)确认信息和自身确认信息中的至少一个,所述PF确认信息包括用于确认PF模块的部署正常性的PF确认模块的标识符,所述PF模块是被所述模块依赖的另一模块,所述自身确认信息包括用于确认所述模块的部署正常性的自身确认模块的标识符;
在处理设备中部署所述模块;以及
参考所述配置信息执行以下至少一个:在处理设备中部署所述模块之前,利用所述PF确认模块,确认处理设备中所述PF模块的部署正常性;以及在处理设备中部署所述模块之后,利用所述自身确认模块,确认处理设备中所述模块的部署正常性。
CN201380029307.8A 2012-06-04 2013-05-28 部署设备和部署方法 Pending CN104335174A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012-127259 2012-06-04
JP2012127259 2012-06-04
PCT/JP2013/003346 WO2013183249A1 (ja) 2012-06-04 2013-05-28 配備装置、及び、配備方法

Publications (1)

Publication Number Publication Date
CN104335174A true CN104335174A (zh) 2015-02-04

Family

ID=49711657

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380029307.8A Pending CN104335174A (zh) 2012-06-04 2013-05-28 部署设备和部署方法

Country Status (6)

Country Link
US (1) US20150127787A1 (zh)
EP (1) EP2857966A4 (zh)
JP (1) JPWO2013183249A1 (zh)
CN (1) CN104335174A (zh)
RU (1) RU2014153134A (zh)
WO (1) WO2013183249A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2015194139A1 (ja) 2014-06-17 2017-04-20 日本電気株式会社 情報処理装置、配備方法、及び、プログラム

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005044011A (ja) * 2003-07-24 2005-02-17 Hitachi Ltd ソフトウェアパッケージ管理方法
JP2006338606A (ja) * 2005-06-06 2006-12-14 Nec Corp ファイル管理手続実行システム
JP2007079773A (ja) * 2005-09-13 2007-03-29 Fuji Xerox Co Ltd ソフトウエア配布サーバ及びソフトウエア配布方法
US20070101197A1 (en) * 2005-11-03 2007-05-03 International Business Machines Corporation System and method for representing system capabilities as software packages in a software package management system
CN1977245A (zh) * 2005-04-25 2007-06-06 株式会社理光 考虑系统稳定性的程序版本管理
JP2007193696A (ja) * 2006-01-20 2007-08-02 Rikogaku Shinkokai 支援プログラム、支援プログラム生成プログラム、支援プログラム生成方法、ファイル生成・配布方法、及びインストールサーバ
US20080040455A1 (en) * 2006-08-08 2008-02-14 Microsoft Corporation Model-based deployment and configuration of software in a distributed environment
US20080098099A1 (en) * 2006-10-23 2008-04-24 Oracle International Corporation Facilitating Deployment Of Customizations Of Enterprise Applications
CN101606145A (zh) * 2007-02-05 2009-12-16 微软公司 为计算机系统定制操作系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103874B2 (en) 2003-10-23 2006-09-05 Microsoft Corporation Model-based management of computer systems and distributed applications
US20080201705A1 (en) * 2007-02-15 2008-08-21 Sun Microsystems, Inc. Apparatus and method for generating a software dependency map
US8893106B2 (en) * 2010-03-15 2014-11-18 Oracle International Corporation Change analysis on enterprise systems prior to deployment
US9256412B2 (en) * 2012-07-04 2016-02-09 Sap Se Scheduled and quarantined software deployment based on dependency analysis

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005044011A (ja) * 2003-07-24 2005-02-17 Hitachi Ltd ソフトウェアパッケージ管理方法
CN1977245A (zh) * 2005-04-25 2007-06-06 株式会社理光 考虑系统稳定性的程序版本管理
JP2006338606A (ja) * 2005-06-06 2006-12-14 Nec Corp ファイル管理手続実行システム
JP2007079773A (ja) * 2005-09-13 2007-03-29 Fuji Xerox Co Ltd ソフトウエア配布サーバ及びソフトウエア配布方法
US20070101197A1 (en) * 2005-11-03 2007-05-03 International Business Machines Corporation System and method for representing system capabilities as software packages in a software package management system
JP2007193696A (ja) * 2006-01-20 2007-08-02 Rikogaku Shinkokai 支援プログラム、支援プログラム生成プログラム、支援プログラム生成方法、ファイル生成・配布方法、及びインストールサーバ
US20080040455A1 (en) * 2006-08-08 2008-02-14 Microsoft Corporation Model-based deployment and configuration of software in a distributed environment
US20080098099A1 (en) * 2006-10-23 2008-04-24 Oracle International Corporation Facilitating Deployment Of Customizations Of Enterprise Applications
CN101606145A (zh) * 2007-02-05 2009-12-16 微软公司 为计算机系统定制操作系统

Also Published As

Publication number Publication date
US20150127787A1 (en) 2015-05-07
EP2857966A1 (en) 2015-04-08
EP2857966A4 (en) 2016-03-16
JPWO2013183249A1 (ja) 2016-01-28
RU2014153134A (ru) 2016-08-10
WO2013183249A1 (ja) 2013-12-12

Similar Documents

Publication Publication Date Title
US10618137B2 (en) Automated constructing method of cloud manufacturing service and cloud manufacturing system
CN103873517B (zh) 一种数据同步的方法、装置和系统
CN111209005B (zh) 程序文件的编译方法、装置和计算机可读存储介质
CN102355682A (zh) 传感器适配方法、装置及物联网系统
CN111416821A (zh) 物联网设备信息采集方法、系统和装置
CN108076098A (zh) 一种业务处理方法及系统
CN104536899A (zh) 一种基于智能集群的软件部署及其维护方法
CN109634612A (zh) 持续集成方法、系统、计算机设备和存储介质
CN103248711A (zh) 一种文件上传的方法和服务器
CN105450476A (zh) 一种回归测试系统及测试方法
CN105743680A (zh) 一种集群部署方法及部署设备
CN111258913A (zh) 算法自动测试方法、装置、计算机系统及可读存储介质
CN111651352B (zh) 一种仓库代码的合并方法及装置
CN103186376A (zh) 一种用于建立或更新软件开发环境的方法、装置和设备
CN102622550B (zh) 面向终端计算机的补丁安全在线检查系统
CN103516735A (zh) 一种网络节点升级的方法及装置
CN116523457A (zh) 基于业务流程的工作流处理方法、装置、设备及存储介质
CN113032245A (zh) 错误定位识别的测试方法、装置、计算机设备及存储介质
CN109032614A (zh) 一种物联网应用程序开发与维护的系统及方法
CN107315576A (zh) 一种动态扩展软件流程的方法和系统
CN109408076A (zh) 一种app批量发版方法、装置及系统
CN108241545B (zh) 系统故障的调试方法及装置
CN113760730A (zh) 一种自动化测试的方法和装置
CN104335174A (zh) 部署设备和部署方法
Thao Managing evolution of software product line

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150204

WD01 Invention patent application deemed withdrawn after publication