CN108446123A - 一种应用程序部署方法及装置 - Google Patents
一种应用程序部署方法及装置 Download PDFInfo
- Publication number
- CN108446123A CN108446123A CN201710078101.4A CN201710078101A CN108446123A CN 108446123 A CN108446123 A CN 108446123A CN 201710078101 A CN201710078101 A CN 201710078101A CN 108446123 A CN108446123 A CN 108446123A
- Authority
- CN
- China
- Prior art keywords
- item
- host
- destination
- request
- identification 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供了一种应用程序部署方法及装置,方法包括:获得在目标项目中部署目标应用程序包的部署请求;基于针对所述目标项目建立的应用程序包与主机项之间的关联关系,确定与所述目标应用程序包具有关联关系的目标主机项,其中,所述主机项为预先根据主机在所述目标项目中的功能确定的,相同功能的主机属于同一个主机项;将所述目标应用程序包部署到所述目标主机项中的主机上。应用本发明实施例提供的方案部署应用程序,提高了应用程序的部署效率。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种应用程序部署方法及装置。
背景技术
随着信息技术的发展,满足用户的需求,需要在项目中实现多样化的功能,为了实现多样化的功能,在项目中所需要部署的主机的数量越来越多,主机之间相互协作、彼此依赖实现多种多样的功能。这里所说的项目为针对某一明确的目标建立的运行平台,包括至少一个主机,示例性的,针对应用软件运营商来说,一个应用软件就是一个项目,为了满足应用软件运行和用户的需求,需要为该项目配置多个主机,才能在保证应用软件正常运行。为了实现多样化的功能,需要项目的不同的主机上部署不同的应用程序,使得主机部署的不同的应用程序实现不同的功能。
现有的应用程序的部署方法为:人工逐个在需要部署应用程序的主机上部署应用程序,这种部署方法耗费地时间比较长,导致应用程序的部署效率比较低。
发明内容
本发明实施例的目的在于提供一种应用程序部署方法及装置,以提高应用程序的部署效率。具体技术方案如下:
第一方面,为了达到上述目的,本发明实施例公开了一种应用程序部署方法,所述方法包括:
获得在目标项目中部署目标应用程序包的部署请求;
基于针对所述目标项目建立的应用程序包与主机项之间的关联关系,确定与所述目标应用程序包具有关联关系的目标主机项,其中,所述主机项为预先根据主机在所述目标项目中的功能确定的,相同功能的主机属于同一个主机项;
将所述目标应用程序包部署到所述目标主机项中的主机上。
第二方面,为了达到上述目的,本发明实施例还公开了一种应用程序部署装置,所述装置包括:
第一获得模块,用于获得在目标项目中部署目标应用程序包的部署请求;
第一确定模块,用于基于针对所述目标项目建立的应用程序包与主机项之间的关联关系,确定与所述目标应用程序包具有关联关系的目标主机项,其中,所述主机项为预先根据主机在所述目标项目中的功能确定的,相同功能的主机属于同一个主机项;
部署模块,用于将所述目标应用程序包部署到所述目标主机项中的主机上。
本发明实施例提供的应用程序部署方法及装置,可以确定待部署应用程序的主机项,将应用程序部署在所确定的主机项中的主机上,从而能够批量地部署应用程序,提高了应用程序的部署效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的应用程序部署方法的第一种流程示意图;
图2为本发明实施例提供的应用程序部署方法的第二种流程示意图;
图3为本发明实施例提供的应用程序部署方法的第三种流程示意图;
图4为本发明实施例提供的应用程序部署方法的第四种流程示意图;
图5为本发明实施例提供的应用程序部署方法的第五种流程示意图;
图6为本发明实施例提供的应用程序部署方法的第六种流程示意图;
图7为本发明实施例提供的应用程序部署方法的第七种流程示意图;
图8为运维自动化控制台对游戏进行管理的框架示意图;
图9为本发明实施例提供的应用程序部署装置的第一种结构示意图;
图10为本发明实施例提供的应用程序部署装置的第二种结构示意图;
图11为本发明实施例提供的应用程序部署装置的第三种结构示意图;
图12为本发明实施例提供的应用程序部署装置的第四种结构示意图;
图13为本发明实施例提供的应用程序部署装置的第五种结构示意图;
图14为本发明实施例提供的应用程序部署装置的第六种结构示意图;
图15为本发明实施例提供的应用程序部署装置的第七种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的应用程序部署方法的第一种流程示意图,方法包括:
S101:获得在目标项目中部署目标应用程序包的部署请求。
在本发明实施例中,部署请求中包含目标应用程序包的标识信息,可以根据目标应用程序包的标识信息确定目标主机项,目标应用程序包的标识信息可以包括目标应用程序包的名称,进一步地,还包括目标应用程序包的版本信息。
对于一个项目来说,可能需要部署很多应用程序包,同时每个应用程序包可能还有多个更新应用程序包,部署这些更新应用程序包可以在现有的基础上增加新的功能、修复原来的应用程序包的漏洞或优化原来的应用程序包的功能等等。在实际应用中,可以通过应用程序的名称和版本,区分不同的应用程序包。
需要说明的是,本发明实施例提供的应用程序部署方法可以应用于运维自动化控制台,该运维自动化控制台进行了高可用和负载均衡设计,使得运维自动化控制台具有稳定可靠的性能,而且具有大并发处理能力。具体的,可以通过现有技术中的方法对运维自动化控制台进行设计,从而使得该运维自动化控制台具有高可用性和负载均衡性能,应用本发明实施例提供的应用程序部署方法,因为进行了负载均衡和大并发对用户的请求进行处理,进一步地提高了部署效率,因为对运维自动化控制台进行高可用,减少了因为运维自动化控制台故障而产生的等待时间。
S102:基于针对所述目标项目建立的应用程序包与主机项之间的关联关系,确定与所述目标应用程序包具有关联关系的目标主机项,其中,所述主机项为预先根据主机在所述目标项目中的功能确定的,相同功能的主机属于同一个主机项。
需要说明的是,在本发明实施例中,所建立的关联关系都是针对一个项目建立的,不同的项目之间相互独立,相互之间互不影响,这样保证了同一用户不同项目的独立性。
在本发明实施例中,主机可以是用户已经购买的云主机,也可以是用户的主机。云主机可以理解为是云服务器,是云计算服务体系中的一项主机产品,该产品有效的解决了传统物理租机与VPS(Virtual Private Server,虚拟专用服务器)服务中,存在的管理难度大,业务扩展性弱的缺陷。用户的主机可以理解为用户私有云中的主机。
运维自动化控制台还开放API(Application Programming Interface,应用程序编程接口)接口,以原子节点的形态开放,提供给其他系统或平台进行调度,实现了以原子形态连接一切。在可以通过开放的API接口与用户的私有云中的主机建立连接,进而可以对私有云中的主机进行操作,还可以通过开放的API接口,与用户购买的其他系统、服务或平台中的主机建立连接并进行操作。示例性的,用户购买了金山云基础资源,例如RDS(Relational Database Service,关系型数据库服务),可以通过开放的API接口,建立与RDS的连接,实现对RDS中的主机进行操作。
在一个项目中,每个主机都有相应的功能,主机项可以根据主机的功能创建。示例性,如果目标项目是游戏,在该游戏项目中有游戏服务器、游戏数据库、缓存服务器、入口服务器、列表服务器及网关服务器等等,则可以创建游戏主机项、游戏数据库主机项、缓存主机项、入口主机项、列表主机项及网关主机项等等。如果目标项目为生产制造企业管理项目,在该项目中可以有采购服务器、原材料数据统计服务器、生产过程的流程控制服务器、成品数量管理服务器等等,可以有采购主机项,原材料数据统计主机项、流程控制主机项和成品数量管理主机项等等。在实际应用中,针对整个项目中的所有主机,可以创建多个主机项,也可以创建一个主机项。需要说明的是,主机项也可以称为角色,当然,也可以有其他的名称,在这里不进行一一列举。
用户可以通过运维控制平台对目标项目中的主机进行管理,当然,并不一定通过运维控制平台实施本发明实施例提供的方法,还可以为针对目标项目部署的管理服务器等等,在这里不进行一一列举。
S103:将所述目标应用程序包部署到所述目标主机项中的主机上。
在确定目标主机项之后,可以将目标应用程序包部署所确定的目标主机项中的主机上,具体的部署方法为:向目标主机项中的主机发送部署指令,该部署指令有目标应用程序包的标识信息和存储路径,主机接收到该部署指令后,在目标应用程序包的存储路径中,基于目标应用程序包的标识信息,获取该目标应用程序包,并安装获取到的该目标应用程序包。这里所说的存储路径可以理解为是目标应用程序包的存储位置。
在本发明的一个优选的实施例中,所述方法还包括:
根据预先设置针对所述目标项目的监控规则,对预先确定的待监控主机进行监控并获取监控数据。
监控规则是可以根据用户的需求而设置的,监控规则中可以设置对哪些主机进行监控,监控这些主机的具体哪些内容等等。示例性的,可以设置对目标项目中的所有主机进行监控,获得监控的主机的磁盘占用数据、内存占用数据、CPU(Central Processing Unit,中央处理器)占用数据等等。在监控规则中还可以设置对目标项目的运营数据进行监控。示例性的,可以对目标项目的服务对象的状态数据监控,例如监控服务对象的在线人数,新增的服务对象的数量、流失的服务对象的数量、回流的服务对象的数量等等。
在本发明实施例中,可以从存储在数据仓库中的常规日志或功能日志中获取监控数据,数据仓库可以是一个主机也可以是多个主机。数据仓库可以从与自身建立连接的主机中获取数据,将数据整理成报表,还可以进行报表的统计和向运维自动化控制台推动报表。运维自动化控制台可以显示推送的报表,或者从报表中获取数据。数据仓库的所有功能可以通过现有技术实现,在这里不进行赘述。
在本发明的一个优选的实施例中,所述方法还包括:
判断所获取的监控数据中的目标监控数据是否符合针对所述目标监控数据对应的操作规则;
如果否,显示针对所述目标监控项的告警信息。
示例性的,如果目标监控数据是CPU占用率,针对CPU占用率对应的操作规则为CPU占用率不超过预设阈值。如果获取的CPU占用率超过预设阈值,则显示CPU占用率超过预设阈值的告警信息。目标项目的运维人员在获知该告警信息后,可以采取措施,对CPU占用率超过预设阈值的主机进行处理,以降低该主机的CPU占用率,避免该主机因为CPU占用率过高而造成的死机甚至宕机。
示例性的,如果目标监控数据是监控主机中A类型请求的发送端口,针对A类型请求的发送端口对应的操作规则为A类型请求必须通过B端口发送。如果主机通过C端口发送A类型请求,则会显示A类型请求通过错误端口发送的告警信息,目标项目的运维人员获知该告警信息后,针对该告警信息进行处理,避免了因请求使用错误的端口发送而造成的请求处理混乱。
在本发明的一个优选的实施例中,在所述根据预先设置的监控规则,对待监控主机进行监控并获取监控数据之后,所述方法还包括:
对所获取的监控数据按照预设的针对所述目标项目的统计规则进行统计。
在本发明实施例中,运营人员可以根据自己的实际需要设置统计规则,示例性的,为了获知服务对象在线人数的变化规律,可以获取一周内服务对象在线人数的数据,然后对获取的一周内服务对象在线人数的数据按照时间的先后顺序进行统计,从而获取服务对象在线人数的变化规律。为了获取一个月内服务对象的充值金额,可以对获取一个月内所有服务对象的充值金额的数据,然后,对获取的充值金额进行统计,从而获得充值总金额。
在获取的监控数据按照预设的统计规则进行统计,可以获得相应的统计图,示例性的,以上述对一周内服务对象在线人数的数据进行统计为例,获得可以是内服务对象在线人数随时间变化的统计图。
在本发明的一个优选的实施例中,所述方法还包括:
获得目标用户的访问请求,所述访问请求包括所述目标用户的标识信息;
基于所述目标用户的标识信息与预先设置的安全策略,确定是否允许所述目标用户访问;
在确定不允许的情况下,拒绝所述目标用户的访问。
在本发明实施例中,目标用户的标识信息可以为目标用户的账号、目标用户的IP地址或经过NAT(Network Address Translation,网络地址转换)后的目标用户的IP地址等等。预先设置的安全策略中包含目标用户的标识信息,以及针对该目标用户设置的权限,权限分为两种:一种是允许,另一种是不允许,当然,也可以设置如果目标用户的标识信息不在安全策略中,则拒绝该目标用户的访问。
安全策略可以是ACL(Access Control List)策略,当然,也可以是其他的能够保证用户的数据安全的策略。在本发明实施例中,可以通过安全策略确定是否允许用户访问,可以实现用户的隔离,保证了访问和数据的安全。
应用本发明实施例,确定待部署应用程序的主机项,将应用程序部署在所确定的主机项中的主机上,从而能够批量地部署应用程序,提高了应用程序的部署效率。
图2为本发明实施例所提供的应用程序部署方法的第二种流程示意图。基于图1所提供的实施例,本发明实施例所提供的应用程序部署方法,在S101之前,还可以包括S104、S105、S106、S107、S108和S109,其中,
S104:获得针对所述目标项目的建立请求,其中,所述建立请求包含所述目标项目的标识信息。
在本发明实施例中,需要先建立目标项目,才能在目标项目的主机中部署应用程序。目标项目的标识信息可以为目标项目的名称,也可以为目标项目的编号等等。
S105:基于所述目标项目的标识信息,建立所述目标项目。
S106:获得在所述目标项目中配置主机的配置请求,其中,所述配置请求包括待配置主机的标识信息。
需要说明的是,在建立目标项目之后,需要在目标项目中配置主机才能对主机的操作。在本发明实施例中,待配置主机的标识信息可以包括待配置主机的名称,IP(Internet Protocol,网络通讯协议)地址,还可以包括待配置主机的弹性IP等等。
在本发明实施例中,同一主机不会配置在两个或两个以上的项目中,如果待配置主机的标识信息包含已经配置到其他项目的主机的标识信息,则显示提示信息,告知用户无法将已经配置到其他项目中的主机配置到目标项目中。在本发明实施例中,还可以显示云主机的标识信息,配置请求中包含的待配置主机的标识信息,可以为在显示的云主机的标识信息中选择的标识信息。
如果显示了云主机的标识信息,说明显示的标识信息对应的云主机已经被检测到,示例性的,可以在云主机Agent(认证)应用程序包,检测云主机是否安装有该Agent(认证)应用程序包,如果有,则显示该主机的标识信息。
S107:在所述目标项目中配置所述待配置主机的标识信息对应的主机。
在本发明实施例中,可以删除目标项目中主机的信息,也可以查看目标项目中主机的IP地址、弹性IP地址、与主机具有关联关系的主机项、主机的配置信息等等。当主机是云主机的情况下,还可以对主机进行开启、关闭、重启等操作,还可以进行认证、监控、编辑等操作。当主机是用户私有云中的主机时,可以进行添加、删除、编辑、认证等操作。
S108:获得建立应用程序包与主机项之间的关联关系的第一请求,其中,所述第一请求包含第一标识信息和第二标识信息,所述第一标识信息为所述第一请求中待建立关联关系的应用程序包的标识信息,所述第二标识信息为所述第一请求中待建立关联关系的主机项的标识信息。
在本发明实施例中,第一标识信息可以包括应用程序包的名称、版本信息等,第二标识信息可以为主机项的名称。
S109:基于所述第一标识信息和所述第二标识信息,建立针对所述目标项目的应用程序包与主机项之间的关联关系。
在本发明实施例中,在S107之后还包括:获得建立主机与主机项之间的关联关系的请求,该请求中包含主机的标识信息和待建立关联关系的主机项的标识信息;基于获得的主机的标识信息和主机项的标识信息,建立主机与主机项之间的关联关系。可以理解为在主机项中配置主机,当建立了应用程序包与主机项之间的关联关系,可以理解为建立了应用程序包与主机项中的主机的关联关系。
应用本发明实施例,确定待部署应用程序的主机项,将应用程序部署在所确定的主机项中的主机上,从而能够批量地部署应用程序,提高了应用程序的部署效率。
在本发明的另一个具体实施例中,参见图3,提供了应用程序部署方法的第三种流程示意图,与图2所示实施例相比,本发明实施例中,基于所述第一标识信息和所述第二标识信息,建立针对所述目标项目的应用程序包与主机项之间的关联关系(S109),包括:
S1091:获取所述第一请求中所包含的目标哈希值。
在本发明实施例中,这里所说的目标哈希值为开发人员开发出的应用程序包的哈希值,目标哈希值可以是利用哈希算法,计算开发人员开发出的应用程序包所包含的数据的哈希值得到的,哈希算法是哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。
S1092:利用哈希算法,计算第一应用程序包所包含数据的哈希值,其中,所述第一应用程序包为所述待建立关联关系的应用程序包。
在实际应用中,可以从第一请求中获取第一应用程序包的存储路径,然后,在该存储路径中确定第一应用程序包,最后,利用哈希算法,计算第一应用程序包所包含数据的哈希值。计算得到的哈希值与目标哈希值是同一种类型的哈希值,该哈希值可以为md5(Message Digest Algorithm 5,消息摘要算法第五版)值,也可以是sha1(Secure HashAlgorithm 1,安全哈希算法)值。
S1093:在确定所述目标哈希值与计算得到的哈希值相同的情况下,基于所述第一标识信息和所述第二标识信息,建立应用程序包与主机项之间的关联关系。
在实际应用中,开发出的应用程序包经过测试之后,进行了修改,将修改后的应用程序包存储至存储路径中。目标哈希值是计算修改前的应用程序包的哈希值,计算得到的哈希值是修改后的应用程序包的哈希值,导致目标哈希值与计算得到的哈希值不相同,需要重新获得第一请求,重新获得的第一请求中所包含的目标哈希值为修改后的应用程序包的哈希值,目标哈希值与计算得到的哈希值相同,才可以建立应用程序包与主机项之间的关联关系。
在存储路径中存储不是待存储的应用程序包,也会造成目标哈希值与计算得到的哈希值不相同,可以将存储路径中存储的应用程序包更换为待存储的应用程序包。示例性的,待存储的应用程序包是应用程序包A,在应用程序包A的存储路径中存储的应用程序包B,则目标哈希值是应用程序包A的哈希值,计算得到的哈希值是应用程序包B的哈希值。在这种情况下,可以将应用程序包A的存储路径中存储的应用程序包B更换为应用程序包A。当然,还有其他原因造成目标哈希值与计算得到的哈希值不相同,在这里不进行一一列举。
为了防止应用程序包的重复存储,可以将多个不同的应用程序包压缩在一个文件中,上传至存储路径中,可以根据用户预先定义的针对应用程序包的拆分规则,拆分包含多个应用程序包的文件。在本发明实施例中,还可以查看应用程序包的大小、所属项目、对应的主机项、详情等,详情中记载了应用程序包是否可拆分、是否是完整包、是否是增量包等信息。
目标哈希值与计算得到的哈希值相同,说明该应用程序包就是待建立关联关系的应用程序包,保证了待建立关联关系的应用程序包的正确性,进一步地,保证了建立的应用程序包与主机项之间的关联关系的正确性。
应用本发明实施例,确定待部署应用程序的主机项,将应用程序部署在所确定的主机项中的主机上,从而能够批量地部署应用程序,提高了应用程序的部署效率。
图4为本发明实施例所提供的应用程序部署方法的第四种流程示意图。基于图2所提供的实施例,本发明实施例所提供的应用程序部署方法,在S109之后,还可以包括S110和S111,其中,
S110:获得建立所述目标项目中的主机项与组别之间的关联关系的第二请求,其中,所述组别是根据所述目标项目中主机所在的区域确定的,所述第二请求包含第三标识信息和第四标识信息,所述第三标识信息为所述第二请求中待建立关联关系的主机项的标识信息,所述第四标识信息为所述第二请求中待建立关联关系的组别的标识信息。
在本发明实施例中,可以在目标项目中创建大区,示例性的,在目标项目中可以创建华东大区、华南大区、华中大区、华北大区等等,也可以创建中国大区、美国大区、欧盟大区等等。具体地,可以根据实际情况进行创建。在本发明实施例还可以针对用户的私有云建立私有大区,私有云可以开放的API接口接入运维化控制台,还可以删除建立额的私有大区。
这里所说的组别可以为上述所说的大区,也可以在大区创建组别,示例性的,可以华北大区中创建组别,创建的组别分别为华北一区、华北二区、华北三区等等。
S111:基于所述第三标识信息和所述第四标识信息,建立针对所述目标项目的主机项与组别之间的关联关系。
需要说明的是,主机项与组别之间的关联关系是通过主机建立的,可以先在组别中配置主机,可以理解为建立了组别与主机之间关联关系,然后根据主机与主机项之间的关联关系,确定组别与主机项之间的关联关系。示例性的,组别A中配置有主机B,主机B与主机项1之间具有关联关系,则获得组别A的标识信息和主机项1的标识信息,建立组别与主机项之间的关联关系。还可以先建立组别与主机项之间的关联关系,在该组别的主机项中配置主机,当然,并不仅限于上述两种建立组别与主机项之间的关联关系的方法。
需要说明的是,同一个组别可以建立与不同的主机项之间的关联关系,同一个主机项也可以建立与不同的组别之间的关联关系。建立同一主机项与不同的组别之间的关联关系,可以理解为与主机项建立关联关系的组别中创建该主机项。
建立组别与主机项之间的关联关系,可以理解为对组别中配置的主机进行进一步地划分或者对主机项中配置的主机进行进一步地划分,这样可以选择在哪些主机项部署应用程序,实现了应用程序灵活地部署。
所述基于针对所述目标项目建立的应用程序包与主机项之间的关联关系,确定与所述目标应用程序包具有关联关系的目标主机项(S102),包括:
第一步:基于针对所述目标项目建立的应用程序包与主机项之间的关联关系,确定与所述目标应用程序包具有关联关系的第一主机项。
在本发明实施例中,当部署请求中不包括目标组别的时候,第一主机项就是目标主机项;当部署请求中包括目标组别的时候,目标主机项是第一主机项其中的一部分。
第二步:获取所述部署请求中所包含的目标组别。
在部署请求中除了包含目标应用程序包的信息外,还可以包含目标组别的信息,目标组别中包括至少一个组别。
第三步:根据建立的针对所述目标项目的主机项与组别之间的关联关系,在所述第一主机项中确定与所述目标组别具有关联关系的主机项,作为目标主机项。
上述确定的第一主机项可能与多个组别建立了关联关系,所以需要在第一主机项中确定与目标组别具有关联关系的主机项,作为目标主机项。
在本发明实施例中,针对目标项目的部署提供了三种部署方案,这三种部署方案分别为简单部署方案、高级部署方案和自定义部署方案。建立请求中包含了选择的部署方案的信息,根据选择的部署方案中的部署顺序对目标项目进行部署。
如果选择的部署方案是简单部署方案,简单部署方案包括添加主机、添加组别、添加程序这三个步骤,添加主机实际上是在目标项目中配置主机,是通过本发明实施例中S106和S107实现的;添加组别实际上是建立组别与主机项之间的关联关系,是通过本发明实施例中S110和S111实现的;添加程序实际上是建立应用程序包与主机项之间的关系,是通过本发明实施例中S108和S109实现的;当然,在一次部署中并不一定要全部执行简单部署方案这三个步骤。简单部署方案提供最简单的操作步骤,能够实现应用程序的快速部署,提高应用程序的部署效率。
如果选择的部署方案是高级部署方案,相较于简单部署方案,高级部署方案中增加了添加主机项、关联主机项主机这两个步骤。添加主机项实际上是创建主机项,在本发明实施例中,可以通过在S107和S110之间增加两个步骤来实现添加主机项,第一步是获得建立主机项的请求,该请求中包含待建立的主机项的标识信息,第二步是基于待建立的主机项的标识信息,创建该主机项。关联主机项主机实际上是建立主机和主机项之间的关联关系,在在S109之后增加两个步骤实现关联主机项主机。第一步是获得建立主机与主机项之间的关联关系的请求,请求中包括待建立关联关系的主机的标识信息和主机项的标识信息。第二步是根据待建立关联关系的主机的标识信息和主机项的标识信息,建立主机与主机项之间的关联关系。高级部署方案从多个维度进行部署操作,提供比较详细的部署方案。
如果选择的部署方案是自定义部署方案,该部署方案的顺序可以根据用户的选择而改变,简单部署方案和高级部署方案均提供部署的顺序,而自定义部署方案则没有提供顺序,示例性的,可以根据用户的请求先建立主应用程序包与主机项之间的关联关系,再在目标项目中配置所述待配置主机的标识信息对应的主机。自定义部署方案相较于其他两种部署方案,是在对本发明实施例提供的应用程序方法比较熟悉的情况下,进行目标项目的部署,能够实现对应用程序快速地部署。
应用本发明实施例,确定待部署应用程序的主机项,将应用程序部署在所确定的主机项中的主机上,从而能够批量地部署应用程序,提高了应用程序的部署效率。
图5为本发明实施例所提供的应用程序部署方法的第五种流程示意图。基于图2所提供的实施例,本发明实施例所提供的应用程序部署方法,在S109之后,还可以包括S112和S113,在S103之后还可以包括S114、S115和S116,其中,
S112:获得建立命令与主机项之间的关联关系的第三请求,其中,所述第三请求包含第五标识信息和第六标识信息,所述第五标识信息为所述第三请求中待建立关联关系的命令的标识信息,所述第六标识信息为所述第三请求中待建立关联关系的主机项的标识信息。
在本发明实施例中,命令可以是针对主机、应用程序包等进行操作而产生的,示例性的,命令可以为获取主机中的内存占用数据、关闭云主机等等。第三请求中包含的第五标识信息可以为命令的名称,还可以为命令的编号等等。
S113:基于所述第五标识信息和所述第六标识信息,建立针对所述目标项目的命令与主机项之间的关联关系。
需要说明的是,建立的命令与主机项之间的关联关系可以为建立命令与组别中的主机项的关联关系。
S114:获得针对目标命令的执行请求。
在本发明实施例中,执行请求可以是在预设的时间点获得,也可以是接收用户发送的。
S115:根据建立的针对所述目标项目的命令与主机项之间的关联关系,确定与所述目标命令具有关联关系的主机项。
在实际应用中,如果执行请求中包含组别,则先确定与目标命令具有关联关系的第二主机项,根据组别与主机项之间的关联关系,在第二主机项中确定与执行请求中的组别具有关联关系的主机项。当然,如果执行请求中没有包含组别,则将执行请求发送到第二主机项中的主机上。
S116:将所述执行请求发送给所确定的主机项中的主机上,以使得接收到所述执行请求的主机执行所述目标命令。
在本发明实施例中,将执行请求发送给所确定的主机项中的主机,这样可以使得批量执行该命令,相较于逐个向主机发送执行请求,提高了命令执行的效率。
应用本发明实施例,确定待部署应用程序的主机项,将应用程序部署在所确定的主机项中的主机上,从而能够批量地部署应用程序,提高了应用程序的部署效率。
图6为本发明实施例所提供的应用程序部署方法的第六种流程示意图。基于图5所提供的实施例,本发明实施例所提供的应用程序部署方法,在S113之后,还可以包括S117和S118,在S103之后还可以包括S119、S120和S121,其中,
S117:获得建立配置模板与主机项之间的关联关系的第四请求,其中,所述配置模板中包括配置项和配置项对应的值,所述第四请求包含第七标识信息和第八标识信息,所述第七标识信息为所述第四请求中待建立关联关系的配置模板的标识信息,所述第八标识信息为所述第四请求中待建立关联关系的主机项的标识信息.
在本发明实施例中,配置模板可以是本地上传的配置模板,也可以是在线编辑的配置模板。在配置模板中可以设置多个配置项,配置项可以为一段程序的名称,配置项对应的值可以为该段程序的具体代码,配置项也可以应用程序包的配置文件中的变量,配置项对应的值是变量的值。在实际应用中,可以预先设置好配置模板的格式,用户可以在配置模板中填写满足预设格式的配置项和配置项的值,也可以设置配置模板必须使用预先设置的语言进行填写。
S118:基于所述第七标识信息和所述第八标识信息,建立针对所述目标项目的配置模板与主机项之间的关联关系。
S119:获得以目标配置模板中的配置项对应的值更新主机中对应的值的更新请求。
在本发明实施例中,更新请求为将主机项配置项对应的值更新为目标配置模板中配置项对应的值的请求。
S120:根据建立的针对所述目标项目的配置模板与主机项之间的关联关系,确定与目标配置模板具有关联关系的主机项。
在实际应用中,如果更新请求中包含组别,则先确定与目标配置模板具有关联关系的第三主机项,根据组别与主机项之间的关联关系,在第三主机项中确定与更新请求中的组别具有关联关系的主机项。当然,如果更新请求中没有包含组别,则将更新请求发送到第三主机项中的主机上。
S121:将所述更新请求发送给所确定的主机项中的主机上,以使得接收到所述更新请求的主机将目标配置项对应的值变更为所述目标配置模板中所述目标配置项对应的值,其中,所述目标配置项为所述目标配置模板中的配置项。
在实际应用中,更新请求中包含目标配置模板的标识信息和存储路径,接收到更新请求的主机在目标配置模板的存储路径中,根据目标配置模板的标识信息,确定该目标配置模板,确定是否自身包含目标配置模板中的配置项,如果包含,则将该配置项对应的值更新为配置模板中该配置项的值。这样可以批量对主机中的配置项进行更新,提高了更新配置项的效率。
在本发明实施例中,用户发送的请求中可以包含上述所说的部署请求、执行请求和更新请求,并且在请求中包含了部署请求、执行请求和更新请求的处理顺序。获得用户的请求,按照该请求中的部署请求、执行请求和更新请求处理顺序,处理对应的请求。示例性的,请求中包含部署请求1、部署请求2、执行请求和更新请求,处理顺序依次为部署请求1、更新请求、部署请求2和执行请求,则获得该请求后,按照上述提供的方法先对部署请求1进行处理,其次对更新请求进行处理,再对部署请求2进行处理,最后对执行请求处理。用户只需发送一个请求,就可以实现对应用程序包部署、命令的执行,配置项对应的值的变更,可以增加用户的体验。
应用本发明实施例,确定待部署应用程序的主机项,将应用程序部署在所确定的主机项中的主机上,从而能够批量地部署应用程序,提高了应用程序的部署效率。
图7为本发明实施例所提供的应用程序部署方法的第七种流程示意图。基于图4所提供的实施例,本发明实施例所提供的应用程序部署方法,在S111之后,还可以包括S122和S123,在S103之后还可以包括S124、S125和S126,其中,
S122:获得建立参数与参数作用范围之间的关联关系的第五请求,其中,所述参数作用范围为目标项目、主机项、组别或主机中的任意一个,所述第五请求包含参数的标识信息和参数作用范围的标识信息。
在本发明实施例中,参数作用范围如果是目标项目,则认为该参数作用范围为目标项目中的所有主机;参数作用范围如果是主机项,则认为该参数作用范围为主机项中的所有主机;参数作用范围如果是组别,则认为该参数作用范围为组别中的所有主机;参数作用范围如果是主机,则认为该参数作用范围为单个主机或者选择的多个主机;选择的多个主机可以是同一个主机项的部分主机,且这部分主机不在同一个组别中,或者是同一个组别的部分主机,且这部分主机不在同一个主机项中,也可以是不同主机项中的主机,且这些主机不属于同一个组别,还可以是不同组别中的主机,且这些主机不属于同一个主机项。
S123:基于所述参数的标识信息和所述参数作用范围的标识信息,建立针对所述目标项目的参数与参数作用范围之间的关联关系。
参数作用范围的标识信息可以包括组别的标识信息和主机项的标识信息,且该组别与主机项之间具有关联关系,这样可以建立参数与该组别中的主机项之间的关联关系,也可以是建立参数与主机项中的组别之间的关联关系。
S124:获得针对目标参数的变更请求,其中,所述变更请求中包含所述目标参数的目标参数值。
S125:根据建立的针对所述目标项目的参数与主机项之间的关联关系,确定与所述目标参数具有关联关系的主机项。
在实际应用中,变更请求中包含目标参数的标识信息,可以根据该目标参数的标识信息、根据建立的针对所述目标项目的参数与主机项之间的关联关系,确定主机项。
如果变更请求中包含组别的标识信息和主机项的标识信息,则先确定与目标参数具有关联关系的第四主机项,根据组别与主机项之间的关联关系,在第三主机项中确定与变更请求中的组别具有关联关系的主机项。
S126:将所确定的主机项中主机的目标参数的参数值变更为所述目标参数值。
现有的对应用程序部署方法可能存在主机比较多管理比较困难、大量重复工作、配置管理复杂、没有完善的监控体系等缺点,例如,对MMO(Massive Multiplayer Online)类游戏这个项目进行应用程序部署就存在以上缺点,在本发明实施例中,通过建立各种关联关系,根据关联关系确定待操作的主机,向主机发送指令,避免了重复工作,而且对主机的管理比较简单。同时可以实现批量地配置,配置管理比较简单,还可以根据预先设置的监控规则,对主机监控,还可以监控哪些主机,对主机的哪些数据进行监控,具有完善的监控体系。本发明实施例不仅能解决现有技术中应用程序部署方法的缺点,也可以解决项目本身存在的问题,例如,项目部署周期短,可以通过批量地部署应用程序,提高部署效率,解决项目部署周期短的问题。
在本发明实施例中,提供的三种部署方案,除了包括上述所说的步骤,还可以包括添加配置模板、添加参数、添加命令的步骤。添加配置模板实际上是建立配置模板与主机项之间的关联关系,可以通过本发明实施例中的S118和S119实现;添加参数实际上是建立参数与参数作用范围的关联关系,可以通过本发明实施例中的S122和S123实现;添加命令实际上是建立命令与主机项的关联关系,可以通过本发明实施例中的S112和S113实现。
示例性的,以目标项目为游戏为例,对游戏进行部署,以实现对游戏的管理,运维自动化控制台对游戏进行管理的框架示意图如图8所示,运维自动化控制台对游戏进行项目、组别、主机项三个维度的管理,需要说明的是,项目管理的范围大于组别和主机项。运维自动化控制台可以对游戏配置的主机进行管理,主机分为两类,一类是为游戏数据安全配置的主机,例如网关服务器等等;另一类是针对游戏玩家运行游戏配置的主机,例如,游戏服务器、游戏数据库等等。另外,还可以处理数据,可以通过数据仓库收集数据,还可以对功能日志或常规日志进行分析,这样可以提取有用的信息或获得结论,还可以对数据仓库中的数据进行统计获得报表,并推送报表,以使得游戏的研发人员、运维人员或运营人员可以从报表中获得信息,以进行下一步的工作。同时还可以对游戏这个项目进行监控,具体的,可以实现应用层和系统层两个维度的监控,如果监控到不符合预先设置的操作规则的数据或操作,则会推送告警信息,以使得运维人员能够及时得到信息,并且针对告警信息进行处理,维护游戏的正常运行。金山云基础资源作为游戏的一部分,可以为游戏的运行提供支持,运维自动化控制台还可以对金山云基础资源进行管理,具体管理的方法已经在上文提到,在这里不进行赘述。
应用本发明实施例,确定待部署应用程序的主机项,将应用程序部署在所确定的主机项中的主机上,从而能够批量地部署应用程序,提高了应用程序的部署效率。
与图1所示的方法实施例相对应,图9为本发明实施例提供的应用程序部署装置的第一种结构示意图,该装置包括:第一获得模块201、第一确定模块202和部署模块203。
第一获得模块201,用于获得在目标项目中部署目标应用程序包的部署请求;
第一确定模块202,用于基于针对所述目标项目建立的应用程序包与主机项之间的关联关系,确定与所述目标应用程序包具有关联关系的目标主机项,其中,所述主机项为预先根据主机在所述目标项目中的功能确定的,相同功能的主机属于同一个主机项;
部署模块203,用于将所述目标应用程序包部署到所述目标主机项中的主机上。
在本发明的一个优选实施例中,所述装置还可以包括监控模块(图中未示出)。
监控模块,用于根据预先设置的针对所述目标项目的监控规则,对预先确定的待监控主机进行监控并获取监控数据。
在本发明的一个优选实施例中,所述装置还可以包括判断模块和显示模块图中未示出)。
判断模块,用于判断所获取的监控数据中的目标监控数据是否符合针对所述目标监控数据对应的操作规则;
显示模块,用于在所述判断模块的判断结果为否的情况下,显示针对所述目标监控项的告警信息。
在本发明的一个优选实施例中,所述装置还可以包括统计模块(图中未示出)。
统计模块,用于对所获取的监控数据按照预设的针对所述目标项目的统计规则进行统计。
在本发明的一个优选实施例中,所述装置还可以包括第十二获得模块、第五确定模块和拒绝模块(图中未示出)。
第十二获得模块,用于获得目标用户的访问请求,所述访问请求包括所述目标用户的标识信息;
第五确定模块,用于基于所述目标用户的标识信息与预先设置的针对所述目标项目的安全策略,确定是否允许所述目标用户访问;
拒绝模块,用于在确定不允许的情况下,拒绝所述目标用户的访问。
应用本发明实施例,确定待部署应用程序的主机项,将应用程序部署在所确定的主机项中的主机上,从而能够批量地部署应用程序,提高了应用程序的部署效率。
与图2所示的方法实施例相对应,图10为本发明实施例提供的应用程序部署装置的第二种结构示意图,该装置还可以包括:第二获得模块204、第一建立模块205、第三获得模块206、配置模块207、第四获得模块208和第二建立模块209。
第二获得模块204,用于获得针对所述目标项目的建立请求,其中,所述建立请求包含所述目标项目的标识信息;
第一建立模块205,用于基于所述目标项目的标识信息,建立所述目标项目;
第三获得模块206,用于获得在所述目标项目中配置主机的配置请求,其中,所述配置请求包括待配置主机的标识信息;
配置模块207,用于在所述目标项目中配置所述待配置主机的标识信息对应的主机;
第四获得模块208,用于获得建立应用程序包与主机项之间的关联关系的第一请求,其中,所述第一请求包含第一标识信息和第二标识信息,所述第一标识信息为所述第一请求中待建立关联关系的应用程序包的标识信息,所述第二标识信息为所述第一请求中待建立关联关系的主机项的标识信息;
第二建立模块209,用于基于所述第一标识信息和所述第二标识信息,建立针对所述目标项目的应用程序包与主机项之间的关联关系。
应用本发明实施例,确定待部署应用程序的主机项,将应用程序部署在所确定的主机项中的主机上,从而能够批量地部署应用程序,提高了应用程序的部署效率。
与图3所示的方法实施例相对应,图11为本发明实施例提供的应用程序部署装置的第三种结构示意图,第二建立模块209可以包括:获取子模块2091、计算子模块2092和建立子模块2093。
获取子模块2091,用于获取所述第一请求中所包含的目标哈希值;
计算子模块2092,用于利用哈希算法,计算第一应用程序包所包含数据的哈希值,其中,所述第一应用程序包为所述待建立关联关系的应用程序包;
建立子模块2093,用于在确定所述目标哈希值与计算得到的哈希值相同的情况下,基于所述第一标识信息和所述第二标识信息,建立针对所述目标项目的应用程序包与主机项之间的关联关系。
应用本发明实施例,确定待部署应用程序的主机项,将应用程序部署在所确定的主机项中的主机上,从而能够批量地部署应用程序,提高了应用程序的部署效率。
与图4所示的方法实施例相对应,图12为本发明实施例提供的应用程序部署装置的第四种结构示意图,该装置还可以包括:第五获得模块210和第三建立模块211。
第五获得模块210,用于获得建立所述目标项目中的主机项与组别之间的关联关系的第二请求,其中,所述组别是根据所述目标项目中主机所在的区域确定的,所述第二请求包含第三标识信息和第四标识信息,所述第三标识信息为所述第二请求中待建立关联关系的主机项的标识信息,所述第四标识信息为所述第二请求中待建立关联关系的组别的标识信息;
第三建立模块211,用于基于所述第三标识信息和所述第四标识信息,建立针对所述目标项目的主机项与组别之间的关联关系;
所述第一确定模块202,可以包括第一确定子模块、获取子模块和第二确定子模块(图中未示出)。
第一确定子模块,用于基于针对所述目标项目建立的应用程序包与主机项之间的关联关系,确定与所述目标应用程序包具有关联关系的第一主机项;
获取子模块,用于获取所述部署请求中所包含的目标组别;
第二确定子模块,用于根据建立的针对所述目标项目的主机项与组别之间的关联关系,在所述第一主机项中确定与所述目标组别具有关联关系的主机项,作为目标主机项。
应用本发明实施例,确定待部署应用程序的主机项,将应用程序部署在所确定的主机项中的主机上,从而能够批量地部署应用程序,提高了应用程序的部署效率。
与图5所示的方法实施例相对应,图13为本发明实施例提供的应用程序部署装置的第五种结构示意图,该装置还可以包括:第六获得模块212、第四建立模块213、第七获得模块214、第二确定模块215和第一发送模块216。
第六获得模块212,用于获得建立命令与主机项之间的关联关系的第三请求,其中,所述第三请求包含第五标识信息和第六标识信息,所述第五标识信息为所述第三请求中待建立关联关系的命令的标识信息,所述第六标识信息为所述第三请求中待建立关联关系的主机项的标识信息;
第四建立模块213,用于基于所述第五标识信息和所述第六标识信息,建立针对所述目标项目的命令与主机项之间的关联关系;
第七获得模块214,用于获得针对目标命令的执行请求;
第二确定模块215,用于根据建立的针对所述目标项目的命令与主机项之间的关联关系,确定与所述目标命令具有关联关系的主机项;
第一发送模块216,用于将所述执行请求发送给所确定的主机项中的主机上,以使得接收到所述执行请求的主机执行所述目标命令。
应用本发明实施例,确定待部署应用程序的主机项,将应用程序部署在所确定的主机项中的主机上,从而能够批量地部署应用程序,提高了应用程序的部署效率。
与图6所示的方法实施例相对应,图14为本发明实施例提供的应用程序部署装置的第六种结构示意图,该装置还可以包括:第八获得模块217、第五建立模块218、第九获得模块219、第三确定模块220和第二发送模块221。
第八获得模块217,用于获得建立配置模板与主机项之间的关联关系的第四请求,其中,所述配置模板中包括配置项和配置项对应的值,所述第四请求包含第七标识信息和第八标识信息,所述第七标识信息为所述第四请求中待建立关联关系的配置模板的标识信息,所述第八标识信息为所述第四请求中待建立关联关系的主机项的标识信息;
第五建立模块218,用于基于所述第七标识信息和所述第八标识信息,建立针对所述目标项目的配置模板与主机项之间的关联关系;
第九获得模块219,用于获得以目标配置模板中的配置项对应的值更新主机中对应的值的更新请求;
第三确定模块220,用于根据建立的配置模板与主机项之间的关联关系,确定与目标配置模板具有关联关系的主机项;
第二发送模块221,用于所述更新请求发送给所确定的主机项中的主机上,以使得接收到所述更新请求的主机将目标配置项对应的值变更为所述目标配置模板中所述目标配置项对应的值,其中,所述目标配置项为所述目标配置模板中的配置项。
应用本发明实施例,确定待部署应用程序的主机项,将应用程序部署在所确定的主机项中的主机上,从而能够批量地部署应用程序,提高了应用程序的部署效率。
与图7所示的方法实施例相对应,图15为本发明实施例提供的应用程序部署装置的第七种结构示意图,该装置还可以包括:第十获得模块222、第六建立模块223、第十一获得模块224、第四确定模块225和第三发送模块226。
第十获得模块222,用于获得建立参数与参数作用范围之间的关联关系的第五请求,其中,所述参数作用范围为目标项目、主机项、组别或主机中的任意一个,所述第五请求包含参数的标识信息和参数作用范围的标识信息;
第六建立模块223,用于基于所述参数的标识信息和所述参数作用范围的标识信息,建立针对所述目标项目的参数与参数作用范围之间的关联关系;
第十一获得模块224,用于获得针对目标参数的变更请求,其中,所述变更请求中包含所述目标参数的目标参数值;
第四确定模块225,用于根据建立的针对所述目标项目的参数与主机项之间的关联关系,确定与所述目标参数具有关联关系的主机项;
第三发送模块226,用于将所述变更请求发送给所确定的主机项中的主机上,以使得接收到所述变更请求的主机将目标参数的参数值变更为所述目标参数值。
应用本发明实施例,确定待部署应用程序的主机项,将应用程序部署在所确定的主机项中的主机上,从而能够批量地部署应用程序,提高了应用程序的部署效率。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (22)
1.一种应用程序部署方法,其特征在于,所述方法包括:
获得在目标项目中部署目标应用程序包的部署请求;
基于针对所述目标项目建立的应用程序包与主机项之间的关联关系,确定与所述目标应用程序包具有关联关系的目标主机项,其中,所述主机项为预先根据主机在所述目标项目中的功能确定的,相同功能的主机属于同一个主机项;
将所述目标应用程序包部署到所述目标主机项中的主机上。
2.根据权利要求1所述的方法,其特征在于,在所述获得在目标项目中部署目标应用程序包的部署请求之前,所述方法还包括:
获得针对所述目标项目的建立请求,其中,所述建立请求包含所述目标项目的标识信息;
基于所述目标项目的标识信息,建立所述目标项目;
获得在所述目标项目中配置主机的配置请求,其中,所述配置请求包括待配置主机的标识信息;
在所述目标项目中配置所述待配置主机的标识信息对应的主机;
获得建立应用程序包与主机项之间的关联关系的第一请求,其中,所述第一请求包含第一标识信息和第二标识信息,所述第一标识信息为所述第一请求中待建立关联关系的应用程序包的标识信息,所述第二标识信息为所述第一请求中待建立关联关系的主机项的标识信息;
基于所述第一标识信息和所述第二标识信息,建立针对所述目标项目的应用程序包与主机项之间的关联关系。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一标识信息和所述第二标识信息,建立针对所述目标项目的应用程序包与主机项之间的关联关系,包括:
获取所述第一请求中所包含的目标哈希值;
利用哈希算法,计算第一应用程序包所包含数据的哈希值,其中,所述第一应用程序包为所述待建立关联关系的应用程序包;
在确定所述目标哈希值与计算得到的哈希值相同的情况下,基于所述第一标识信息和所述第二标识信息,建立应用程序包与主机项之间的关联关系。
4.根据权利要求2所述的方法,其特征在于,在所述基于所述第一标识信息和所述第二标识信息,建立针对所述目标项目的应用程序包与主机项之间的关联关系之后,所述方法还包括:
获得建立所述目标项目中的主机项与组别之间的关联关系的第二请求,其中,所述组别是根据所述目标项目中主机所在的区域确定的,所述第二请求包含第三标识信息和第四标识信息,所述第三标识信息为所述第二请求中待建立关联关系的主机项的标识信息,所述第四标识信息为所述第二请求中待建立关联关系的组别的标识信息;
基于所述第三标识信息和所述第四标识信息,建立针对所述目标项目的主机项与组别之间的关联关系;
所述基于针对所述目标项目建立的应用程序包与主机项之间的关联关系,确定与所述目标应用程序包具有关联关系的目标主机项,包括:
基于针对所述目标项目建立的应用程序包与主机项之间的关联关系,确定与所述目标应用程序包具有关联关系的第一主机项;
获取所述部署请求中所包含的目标组别;
根据建立的针对所述目标项目的主机项与组别之间的关联关系,在所述第一主机项中确定与所述目标组别具有关联关系的主机项,作为目标主机项。
5.根据权利要求2-4任一项所述的方法,其特征在于,在所述基于所述第一标识信息和所述第二标识信息,建立应用程序包与主机项之间的关联关系之后,所述方法还包括:
获得建立命令与主机项之间的关联关系的第三请求,其中,所述第三请求包含第五标识信息和第六标识信息,所述第五标识信息为所述第三请求中待建立关联关系的命令的标识信息,所述第六标识信息为所述第三请求中待建立关联关系的主机项的标识信息;
基于所述第五标识信息和所述第六标识信息,建立针对所述目标项目的命令与主机项之间的关联关系;
在所述将所述目标应用程序包部署到所述目标主机项中的主机上之后,所述方法还包括:
获得针对目标命令的执行请求;
根据建立的针对所述目标项目的命令与主机项之间的关联关系,确定与所述目标命令具有关联关系的主机项;
将所述执行请求发送给所确定的主机项中的主机上,以使得接收到所述执行请求的主机执行所述目标命令。
6.根据权利要求5所述的方法,其特征在于,在所述基于所述第五标识信息和所述第六标识信息,建立针对所述目标项目的命令与主机项之间的关联关系之后,所述方法还包括:
获得建立配置模板与主机项之间的关联关系的第四请求,其中,所述配置模板中包括配置项和配置项对应的值,所述第四请求包含第七标识信息和第八标识信息,所述第七标识信息为所述第四请求中待建立关联关系的配置模板的标识信息,所述第八标识信息为所述第四请求中待建立关联关系的主机项的标识信息;
基于所述第七标识信息和所述第八标识信息,建立针对所述目标项目的配置模板与主机项之间的关联关系;
在所述将所述目标应用程序包,部署到所述目标主机项中的主机上之后,所述方法还包括:
获得以目标配置模板中的配置项对应的值更新主机中对应的值的更新请求;
根据建立的针对所述目标项目的配置模板与主机项之间的关联关系,确定与目标配置模板具有关联关系的主机项;
将所述更新请求发送给所确定的主机项中的主机上,以使得接收到所述更新请求的主机将目标配置项对应的值变更为所述目标配置模板中所述目标配置项对应的值,其中,所述目标配置项为所述目标配置模板中的配置项。
7.根据权利要求4或6所述的方法,其特征在于,在所述根据建立的针对所述目标项目的主机项与组别之间的关联关系,在所述第一主机项中确定与所述目标组别具有关联关系的目标主机项之后,所述方法还包括:
获得建立参数与参数作用范围之间的关联关系的第五请求,其中,所述参数作用范围为目标项目、主机项、组别或主机中的任意一个,所述第五请求包含参数的标识信息和参数作用范围的标识信息;
基于所述参数的标识信息和所述参数作用范围的标识信息,建立针对所述目标项目的参数与参数作用范围之间的关联关系;
在所述将所述目标应用程序包,部署到所述目标主机项中的主机上之后,所述方法还包括:
获得针对目标参数的变更请求,其中,所述变更请求中包含所述目标参数的目标参数值;
根据建立的针对所述目标项目的参数与主机项之间的关联关系,确定与所述目标参数具有关联关系的主机项;
将所述变更请求发送给所确定的主机项中的主机上,以使得接收到所述变更请求的主机将目标参数的参数值变更为所述目标参数值。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据预先设置针对所述目标项目的监控规则,对预先确定的待监控主机进行监控并获取监控数据。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
判断所获取的监控数据中的目标监控数据是否符合针对所述目标监控数据对应的操作规则;
如果否,显示针对所述目标监控项的告警信息。
10.根据权利要求8所述的方法,其特征在于,在所述根据预先设置的监控规则,对待监控主机进行监控并获取监控数据之后,所述方法还包括:
对所获取的监控数据按照预设的针对所述目标项目的统计规则进行统计。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获得目标用户的访问请求,所述访问请求包括所述目标用户的标识信息;
基于所述目标用户的标识信息与预先设置的安全策略,确定是否允许所述目标用户访问;
在确定不允许的情况下,拒绝所述目标用户的访问。
12.一种应用程序部署装置,其特征在于,所述装置包括:
第一获得模块,用于获得在目标项目中部署目标应用程序包的部署请求;
第一确定模块,用于基于针对所述目标项目建立的应用程序包与主机项之间的关联关系,确定与所述目标应用程序包具有关联关系的目标主机项,其中,所述主机项为预先根据主机在所述目标项目中的功能确定的,相同功能的主机属于同一个主机项;
部署模块,用于将所述目标应用程序包部署到所述目标主机项中的主机上。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第二获得模块,用于获得针对所述目标项目的建立请求,其中,所述建立请求包含所述目标项目的标识信息;
第一建立模块,用于基于所述目标项目的标识信息,建立所述目标项目;
第三获得模块,用于获得在所述目标项目中配置主机的配置请求,其中,所述配置请求包括待配置主机的标识信息;
配置模块,用于在所述目标项目中配置所述待配置主机的标识信息对应的主机;
第四获得模块,用于获得建立应用程序包与主机项之间的关联关系的第一请求,其中,所述第一请求包含第一标识信息和第二标识信息,所述第一标识信息为所述第一请求中待建立关联关系的应用程序包的标识信息,所述第二标识信息为所述第一请求中待建立关联关系的主机项的标识信息;
第二建立模块,用于基于所述第一标识信息和所述第二标识信息,建立针对所述目标项目的应用程序包与主机项之间的关联关系。
14.根据权利要求13所述的装置,其特征在于,所述第二建立模块,包括:
获取子模块,用于获取所述第一请求中所包含的目标哈希值;
计算子模块,用于利用哈希算法,计算第一应用程序包所包含数据的哈希值,其中,所述第一应用程序包为所述待建立关联关系的应用程序包;
建立子模块,用于在确定所述目标哈希值与计算得到的哈希值相同的情况下,基于所述第一标识信息和所述第二标识信息,建立针对所述目标项目的应用程序包与主机项之间的关联关系。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括:
第五获得模块,用于获得建立所述目标项目中的主机项与组别之间的关联关系的第二请求,其中,所述组别是根据所述目标项目中主机所在的区域确定的,所述第二请求包含第三标识信息和第四标识信息,所述第三标识信息为所述第二请求中待建立关联关系的主机项的标识信息,所述第四标识信息为所述第二请求中待建立关联关系的组别的标识信息;
第三建立模块,用于基于所述第三标识信息和所述第四标识信息,建立针对所述目标项目的主机项与组别之间的关联关系;
所述第一确定模块,包括:
第一确定子模块,用于基于针对所述目标项目建立的应用程序包与主机项之间的关联关系,确定与所述目标应用程序包具有关联关系的第一主机项;
获取子模块,用于获取所述部署请求中所包含的目标组别;
第二确定子模块,用于根据建立的针对所述目标项目的主机项与组别之间的关联关系,在所述第一主机项中确定与所述目标组别具有关联关系的主机项,作为目标主机项。
16.根据权利要求13-15任一项所述的装置,其特征在于,所述装置还包括:
第六获得模块,用于获得建立命令与主机项之间的关联关系的第三请求,其中,所述第三请求包含第五标识信息和第六标识信息,所述第五标识信息为所述第三请求中待建立关联关系的命令的标识信息,所述第六标识信息为所述第三请求中待建立关联关系的主机项的标识信息;
第四建立模块,用于基于所述第五标识信息和所述第六标识信息,建立针对所述目标项目的命令与主机项之间的关联关系;
第七获得模块,用于获得针对目标命令的执行请求;
第二确定模块,用于根据建立的针对所述目标项目的命令与主机项之间的关联关系,确定与所述目标命令具有关联关系的主机项;
第一发送模块,用于将所述执行请求发送给所确定的主机项中的主机上,以使得接收到所述执行请求的主机执行所述目标命令。
17.根据权利要求16所述的装置,其特征在于,所述装置还包括:
第八获得模块,用于获得建立配置模板与主机项之间的关联关系的第四请求,其中,所述配置模板中包括配置项和配置项对应的值,所述第四请求包含第七标识信息和第八标识信息,所述第七标识信息为所述第四请求中待建立关联关系的配置模板的标识信息,所述第八标识信息为所述第四请求中待建立关联关系的主机项的标识信息;
第五建立模块,用于基于所述第七标识信息和所述第八标识信息,建立针对所述目标项目的配置模板与主机项之间的关联关系;
第九获得模块,用于获得以目标配置模板中的配置项对应的值更新主机中对应的值的更新请求;
第三确定模块,用于根据建立的配置模板与主机项之间的关联关系,确定与目标配置模板具有关联关系的主机项;
第二发送模块,用于所述更新请求发送给所确定的主机项中的主机上,以使得接收到所述更新请求的主机将目标配置项对应的值变更为所述目标配置模板中所述目标配置项对应的值,其中,所述目标配置项为所述目标配置模板中的配置项。
18.根据权利要求15或17所述的装置,其特征在于,所述装置还包括:
第十获得模块,用于获得建立参数与参数作用范围之间的关联关系的第五请求,其中,所述参数作用范围为目标项目、主机项、组别或主机中的任意一个,所述第五请求包含参数的标识信息和参数作用范围的标识信息;
第六建立模块,用于基于所述参数的标识信息和所述参数作用范围的标识信息,建立针对所述目标项目的参数与参数作用范围之间的关联关系;
第十一获得模块,用于获得针对目标参数的变更请求,其中,所述变更请求中包含所述目标参数的目标参数值;
第四确定模块,用于根据建立的针对所述目标项目的参数与主机项之间的关联关系,确定与所述目标参数具有关联关系的主机项;
第三发送模块,用于将所述变更请求发送给所确定的主机项中的主机上,以使得接收到所述变更请求的主机将目标参数的参数值变更为所述目标参数值。
19.根据权利要求12所述的装置,其特征在于,所述装置还包括:
监控模块,用于根据预先设置的针对所述目标项目的监控规则,对预先确定的待监控主机进行监控并获取监控数据。
20.根据权利要求19所述的装置,其特征在于,所述装置还包括:
判断模块,用于判断所获取的监控数据中的目标监控数据是否符合针对所述目标监控数据对应的操作规则;
显示模块,用于在所述判断模块的判断结果为否的情况下,显示针对所述目标监控项的告警信息。
21.根据权利要求19所述的装置,其特征在于,所述装置还包括:
统计模块,用于对所获取的监控数据按照预设的针对所述目标项目的统计规则进行统计。
22.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第十二获得模块,用于获得目标用户的访问请求,所述访问请求包括所述目标用户的标识信息;
第五确定模块,用于基于所述目标用户的标识信息与预先设置的针对所述目标项目的安全策略,确定是否允许所述目标用户访问;
拒绝模块,用于在确定不允许的情况下,拒绝所述目标用户的访问。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710078101.4A CN108446123A (zh) | 2017-02-14 | 2017-02-14 | 一种应用程序部署方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710078101.4A CN108446123A (zh) | 2017-02-14 | 2017-02-14 | 一种应用程序部署方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108446123A true CN108446123A (zh) | 2018-08-24 |
Family
ID=63190458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710078101.4A Pending CN108446123A (zh) | 2017-02-14 | 2017-02-14 | 一种应用程序部署方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108446123A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109672722A (zh) * | 2018-10-23 | 2019-04-23 | 平安科技(深圳)有限公司 | 数据部署方法及装置、计算机存储介质和电子设备 |
CN113570317A (zh) * | 2020-04-29 | 2021-10-29 | 北京金山云网络技术有限公司 | 一种项目自动化管理方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727343A (zh) * | 2009-11-30 | 2010-06-09 | 英业达股份有限公司 | 分布式服务器的软件安装部署方法 |
CN103034789A (zh) * | 2012-12-10 | 2013-04-10 | 山东中创软件商用中间件股份有限公司 | 一种组件部署方法、装置及安全框架 |
WO2014190544A1 (zh) * | 2013-05-31 | 2014-12-04 | 华为技术有限公司 | 应用部署方法和设备 |
CN104360878A (zh) * | 2014-10-29 | 2015-02-18 | 中国建设银行股份有限公司 | 一种应用软件部署的方法及装置 |
CN104572401A (zh) * | 2015-02-09 | 2015-04-29 | 浪潮软件股份有限公司 | 一种告警方法及告警系统 |
CN104657250A (zh) * | 2014-12-16 | 2015-05-27 | 无锡华云数据技术服务有限公司 | 一种对云主机进行性能监控的监控方法 |
CN105912375A (zh) * | 2016-05-31 | 2016-08-31 | 乐视控股(北京)有限公司 | 将应用程序部署至服务器的方法及装置 |
CN106095498A (zh) * | 2016-06-03 | 2016-11-09 | 深圳市永兴元科技有限公司 | 软件部署的方法及装置 |
-
2017
- 2017-02-14 CN CN201710078101.4A patent/CN108446123A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727343A (zh) * | 2009-11-30 | 2010-06-09 | 英业达股份有限公司 | 分布式服务器的软件安装部署方法 |
CN103034789A (zh) * | 2012-12-10 | 2013-04-10 | 山东中创软件商用中间件股份有限公司 | 一种组件部署方法、装置及安全框架 |
WO2014190544A1 (zh) * | 2013-05-31 | 2014-12-04 | 华为技术有限公司 | 应用部署方法和设备 |
CN104360878A (zh) * | 2014-10-29 | 2015-02-18 | 中国建设银行股份有限公司 | 一种应用软件部署的方法及装置 |
CN104657250A (zh) * | 2014-12-16 | 2015-05-27 | 无锡华云数据技术服务有限公司 | 一种对云主机进行性能监控的监控方法 |
CN104572401A (zh) * | 2015-02-09 | 2015-04-29 | 浪潮软件股份有限公司 | 一种告警方法及告警系统 |
CN105912375A (zh) * | 2016-05-31 | 2016-08-31 | 乐视控股(北京)有限公司 | 将应用程序部署至服务器的方法及装置 |
CN106095498A (zh) * | 2016-06-03 | 2016-11-09 | 深圳市永兴元科技有限公司 | 软件部署的方法及装置 |
Non-Patent Citations (1)
Title |
---|
马晓亭等: "云计算环境下一种基于资源可用分析的数字图书馆虚拟机部署模型", 《图书馆学研究》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109672722A (zh) * | 2018-10-23 | 2019-04-23 | 平安科技(深圳)有限公司 | 数据部署方法及装置、计算机存储介质和电子设备 |
CN109672722B (zh) * | 2018-10-23 | 2022-04-26 | 平安科技(深圳)有限公司 | 数据部署方法及装置、计算机存储介质和电子设备 |
CN113570317A (zh) * | 2020-04-29 | 2021-10-29 | 北京金山云网络技术有限公司 | 一种项目自动化管理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112615849B (zh) | 微服务访问方法、装置、设备及存储介质 | |
CN110401696A (zh) | 一种去中心化处理的方法、通信代理、主机以及存储介质 | |
CN105531972B (zh) | 控制数据存储输入/输出请求 | |
CN110209492B (zh) | 一种数据处理方法及装置 | |
CN109451065A (zh) | 一种软负载均衡分流自动化系统及其运行方法 | |
CN108494703A (zh) | 一种访问频率控制方法、装置及存储介质 | |
CN104125091A (zh) | 网络配置自动部署方法及装置 | |
CN109871690A (zh) | 设备权限的管理方法及装置、存储介质、电子装置 | |
CN111124670A (zh) | 一种面向战术云的微服务平台 | |
CN102045337A (zh) | 用于管理网络资源的装置和方法 | |
CN106162639B (zh) | 基于Floodlight的SDN无线网络管理平台及认证方法 | |
CN110134674A (zh) | 一种货币信贷大数据监测分析系统 | |
CN103095574A (zh) | 网络系统的管理方法、网络系统以及管理服务器 | |
CN108134764A (zh) | 一种分布式数据共享交换方法及系统 | |
CN109412878A (zh) | 多租户业务接入实现方法、装置及电子设备 | |
CN107819742A (zh) | 一种动态部署网络安全服务的系统架构及其方法 | |
CN107277086A (zh) | 业务处理系统、业务处理方法以及业务更新方法 | |
CN109845192A (zh) | 用于动态地适配软件定义的网络的计算机系统和方法 | |
CN107210933A (zh) | 用于向附接的装备提供硬件资源信息的机制 | |
CN109219949A (zh) | 用于在网络功能虚拟化基础结构中配置安全域的方法和布置 | |
WO2023077796A1 (zh) | 骨干节点接入方法和区块链系统 | |
CN113965434B (zh) | 一种跨机房场景下的api网关路由实现方法 | |
CN102387028A (zh) | 网络系统、管理服务器及oam试验管理方法 | |
CN103248696A (zh) | 一种云计算环境下的虚拟资源动态配置方法 | |
CN105100002B (zh) | 属性的操作方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |