一种根据服务角色的进行应用部署的方法及装置制造方法及图纸

技术编号:26258963 阅读:41 留言:0更新日期:2020-11-06 17:52
本申请实施例公开了一种根据服务角色的进行应用部署的方法及装置。本申请实施例提供的技术方案,通过将应用程序封装成相应的功能模块,并通过角色管理模块进行角色定义进而为相应的功能模块与对应的角色配置依赖关系;使得所有模块都在同一应用服务中,启动时直接根据启动参数选择需要启动的模块,而无需进行重新编译。本申请实施例的方案一个应用程序就可以使用于分布式微服务架构和小型程序单服务架构。并且可以在两种模式见灵活切换,无论部署环境部署场景如何变化,都无需再调整代码,无需重新交付。

【技术实现步骤摘要】
一种根据服务角色的进行应用部署的方法及装置
本申请实施例涉及应用部署
,尤其涉及一种根据服务角色的进行应用部署的方法及装置。
技术介绍
目前,软件应用主要分微服务架构和单服务应用。微服务架构适用于大型的应用,应用中的各个模块单独一个服务,可以提供强大的处理能力。单服务应用适用于访问量不高的应用,物理机资源有限的场景,应用中的所有模块都在同一个服务实例。如果是微服务架构的应用,如果因为资源有限的情况下,需要在一台服务器上部署整个服务,则会导致资源占用高,也失去了微服务的意义。单服务应用则无法处理大型分分布式场景。两者都无法做到灵活配置、灵活适配各种场景。如果要切换两种部署模式,需要对程序进行重新编译打包,非常不灵活。因此,设计一种能够根据服务器数量进行应用快速部署的方式成为本领域技术人员亟待解决的技术问题。
技术实现思路
本申请实施例提供一种根据服务角色的进行应用部署的方法及装置,对于应用程序,只需要一次编译交付应用之后,可以适应所有的部署环境和场景,无论部署环境和部署场景如何变化,均无需再次调整代码,需要重新进行交付。在第一方面,本申请实施例提供了一种根据服务角色的进行应用部署的方法,包括:将程序组件封装成相应的功能模块;通过角色管理模块进行角色定义并为所述功能模块与所述角色配置对应的依赖关系;接收用户选择的应用服务需求并根据所述应用服务需求匹配相应的目标角色;根据所述目标角色以及所述依赖关系调用加载对应的功能模块通过运行相应的程序代码以进行服务部署。进一步的,所述接收用户选择的应用服务需求并根据所述应用服务需求匹配相应的目标角色,还包括:根据所述应用服务需求设置相应的目标角色和角色分布。进一步的,所述应用服务需求包括业务需求、服务器数量、集群容错要求和环境并发量中的一种或多种。进一步的,在所述将程序组件封装成相应的功能模块之后,还包括:提供可供开发人员编辑的配置文件,其中所述配置文件为每个功能模块提供用于启用所述功能模块的选项,使得所述功能模块可根据软件项目实例的需要而被选择性地启用。进一步的,所述角色包括计算控制器、存储控制器、网络控制器、计算节点、存储节点和网络节点。进一步的,所述将程序组件封装成相应的功能模块,包括:将针对所述程序组件的相应示例代码封装到相应的功能模块。进一步的,所述应用服务需求包括服务器数量,所述接收用户选择的应用服务需求并根据所述应用服务需求匹配相应的目标角色,包括:当用户选择的服务器数量为1个时,在相应服务器匹配应用服务所需的所有目标角色;或,当用户选择的服务器数量为多个时,根据所述服务器数量将应用服务所需目标角色分散设置于相应服务器处。在第二方面,本申请实施例提供了一种根据服务角色的进行应用部署的装置,包括:封装模块:用于将程序组件封装成相应的功能模块;依赖配置模块:用于通过角色管理模块进行角色定义并为所述功能模块与所述角色配置对应的依赖关系;匹配模块:用于接收用户选择的应用服务需求并根据所述应用服务需求匹配相应的目标角色;加载模块:用于根据所述目标角色以及所述依赖关系调用加载对应的功能模块通过运行相应的程序代码以进行服务部署。在第三方面,本申请实施例提供了一种电子设备,包括:存储器以及一个或多个处理器;所述存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的根据服务角色的进行应用部署的方法。在第四方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的根据服务角色的进行应用部署的方法。本申请实施例通过将应用程序封装成相应的功能模块,并通过角色管理模块进行角色定义进而为相应的功能模块与对应的角色配置依赖关系;使得所有模块都在同一应用服务中,启动时直接根据启动参数选择需要启动的模块,而无需进行重新编译。本申请实施例的方案一个应用程序就可以使用于分布式微服务架构和小型程序单服务架构。并且可以在两种模式见灵活切换,无论部署环境部署场景如何变化,都无需再调整代码,无需重新交付。附图说明图1是本申请实施例提供的一种根据服务角色的进行应用部署的方法的流程图;图2是本申请实施例提供的服务需求与角色匹配的流程示意图;图3是本申请实施例提供的单服务器单服务的部署结构示意图;图4是本申请实施例提供的多服务器分布式的部署结构示意图;图5是本申请实施例提供的一种根据服务角色的进行应用部署的装置的结构示意图;图6是本申请实施例提供的一种电子设备的结构示意图。具体实施方式为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。现有的如果因为资源有限的情况下,需要在一台服务器上部署整个服务,则会导致资源占用高,也失去了微服务的意义。单服务应用则无法处理大型分分布式场景。两者都无法做到灵活配置、灵活适配各种场景。如果要切换两种部署模式,需要对程序进行重新编译打包,非常不灵活。基于此,本申请实施例通过将应用程序封装成相应的功能模块,并通过角色管理模块进行角色定义进而为相应的功能模块与对应的角色配置依赖关系;使得所有模块都在同一应用服务中,启动时直接根据启动参数选择需要启动的模块,而无需进行重新编译。本申请实施例的方案一个应用程序就可以使用于分布式微服务架构和小型程序单服务架构。并且可以在两种模式见灵活切换,无论部署环境部署场景如何变化,都无需再调整代码,无需重新交付。图1给出了本申请实施例提供的一种根据服务角色的进行应用部署的方法的流程图,本实施例中提供的根据服务角色的进行应用部署的方法可以由根据服务角色的进行应用部署的设备执行,该根据服务角色的进行应用部署的设备可以通过软件和/或硬件的方式实现,该根据服务角色的进行应用部署的设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。一般而言,该根据服务角色的进行应用部署的设备可以是电脑,手机,平板或服务器等。下述以服务器为执行根据服务角色的进行应用部署的方法的设备为例,进行描述。参照图1,该根据服务角色的进行应用部署的方法具体包括:S101:将程序本文档来自技高网...

【技术保护点】
1.一种根据服务角色的进行应用部署的方法,其特征在于,包括:/n将程序组件封装成相应的功能模块;/n通过角色管理模块进行角色定义并为所述功能模块与所述角色配置对应的依赖关系;/n接收用户选择的应用服务需求并根据所述应用服务需求匹配相应的目标角色;/n根据所述目标角色以及所述依赖关系调用加载对应的功能模块通过运行相应的程序代码以进行服务部署。/n

【技术特征摘要】
1.一种根据服务角色的进行应用部署的方法,其特征在于,包括:
将程序组件封装成相应的功能模块;
通过角色管理模块进行角色定义并为所述功能模块与所述角色配置对应的依赖关系;
接收用户选择的应用服务需求并根据所述应用服务需求匹配相应的目标角色;
根据所述目标角色以及所述依赖关系调用加载对应的功能模块通过运行相应的程序代码以进行服务部署。


2.根据权利要求1所述的根据服务角色的进行应用部署的方法,其特征在于,所述接收用户选择的应用服务需求并根据所述应用服务需求匹配相应的目标角色,还包括:
根据所述应用服务需求设置相应的目标角色和角色分布。


3.根据权利要求2所述的根据服务角色的进行应用部署的方法,其特征在于,所述应用服务需求包括业务需求、服务器数量、集群容错要求和环境并发量中的一种或多种。


4.根据权利要求1所述的根据服务角色的进行应用部署的方法,其特征在于,在所述将程序组件封装成相应的功能模块之后,还包括:
提供可供开发人员编辑的配置文件,其中所述配置文件为每个功能模块提供用于启用所述功能模块的选项,使得所述功能模块可根据软件项目实例的需要而被选择性地启用。


5.根据权利要求1所述的根据服务角色的进行应用部署的方法,其特征在于,所述角色包括计算控制器、存储控制器、网络控制器、计算节点、存储节点和网络节点。


6.根据权利要求1-5中任意一项所述的根据服务角色的进行应用部署的方法,其特征在于,所述将程序组件封装成相应的功能模块,包括:...

【专利技术属性】
技术研发人员:张志江莫展鹏季统凯贺忠堂姚文俊
申请(专利权)人:国云科技股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1