WO2022016848A1 - Method and apparatus for performing application deployment according to service role - Google Patents

Method and apparatus for performing application deployment according to service role Download PDF

Info

Publication number
WO2022016848A1
WO2022016848A1 PCT/CN2021/074033 CN2021074033W WO2022016848A1 WO 2022016848 A1 WO2022016848 A1 WO 2022016848A1 CN 2021074033 W CN2021074033 W CN 2021074033W WO 2022016848 A1 WO2022016848 A1 WO 2022016848A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
roles
application
role
module
Prior art date
Application number
PCT/CN2021/074033
Other languages
French (fr)
Chinese (zh)
Inventor
张志江
莫展鹏
季统凯
贺忠堂
姚文俊
Original Assignee
国云科技股份有限公司
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 国云科技股份有限公司 filed Critical 国云科技股份有限公司
Publication of WO2022016848A1 publication Critical patent/WO2022016848A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Definitions

  • the embodiments of the present application relate to the technical field of application deployment, and in particular, to a method and apparatus for application deployment according to service roles.
  • micro-service architecture is suitable for large-scale applications.
  • Each module in the application is a single service, which can provide powerful processing capabilities.
  • Single-service applications are suitable for applications with low traffic volume and limited physical machine resources. All modules in the application are in the same service instance.
  • microservice architecture If it is an application of a microservice architecture, if the entire service needs to be deployed on one server due to limited resources, it will lead to high resource usage and lose the meaning of microservices.
  • Single-service applications cannot handle large distributed scenarios. Neither of them can be flexibly configured and adapted to various scenarios. If you want to switch between the two deployment modes, you need to recompile and package the program, which is very inflexible. Therefore, designing a way to rapidly deploy applications according to the number of servers has become a technical problem to be solved urgently by those skilled in the art.
  • the embodiments of the present application provide a method and device for deploying applications according to service roles. For an application, after only one compilation and delivery of the application, it can be adapted to all deployment environments and scenarios. No matter how the deployment environments and deployment scenarios change, No need to tweak the code again, it needs to be re-delivered.
  • an embodiment of the present application provides a method for application deployment according to service roles, including:
  • the corresponding function module is called and loaded to perform service deployment by running the corresponding program code.
  • the receiving the application service requirement selected by the user and matching the corresponding target role according to the application service requirement further includes:
  • the application service requirements include one or more of business requirements, number of servers, cluster fault tolerance requirements and environmental concurrency.
  • a developer-editable configuration file is provided, wherein the configuration file provides for each functional module an option to enable the functional module so that the functional module can be selectively enabled according to the needs of the software project instance.
  • the roles include a computing controller, a storage controller, a network controller, a computing node, a storage node, and a network node.
  • encapsulating the program components into corresponding functional modules includes:
  • the corresponding example codes for the program components are packaged into corresponding functional modules.
  • the application service requirements include the number of servers, and the receiving application service requirements selected by the user and matching corresponding target roles according to the application service requirements, including:
  • the target roles required by the application service are distributed and set at corresponding servers according to the number of servers.
  • an embodiment of the present application provides an apparatus for deploying applications according to service roles, including:
  • Encapsulation module used to encapsulate program components into corresponding functional modules
  • Dependency configuration module used to define roles through the role management module and configure dependencies corresponding to the function modules and the roles;
  • Matching module used to receive the application service requirement selected by the user and match the corresponding target role according to the application service requirement;
  • Loading module used to call and load a corresponding function module according to the target role and the dependency relationship to perform service deployment by running the corresponding program code.
  • an electronic device including:
  • the memory for storing one or more programs
  • the one or more processors When the one or more programs are executed by the one or more processors, the one or more processors implement the method for application deployment according to service roles as described in the first aspect.
  • an embodiment of the present application provides a storage medium containing computer-executable instructions, when executed by a computer processor, the computer-executable instructions are used to perform the performance according to the service role as described in the first aspect App deployment method.
  • the application program is encapsulated into corresponding functional modules, and the role is defined through the role management module to configure dependencies for the corresponding functional modules and the corresponding roles; so that all modules are in the same application service, and the direct The modules to be started are selected according to the startup parameters without recompiling.
  • the solutions of the embodiments of the present application can be used in a distributed micro-service architecture and a small-program single-service architecture with one application. And it can be flexibly switched between the two modes, no matter how the deployment environment and deployment scenarios change, there is no need to adjust the code or redelivery.
  • FIG. 1 is a flowchart of a method for application deployment according to a service role provided by an embodiment of the present application
  • FIG. 3 is a schematic diagram of a deployment structure of a single server and a single service provided by an embodiment of the present application;
  • FIG. 4 is a schematic diagram of a multi-server distributed deployment structure provided by an embodiment of the present application.
  • FIG. 5 is a schematic structural diagram of an apparatus for deploying applications according to service roles provided by an embodiment of the present application
  • FIG. 6 is a schematic structural diagram of an electronic device provided by an embodiment of the present application.
  • the embodiment of the present application encapsulates the application into corresponding functional modules, and defines roles through the role management module, and then configures dependencies for the corresponding functional modules and the corresponding roles; so that all modules are in the same application service, When starting, the modules to be started are directly selected according to the startup parameters without recompiling.
  • the solutions of the embodiments of the present application can be used in a distributed micro-service architecture and a small-program single-service architecture with one application. And it can be flexibly switched between the two modes, no matter how the deployment environment and deployment scenarios change, there is no need to adjust the code or redelivery.
  • FIG. 1 shows a flowchart of a method for deploying applications based on service roles provided by an embodiment of the present application.
  • the method for deploying applications based on service roles provided in this embodiment may be implemented by deploying applications based on service roles.
  • the device that performs application deployment according to the service role can be implemented by software and/or hardware.
  • the device that performs application deployment according to the service role can be composed of two or more physical entities, or one Physical entity composition.
  • the device that deploys the application according to the service role may be a computer, a mobile phone, a tablet, or a server.
  • the server as an example of a device that executes the method for application deployment according to the service role.
  • the method for deploying an application according to a service role specifically includes:
  • S101 Encapsulate the program components into corresponding functional modules.
  • a single program component can be encapsulated into a corresponding functional module, or multiple program components can be encapsulated into a corresponding functional module, so that each functional module includes a corresponding program component and a development configuration for the program component. .
  • the specific developer can set it according to the actual situation.
  • the encapsulation of the program components into corresponding functional modules includes:
  • the corresponding example codes for the program components are packaged into corresponding functional modules.
  • a developer-editable configuration file is provided, wherein the configuration file provides for each functional module an option to enable the functional module, so that the functional module can be selectively enabled according to the needs of the software project instance.
  • the configuration file mentioned in this embodiment is the configuration content that can package and bundle multiple functional modules.
  • the authentication module and the database module can be configured together, or the data analysis module and the database module can be configured together to realize further modules. configuration.
  • S102 Define roles through a role management module and configure dependencies corresponding to the function modules and the roles.
  • modules are configured mainly through Maven, Gradle and other tools.
  • the dependencies have been prepared when compiling, and it is impossible to dynamically switch the selection during operation.
  • this module redefine the dependencies of roles, function modules, and role configuration modules. By redefining roles, it is convenient to correspond to function modules.
  • a service is an instance of an application.
  • a role is a collection of modules in an application that together provide the capabilities of that role.
  • a service can be configured with multiple roles. Therefore, in the specific design, roles can be named not only through the control side, such as computing nodes, storage nodes, network nodes, etc., but also through the business side, such as management roles, service roles, logistics roles, Show characters and more. In specific situations, developers can adjust the settings according to different service requirements.
  • the entire cloud platform system is an application; the roles include a computing controller, a storage controller, a network controller, a computing node, a storage node, and a network node.
  • the dependencies corresponding to the function modules and the role configuration including:
  • Corresponding dependencies are configured for the functional modules and the computing controller, the storage controller, the network controller, the computing node, the storage node and the network node.
  • the cloud platform system mainly provides computing and storage services, when defining roles, it is mainly abstracted into roles such as computing nodes and storage nodes.
  • the roles are defined as: the computing controller is responsible for virtual machine-related functional modules, the storage controller is responsible for storage block device-related functional modules, the network controller is responsible for network device-related functional modules, computing nodes store virtual machines, and storage nodes are responsible for Storage block devices are stored, and network nodes store network devices.
  • roles there are not only the above-mentioned types of roles, but also other roles, such as shopping websites, or a variety of different roles, such as user management roles, data storage roles, logistics management roles, etc. Wait.
  • the specific role definition needs to be set according to the actual situation.
  • the entire cloud platform system provided by the embodiments of the present application is an application, and the program package of the application is cloud.jar. Then running a cloud.jar is a service.
  • the roles defined are computing controllers, storage controllers, network controllers, computing nodes, storage nodes, network nodes, and so on.
  • the module refers to the database module, authentication module, etc. used in the computing controller. After defining the role, you can complete the dependency configuration of the corresponding function module and the corresponding role.
  • a service cloud.jar process mentioned in this embodiment, this service can be configured with one or more roles.
  • the entire cloud platform and one or more services constitute the provisioning capability.
  • the dependency mentioned in this embodiment refers to: in a project including multiple modules or components, there may be a large number of dependencies between the modules or components, that is, the execution of one module or component requires another one or more modules or Component support, the dependencies that a module or component includes may include, for example, the identification of the module or component on which its execution depends.
  • Maven is mainly used for dependency management. Maven can avoid the need to search for all required libraries. Maven finds out the dependencies between their projects by reading the project file (pom.xml). All we need to do is define the direct dependencies in each project's pom.
  • Dependency adjustment which determines which dependency version will be used when multiple manually created versions appear at the same time. If two dependency versions are at the same depth in the dependency tree, the first declared dependency will be used.
  • Dependency management which directly specifies that a manually created version is used. For example, when a module C includes module B in its own dependency management module, that is, B depends on A, then A can specify the version used when B is referenced.
  • Dependency scope including dependencies in each stage of the build process. Dependency scope can include compilation phase. Provisioning Phase, Run Phase, Test Phase, System Phase and Import Phase. 4.
  • Dependency Exclusion any transitive dependencies can be excluded via the "exclusion" element.
  • A depends on B, and B depends on C, so A can mark C as "excluded”. 5.
  • Dependencies are optional. Any transitive dependency can be marked as optional by using the "optional" element. For example: A depends on B, B depends on C. So B can mark C as optional so that A can no longer use C.
  • S103 Receive an application service requirement selected by a user and match a corresponding target role according to the application service requirement.
  • FIG. 2 is a schematic flowchart of the matching of service requirements and roles provided by the embodiment of the present application. As shown in FIG. 2 , the application service requirements selected by the user are received and the corresponding target roles are matched according to the application service requirements. ,Also includes:
  • S1032 sets corresponding target roles and role distribution according to the application service requirements.
  • the application service requirements include one or more of business requirements, number of servers, cluster fault tolerance requirements, and environment concurrency.
  • Which roles will be configured by the application in step S102 can be selected, and when starting the application service program, it can be selected according to the actual scenario, such as the number of servers, cluster fault tolerance requirements, concurrency of the environment, etc. which servers to start and how many services to start. , which roles are enabled for each service.
  • start a server on server 1 when enabling a cloud platform, you can choose to start a server on server 1, and the roles are computing controller, storage controller, and network controller. Start a service on server 2 and the role is the compute node. It is also possible to start only one service including all roles on the same server. This only needs to modify the startup parameters, no need to modify the code, no need to recompile.
  • the startup parameters also refer to service requirements, number of servers, cluster fault tolerance requirements, and environmental concurrency.
  • the application service requirement includes the number of servers
  • the receiving the application service requirement selected by the user and matching the corresponding target role according to the application service requirement includes:
  • the target roles required by the application service are distributed and set at corresponding servers according to the number of servers.
  • FIG. 3 is a schematic diagram of a deployment structure of a single server and a single service provided by an embodiment of the present application. As shown in FIG. 3 , it is a schematic diagram of a deployment structure of a single server and a single service, wherein s1, s2 and s3 represent functional modules, and three functional modules Configured together to form a corresponding role, and provide corresponding services through this role. Since a single server is used, all function modules are loaded to the corresponding server through roles.
  • FIG. 4 is a schematic diagram of a multi-server distributed deployment structure provided by an embodiment of the present application. As shown in FIG. 4 , it is a schematic diagram of a multi-server distributed deployment structure. Among them, s1 represents a role, s2 represents a role, s3 represents a role, and s1, s2 and s3 are configured as a role; since multiple servers are used, each role can be set in a distributed manner, and through different modules Offer different services. As can be seen from the above, according to different situations, the difference in the final deployment structure is also obvious.
  • S104 Call and load a corresponding function module according to the target role and the dependency relationship to perform service deployment by running corresponding program code.
  • the codes of all modules are in the same application. Therefore, when starting, according to the configuration in step S102, the role module management module of the application determines which modules, codes and related configurations to load.
  • operations can also be performed according to the method of application packaging for each functional module.
  • the above operations need to be compiled multiple times into different application packages according to different scenarios. For example, in Figure 4, four configurations of s1, s2, s3, and s1+s2+s3 need to be compiled to output four applications.
  • the above solution has a drawback, that is, the more modules there are, the more complicated the combination may be, and once packaged, it cannot be changed.
  • the embodiment of the present application encapsulates the application program into corresponding functional modules, and defines roles through the role management module to configure dependencies for the corresponding functional modules and the corresponding roles; so that all modules are in the same application service, and directly when starting The modules to be started are selected according to the startup parameters without recompiling.
  • the solutions of the embodiments of the present application can be used in a distributed micro-service architecture and a small-program single-service architecture with one application. And it can be flexibly switched between the two modes, no matter how the deployment environment and deployment scenarios change, there is no need to adjust the code or redelivery.
  • FIG. 5 is a schematic structural diagram of an apparatus for deploying applications according to service roles according to an embodiment of the present application.
  • the apparatus for deploying applications according to service roles provided in this embodiment specifically includes:
  • Encapsulation module 21 used to encapsulate program components into corresponding functional modules
  • Dependency configuration module 22 used to define roles through the role management module and configure dependencies corresponding to the function modules and the roles;
  • Matching module 23 for receiving the application service requirement selected by the user and matching the corresponding target role according to the application service requirement;
  • Loading module 24 used to call and load the corresponding function module according to the target role and the dependency relationship to perform service deployment by running the corresponding program code.
  • the application program is encapsulated into corresponding functional modules, and the role is defined through the role management module to configure dependencies for the corresponding functional modules and the corresponding roles; so that all modules are in the same application service, and the direct The modules to be started are selected according to the startup parameters without recompiling.
  • the solutions of the embodiments of the present application can be used in a distributed micro-service architecture and a small-program single-service architecture with one application. And it can be flexibly switched between the two modes, no matter how the deployment environment and deployment scenarios change, there is no need to adjust the code or redelivery.
  • the apparatus for deploying applications based on service roles provided by the embodiments of the present application can be used to execute the methods for deploying applications based on service roles provided by the above embodiments, and has corresponding functions and beneficial effects.
  • the electronic device includes: a processor 31 , a memory 32 , a communication module 33 , an input device 34 and an output device 35 .
  • the number of processors 31 in the electronic device may be one or more, and the number of memories 32 in the electronic device may be one or more.
  • the processor 31 , the memory 32 , the communication module 33 , the input device 34 and the output device 35 of the electronic device may be connected by a bus or in other ways.
  • the memory 32 can be used to store software programs, computer-executable programs, and modules, such as program instructions/modules corresponding to the method for deploying applications according to service roles described in any embodiment of the present application (for example, , the encapsulation module 21, the dependency configuration module 22, the matching module 23 and the loading module 24) in the apparatus for application deployment according to the service role.
  • the memory 32 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function; the storage data area may store data created according to the use of the device, and the like.
  • memory 32 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device.
  • the memory may further include memory located remotely from the processor, the remote memory being connectable to the device through a network. Examples of such networks include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
  • the communication module 33 is used for data transmission.
  • the processor 31 executes various functional applications and data processing of the device by running the software programs, instructions and modules stored in the memory 32 , that is, to implement the above-mentioned method of application deployment according to service roles.
  • the input device 34 may be used to receive input numerical or character information and to generate key signal input related to user settings and functional control of the device.
  • the output device 35 may include a display device such as a display screen.
  • the electronic device provided above can be used to execute the method for application deployment according to the service role provided by the above embodiment, and has corresponding functions and beneficial effects.
  • Embodiments of the present application further provide a storage medium containing computer-executable instructions, when the computer-executable instructions are executed by the computer processor 31 for executing a method for deploying an application according to a service role, the The methods of application deployment include:
  • the corresponding function module is called and loaded to perform service deployment by running the corresponding program code.
  • storage medium any of various types of memory devices or storage devices.
  • storage medium is intended to include: installation media, such as CD-ROMs, floppy disks, or tape devices; computer system memory or random access memory, such as DRAM, DDR RAM, SRAM, EDO RAM, Rambus RAM, etc. ; non-volatile memory, such as flash memory, magnetic media (eg hard disk or optical storage); registers or other similar types of memory elements, etc.
  • the storage medium may also include other types of memory or combinations thereof.
  • the storage medium may be located in the first computer system in which the program is executed, or may be located in a second, different computer system connected to the first computer system through a network such as the Internet.
  • the second computer system may provide program instructions to the first computer for execution.
  • the term “storage medium” may include two or more storage media residing in different locations (eg, in different computer systems connected by a network).
  • the storage medium may store program instructions (eg, embodied as a computer program) executable by one or more processors 31 .
  • a storage medium containing computer-executable instructions provided by the embodiments of the present application, the computer-executable instructions of which are not limited to the above-mentioned method for application deployment according to service roles, and can also execute any of the embodiments of the present application.
  • the apparatus, storage medium, and electronic device for deploying applications based on service roles provided in the foregoing embodiments can execute the methods for deploying applications based on service roles provided in any of the embodiments of the present application, which are not described in detail in the foregoing embodiments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

A method and apparatus for performing application deployment according to a service role. The method comprises: encapsulating an application program into a corresponding functional module, and defining a role by means of a role management module, so as to configure a dependency relationship for the corresponding functional module and the corresponding role. Therefore, all the modules are in the same application service, and, during starting, a module that needs to be started is directly selected according to a starting parameter, and no recompilation is needed. In the method, an application program can be used in a distributed micro-service architecture and a small program single-service architecture and can be flexibly switched between the two modes, no matter how a deployment environment and a deployment scenario change, a code does not need to be re-adjusted, and re-delivery is not needed.

Description

一种根据服务角色的进行应用部署的方法及装置A method and device for application deployment according to service roles 技术领域technical field
本申请实施例涉及应用部署技术领域,尤其涉及一种根据服务角色的进行应用部署的方法及装置。The embodiments of the present application relate to the technical field of application deployment, and in particular, to a method and apparatus for application deployment according to service roles.
背景技术Background technique
目前,软件应用主要分微服务架构和单服务应用。微服务架构适用于大型的应用,应用中的各个模块单独一个服务,可以提供强大的处理能力。单服务应用适用于访问量不高的应用,物理机资源有限的场景,应用中的所有模块都在同一个服务实例。At present, software applications are mainly divided into micro-service architecture and single-service applications. The microservice architecture is suitable for large-scale applications. Each module in the application is a single service, which can provide powerful processing capabilities. Single-service applications are suitable for applications with low traffic volume and limited physical machine resources. All modules in the application are in the same service instance.
如果是微服务架构的应用,如果因为资源有限的情况下,需要在一台服务器上部署整个服务,则会导致资源占用高,也失去了微服务的意义。单服务应用则无法处理大型分分布式场景。两者都无法做到灵活配置、灵活适配各种场景。如果要切换两种部署模式,需要对程序进行重新编译打包,非常不灵活。因此,设计一种能够根据服务器数量进行应用快速部署的方式成为本领域技术人员亟待解决的技术问题。If it is an application of a microservice architecture, if the entire service needs to be deployed on one server due to limited resources, it will lead to high resource usage and lose the meaning of microservices. Single-service applications cannot handle large distributed scenarios. Neither of them can be flexibly configured and adapted to various scenarios. If you want to switch between the two deployment modes, you need to recompile and package the program, which is very inflexible. Therefore, designing a way to rapidly deploy applications according to the number of servers has become a technical problem to be solved urgently by those skilled in the art.
发明内容SUMMARY OF THE INVENTION
本申请实施例提供一种根据服务角色的进行应用部署的方法及装置,对于应用程序,只需要一次编译交付应用之后,可以适应所有的部署环境和场景,无论部署环境和部署场景如何变化,均无需再次调整代码,需要重新进行交付。The embodiments of the present application provide a method and device for deploying applications according to service roles. For an application, after only one compilation and delivery of the application, it can be adapted to all deployment environments and scenarios. No matter how the deployment environments and deployment scenarios change, No need to tweak the code again, it needs to be re-delivered.
在第一方面,本申请实施例提供了一种根据服务角色的进行应用部署的方法,包括:In a first aspect, an embodiment of the present application provides a method for application deployment according to service roles, including:
将程序组件封装成相应的功能模块;Encapsulate program components into corresponding functional modules;
通过角色管理模块进行角色定义并为所述功能模块与所述角色配置对应的依赖关系;Define roles through the role management module and configure dependencies corresponding to the function modules and the roles;
接收用户选择的应用服务需求并根据所述应用服务需求匹配相应的目标角色;Receive the application service requirement selected by the user and match the corresponding target role according to the application service requirement;
根据所述目标角色以及所述依赖关系调用加载对应的功能模块通过运行相 应的程序代码以进行服务部署。According to the target role and the dependency relationship, the corresponding function module is called and loaded to perform service deployment by running the corresponding program code.
进一步的,所述接收用户选择的应用服务需求并根据所述应用服务需求匹配相应的目标角色,还包括:Further, the receiving the application service requirement selected by the user and matching the corresponding target role according to the application service requirement, further includes:
根据所述应用服务需求设置相应的目标角色和角色分布。Set corresponding target roles and role distributions according to the application service requirements.
进一步的,所述应用服务需求包括业务需求、服务器数量、集群容错要求和环境并发量中的一种或多种。Further, the application service requirements include one or more of business requirements, number of servers, cluster fault tolerance requirements and environmental concurrency.
进一步的,在所述将程序组件封装成相应的功能模块之后,还包括:Further, after encapsulating the program components into corresponding functional modules, it also includes:
提供可供开发人员编辑的配置文件,其中所述配置文件为每个功能模块提供用于启用所述功能模块的选项,使得所述功能模块可根据软件项目实例的需要而被选择性地启用。A developer-editable configuration file is provided, wherein the configuration file provides for each functional module an option to enable the functional module so that the functional module can be selectively enabled according to the needs of the software project instance.
进一步的,所述角色包括计算控制器、存储控制器、网络控制器、计算节点、存储节点和网络节点。Further, the roles include a computing controller, a storage controller, a network controller, a computing node, a storage node, and a network node.
进一步的,所述将程序组件封装成相应的功能模块,包括:Further, encapsulating the program components into corresponding functional modules includes:
将针对所述程序组件的相应示例代码封装到相应的功能模块。The corresponding example codes for the program components are packaged into corresponding functional modules.
进一步的,所述应用服务需求包括服务器数量,所述接收用户选择的应用服务需求并根据所述应用服务需求匹配相应的目标角色,包括:Further, the application service requirements include the number of servers, and the receiving application service requirements selected by the user and matching corresponding target roles according to the application service requirements, including:
当用户选择的服务器数量为1个时,在相应服务器匹配应用服务所需的所有目标角色;或,When the number of servers selected by the user is 1, match all target roles required by the application service on the corresponding server; or,
当用户选择的服务器数量为多个时,根据所述服务器数量将应用服务所需目标角色分散设置于相应服务器处。When the number of servers selected by the user is multiple, the target roles required by the application service are distributed and set at corresponding servers according to the number of servers.
在第二方面,本申请实施例提供了一种根据服务角色的进行应用部署的装置,包括:In a second aspect, an embodiment of the present application provides an apparatus for deploying applications according to service roles, including:
封装模块:用于将程序组件封装成相应的功能模块;Encapsulation module: used to encapsulate program components into corresponding functional modules;
依赖配置模块:用于通过角色管理模块进行角色定义并为所述功能模块与所述角色配置对应的依赖关系;Dependency configuration module: used to define roles through the role management module and configure dependencies corresponding to the function modules and the roles;
匹配模块:用于接收用户选择的应用服务需求并根据所述应用服务需求匹配相应的目标角色;Matching module: used to receive the application service requirement selected by the user and match the corresponding target role according to the application service requirement;
加载模块:用于根据所述目标角色以及所述依赖关系调用加载对应的功能模块通过运行相应的程序代码以进行服务部署。Loading module: used to call and load a corresponding function module according to the target role and the dependency relationship to perform service deployment by running the corresponding program code.
在第三方面,本申请实施例提供了一种电子设备,包括:In a third aspect, an embodiment of the present application provides an electronic device, including:
存储器以及一个或多个处理器;memory and one or more processors;
所述存储器,用于存储一个或多个程序;the memory for storing one or more programs;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的根据服务角色的进行应用部署的方法。When the one or more programs are executed by the one or more processors, the one or more processors implement the method for application deployment according to service roles as described in the first aspect.
在第四方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的根据服务角色的进行应用部署的方法。In a fourth aspect, an embodiment of the present application provides a storage medium containing computer-executable instructions, when executed by a computer processor, the computer-executable instructions are used to perform the performance according to the service role as described in the first aspect App deployment method.
本申请实施例通过将应用程序封装成相应的功能模块,并通过角色管理模块进行角色定义进而为相应的功能模块与对应的角色配置依赖关系;使得所有模块都在同一应用服务中,启动时直接根据启动参数选择需要启动的模块,而无需进行重新编译。本申请实施例的方案一个应用程序就可以使用于分布式微服务架构和小型程序单服务架构。并且可以在两种模式见灵活切换,无论部署环境部署场景如何变化,都无需再调整代码,无需重新交付。In the embodiment of the present application, the application program is encapsulated into corresponding functional modules, and the role is defined through the role management module to configure dependencies for the corresponding functional modules and the corresponding roles; so that all modules are in the same application service, and the direct The modules to be started are selected according to the startup parameters without recompiling. The solutions of the embodiments of the present application can be used in a distributed micro-service architecture and a small-program single-service architecture with one application. And it can be flexibly switched between the two modes, no matter how the deployment environment and deployment scenarios change, there is no need to adjust the code or redelivery.
附图说明Description of drawings
图1是本申请实施例提供的一种根据服务角色的进行应用部署的方法的流程图;FIG. 1 is a flowchart of a method for application deployment according to a service role provided by an embodiment of the present application;
图2是本申请实施例提供的服务需求与角色匹配的流程示意图;2 is a schematic flowchart of service requirements and role matching provided by an embodiment of the present application;
图3是本申请实施例提供的单服务器单服务的部署结构示意图;3 is a schematic diagram of a deployment structure of a single server and a single service provided by an embodiment of the present application;
图4是本申请实施例提供的多服务器分布式的部署结构示意图;4 is a schematic diagram of a multi-server distributed deployment structure provided by an embodiment of the present application;
图5是本申请实施例提供的一种根据服务角色的进行应用部署的装置的结构示意图;5 is a schematic structural diagram of an apparatus for deploying applications according to service roles provided by an embodiment of the present application;
图6是本申请实施例提供的一种电子设备的结构示意图。FIG. 6 is a schematic structural diagram of an electronic device provided by an embodiment of the present application.
具体实施方式detailed description
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以 被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。In order to make the objectives, technical solutions and advantages of the present application clearer, the specific embodiments of the present application will be further described in detail below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are only used to explain the present application, but not to limit the present application. In addition, it should be noted that, for the convenience of description, the drawings only show some but not all of the contents related to the present application. Before discussing the exemplary embodiments in greater detail, it should be mentioned that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although a flowchart depicts various operations (or steps) as a sequential process, many of the operations may be performed in parallel, concurrently, or concurrently. Additionally, the order of operations can be rearranged. The process may be terminated when its operation is complete, but may also have additional steps not included in the figures. The processes may correspond to methods, functions, procedures, subroutines, subroutines, and the like.
现有的如果因为资源有限的情况下,需要在一台服务器上部署整个服务,则会导致资源占用高,也失去了微服务的意义。单服务应用则无法处理大型分分布式场景。两者都无法做到灵活配置、灵活适配各种场景。如果要切换两种部署模式,需要对程序进行重新编译打包,非常不灵活。基于此,本申请实施例通过将应用程序封装成相应的功能模块,并通过角色管理模块进行角色定义进而为相应的功能模块与对应的角色配置依赖关系;使得所有模块都在同一应用服务中,启动时直接根据启动参数选择需要启动的模块,而无需进行重新编译。本申请实施例的方案一个应用程序就可以使用于分布式微服务架构和小型程序单服务架构。并且可以在两种模式见灵活切换,无论部署环境部署场景如何变化,都无需再调整代码,无需重新交付。In the existing situation, if the entire service needs to be deployed on one server due to limited resources, it will lead to high resource usage and lose the meaning of microservices. Single-service applications cannot handle large distributed scenarios. Neither of them can be flexibly configured and adapted to various scenarios. If you want to switch between the two deployment modes, you need to recompile and package the program, which is very inflexible. Based on this, the embodiment of the present application encapsulates the application into corresponding functional modules, and defines roles through the role management module, and then configures dependencies for the corresponding functional modules and the corresponding roles; so that all modules are in the same application service, When starting, the modules to be started are directly selected according to the startup parameters without recompiling. The solutions of the embodiments of the present application can be used in a distributed micro-service architecture and a small-program single-service architecture with one application. And it can be flexibly switched between the two modes, no matter how the deployment environment and deployment scenarios change, there is no need to adjust the code or redelivery.
图1给出了本申请实施例提供的一种根据服务角色的进行应用部署的方法的流程图,本实施例中提供的根据服务角色的进行应用部署的方法可以由根据服务角色的进行应用部署的设备执行,该根据服务角色的进行应用部署的设备可以通过软件和/或硬件的方式实现,该根据服务角色的进行应用部署的设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。一般而言,该根据服务角色的进行应用部署的设备可以是电脑,手机,平板或服务器等。FIG. 1 shows a flowchart of a method for deploying applications based on service roles provided by an embodiment of the present application. The method for deploying applications based on service roles provided in this embodiment may be implemented by deploying applications based on service roles. The device that performs application deployment according to the service role can be implemented by software and/or hardware. The device that performs application deployment according to the service role can be composed of two or more physical entities, or one Physical entity composition. Generally speaking, the device that deploys the application according to the service role may be a computer, a mobile phone, a tablet, or a server.
下述以服务器为执行根据服务角色的进行应用部署的方法的设备为例,进行描述。参照图1,该根据服务角色的进行应用部署的方法具体包括:The following description takes the server as an example of a device that executes the method for application deployment according to the service role. Referring to FIG. 1 , the method for deploying an application according to a service role specifically includes:
S101:将程序组件封装成相应的功能模块。S101: Encapsulate the program components into corresponding functional modules.
进行封装时,可以将单个的程序组件封装成相应的功能模块,也可以将多个程序组件封装成相应的功能模块,使得每个功能模块包括对应的程序组件、以及针对该程序组件的开发配置。具体开发人员可依据实际情况进行设置。When encapsulating, a single program component can be encapsulated into a corresponding functional module, or multiple program components can be encapsulated into a corresponding functional module, so that each functional module includes a corresponding program component and a development configuration for the program component. . The specific developer can set it according to the actual situation.
示例性的,所述将程序组件封装成相应的功能模块,包括:Exemplarily, the encapsulation of the program components into corresponding functional modules includes:
将针对所述程序组件的相应示例代码封装到相应的功能模块。通过封装相应的示例性代码到相应的功能模块以供开发人员参考。The corresponding example codes for the program components are packaged into corresponding functional modules. By encapsulating the corresponding exemplary codes into corresponding functional modules for reference by developers.
更为优选的,在所述将程序组件封装成相应的功能模块之后,还包括:More preferably, after encapsulating the program components into corresponding functional modules, it also includes:
提供可供开发人员编辑的配置文件,其中所述配置文件为每个功能模块提供用于启用所述功能模块的选项,使得所述功能模块可根据软件项目实例的需 要而被选择性地启用。A developer-editable configuration file is provided, wherein the configuration file provides for each functional module an option to enable the functional module, so that the functional module can be selectively enabled according to the needs of the software project instance.
本实施例中提及的配置文件是可以将多个功能模块进行打包捆绑的配置内容,比如可以将认证模块、数据库模块配置到一起或者将数据分析模块与数据库模块配置到一起来实现进一步的模块配置。The configuration file mentioned in this embodiment is the configuration content that can package and bundle multiple functional modules. For example, the authentication module and the database module can be configured together, or the data analysis module and the database module can be configured together to realize further modules. configuration.
S102:通过角色管理模块进行角色定义并为所述功能模块与所述角色配置对应的依赖关系。S102: Define roles through a role management module and configure dependencies corresponding to the function modules and the roles.
在一般的应用中,主要是通过Maven,Gradle等工具进行模块的配置。但是编译的时候已经做好了依赖,无法做到在运行中动态切换选择。本发明第一步,需要通过程序开发一个角色模块管理的模块。在这个模块中重新定义角色、功能模块以及角色配置模块的依赖关系。通过重新进行角色定义便于进行功能模块的对应。In general applications, modules are configured mainly through Maven, Gradle and other tools. However, the dependencies have been prepared when compiling, and it is impossible to dynamically switch the selection during operation. In the first step of the present invention, it is necessary to develop a module managed by a role module through a program. In this module, redefine the dependencies of roles, function modules, and role configuration modules. By redefining roles, it is convenient to correspond to function modules.
本申请实施例的方案中,应用是指整个应用程序。服务是指一个应用程序的实例。角色是指应用程序中模块的集合,这些模块共同提供这个角色的能力。一个服务可以配置多个角色。因此,在进行具体设计时,不单单可以通过控制端来进行角色命名,比如计算节点、存储节点、网络节点等,还可以通过业务端来进行角色命名,比如管理角色、服务角色、物流角色、展示角色等等。具体情况开发人员可以不同服务需求来进行适应性调整设置。In the solutions of the embodiments of the present application, the application refers to the entire application program. A service is an instance of an application. A role is a collection of modules in an application that together provide the capabilities of that role. A service can be configured with multiple roles. Therefore, in the specific design, roles can be named not only through the control side, such as computing nodes, storage nodes, network nodes, etc., but also through the business side, such as management roles, service roles, logistics roles, Show characters and more. In specific situations, developers can adjust the settings according to different service requirements.
示例性的,例如针对于一个云平台系统,整个云平台系统就是一个应用;所述角色包括计算控制器、存储控制器、网络控制器、计算节点、存储节点和网络节点,所述为所述功能模块与所述角色配置对应的依赖关系,包括:Exemplarily, for example, for a cloud platform system, the entire cloud platform system is an application; the roles include a computing controller, a storage controller, a network controller, a computing node, a storage node, and a network node. The dependencies corresponding to the function modules and the role configuration, including:
为所述功能模块与计算控制器、存储控制器、网络控制器、计算节点、存储节点和网络节点配置对应的依赖关系。Corresponding dependencies are configured for the functional modules and the computing controller, the storage controller, the network controller, the computing node, the storage node and the network node.
由于云平台系统主要是提供计算存储服务的,所以在进行角色定义时,主要将其抽象为计算节点和存储节点等角色。在上述示例中,关于角色的定义为:计算控制器负责虚拟机相关功能模块、存储控制器负责存储块设备相关功能模块、网络控制器负责网络设备相关功能模块、计算节点存放虚拟机、存储节点存放存储块设备、网络节点存放网络设备。通过对上述角色进行定义也使得便于对相应的功能模块进行区分。但是在实际实施时不单单有上述几种类型的角色,还可以由其他的角色构成,比如购物网站,也可以由多种不同的角色设置,比如用户管理角色、数据存储角色、物流管理角色等等。具体角色定义需要依据实际情况来进行设置。Since the cloud platform system mainly provides computing and storage services, when defining roles, it is mainly abstracted into roles such as computing nodes and storage nodes. In the above example, the roles are defined as: the computing controller is responsible for virtual machine-related functional modules, the storage controller is responsible for storage block device-related functional modules, the network controller is responsible for network device-related functional modules, computing nodes store virtual machines, and storage nodes are responsible for Storage block devices are stored, and network nodes store network devices. By defining the above-mentioned roles, it is convenient to distinguish the corresponding functional modules. However, in actual implementation, there are not only the above-mentioned types of roles, but also other roles, such as shopping websites, or a variety of different roles, such as user management roles, data storage roles, logistics management roles, etc. Wait. The specific role definition needs to be set according to the actual situation.
本申请实施例提供的整个云平台系统就是一个应用,应用的程序包是cloud.jar。则运行一个cloud.jar就是一个服务。其中定义的角色就是其中的计算控制器、存储控制器、网络控制器、计算节点、存储节点、网络节点等。模块是指,计算控制器中用到了数据库模块,认证模块等。定义完角色,将对应的功能模块与相应的角色完成依赖配置即可。本实施例中提及的一个服务cloud.jar进程,这个服务可配置一个或多个角色。整个云平台又一个或多个服务构成提供能力。The entire cloud platform system provided by the embodiments of the present application is an application, and the program package of the application is cloud.jar. Then running a cloud.jar is a service. The roles defined are computing controllers, storage controllers, network controllers, computing nodes, storage nodes, network nodes, and so on. The module refers to the database module, authentication module, etc. used in the computing controller. After defining the role, you can complete the dependency configuration of the corresponding function module and the corresponding role. A service cloud.jar process mentioned in this embodiment, this service can be configured with one or more roles. The entire cloud platform and one or more services constitute the provisioning capability.
本实施例中提及的依赖指的是:在包括多个模块或组件的项目中,各模块或组件之间可能存在大量依赖关系,即一个模块或组件的执行需要另外一个或多个模块或组件的支持,一个模块或组件所包括的依赖可以包括例如其执行所依赖的模块或组件的标识。进行依赖管理时主要采用Maven进行依赖管理,Maven可以避免去搜索所有所需库的需求。Maven通过读取项目文件(pom.xml),找出它们项目之间的依赖关系。我们需要做的只是在每个项目的pom中定义好直接的依赖关系。The dependency mentioned in this embodiment refers to: in a project including multiple modules or components, there may be a large number of dependencies between the modules or components, that is, the execution of one module or component requires another one or more modules or Component support, the dependencies that a module or component includes may include, for example, the identification of the module or component on which its execution depends. Maven is mainly used for dependency management. Maven can avoid the need to search for all required libraries. Maven finds out the dependencies between their projects by reading the project file (pom.xml). All we need to do is define the direct dependencies in each project's pom.
采用Maven进行依赖管理主要有如下几种方式:1、依赖调节,决定当多个手动创建的版本同时出现时,哪个依赖版本将会被使用。如果两个依赖版本在依赖树里的深度是一样的时候,第一个被声明的依赖将会被使用。2、依赖管理,直接的指定手动创建的某个版本被使用。例如当一个模块C在自己的依赖管理模块包含模块B,即B依赖于A,那么A即可指定在B被引用时所使用的版本。3、依赖范围,包含在构建过程每个阶段的依赖。依赖范围可以包括编译阶段。供应阶段、运行阶段、测试阶段、系统阶段和导入阶段。4、依赖排除、任何可传递的依赖都可以通过"exclusion"元素被排除在外。举例说明,A依赖B,B依赖C,因此A可以标记C为"被排除的"。5、依赖可选,任何可传递的依赖可以被标记为可选的,通过使用"optional"元素。例如:A依赖B,B依赖C。因此,B可以标记C为可选的,这样A就可以不再使用C。There are mainly the following ways to use Maven for dependency management: 1. Dependency adjustment, which determines which dependency version will be used when multiple manually created versions appear at the same time. If two dependency versions are at the same depth in the dependency tree, the first declared dependency will be used. 2. Dependency management, which directly specifies that a manually created version is used. For example, when a module C includes module B in its own dependency management module, that is, B depends on A, then A can specify the version used when B is referenced. 3. Dependency scope, including dependencies in each stage of the build process. Dependency scope can include compilation phase. Provisioning Phase, Run Phase, Test Phase, System Phase and Import Phase. 4. Dependency Exclusion, any transitive dependencies can be excluded via the "exclusion" element. For example, A depends on B, and B depends on C, so A can mark C as "excluded". 5. Dependencies are optional. Any transitive dependency can be marked as optional by using the "optional" element. For example: A depends on B, B depends on C. So B can mark C as optional so that A can no longer use C.
S103:接收用户选择的应用服务需求并根据所述应用服务需求匹配相应的目标角色。S103: Receive an application service requirement selected by a user and match a corresponding target role according to the application service requirement.
也即是用户在启动应用服务程序时选需要启动的目标角色。更为优选的,图2是本申请实施例提供的服务需求与角色匹配的流程示意图,如图2所示,所述接收用户选择的应用服务需求并根据所述应用服务需求匹配相应的目标角色,还包括:That is, the user selects the target role that needs to be started when starting the application service program. More preferably, FIG. 2 is a schematic flowchart of the matching of service requirements and roles provided by the embodiment of the present application. As shown in FIG. 2 , the application service requirements selected by the user are received and the corresponding target roles are matched according to the application service requirements. ,Also includes:
S1031:接收用户选择的应用服务需求;S1031: Receive the application service requirement selected by the user;
S1032根据所述应用服务需求设置相应的目标角色和角色分布。S1032 sets corresponding target roles and role distribution according to the application service requirements.
启动时根据物理机实际环境、业务的具体需求选择不同的服务数量,不同的角色分布。不同的用户有不同的需求,通过应用服务需求可以设置相应的角色和角色分布;比如,当用户采用多台服务器,且需要对各个模块进行分布化处理时;则将不同的模块对应的角色设置于不同的服务器处来进行角色分布,并且也可以在两个不同的服务器处设置相同的控制角色来提高方案的容错性。At startup, select different numbers of services and different roles according to the actual environment of the physical machine and the specific needs of the business. Different users have different needs, and the corresponding roles and role distribution can be set through application service requirements; for example, when a user uses multiple servers and needs to perform distributed processing on each module; then set the roles corresponding to different modules The roles are distributed at different servers, and the same control role can also be set at two different servers to improve the fault tolerance of the scheme.
示例性的,所述应用服务需求包括业务需求、服务器数量、集群容错要求和环境并发量中的一种或多种。Exemplarily, the application service requirements include one or more of business requirements, number of servers, cluster fault tolerance requirements, and environment concurrency.
应用程序在步骤S102会配置哪些角色是可以选择的,而在启动应用服务程序的时候,可以根据实际场景,例如服务器数量、集群容错要求、环境的并发量等来选择在哪些服务器启动多少个服务,每个服务启用哪些角色。Which roles will be configured by the application in step S102 can be selected, and when starting the application service program, it can be selected according to the actual scenario, such as the number of servers, cluster fault tolerance requirements, concurrency of the environment, etc. which servers to start and how many services to start. , which roles are enabled for each service.
例如,启用一个云平台时候可以选择在服务器1启动一个服务器,角色是计算控制器、存储控制器、网络控制器。在服务器2启动一个服务,角色是计算节点。也可以在同一台服务器上,只启动一个服务包括所有的角色。这个只需要修改启动参数即可,无需修改代码,无需重新编译。启动参数指的也即是务需求、服务器数量、集群容错要求和环境并发量。For example, when enabling a cloud platform, you can choose to start a server on server 1, and the roles are computing controller, storage controller, and network controller. Start a service on server 2 and the role is the compute node. It is also possible to start only one service including all roles on the same server. This only needs to modify the startup parameters, no need to modify the code, no need to recompile. The startup parameters also refer to service requirements, number of servers, cluster fault tolerance requirements, and environmental concurrency.
示例性的,所述应用服务需求包括服务器数量,所述接收用户选择的应用服务需求并根据所述应用服务需求匹配相应的目标角色,包括:Exemplarily, the application service requirement includes the number of servers, and the receiving the application service requirement selected by the user and matching the corresponding target role according to the application service requirement includes:
当用户选择的服务器数量为1个时,在相应服务器匹配相应的应用服务所需的所有目标角色;或,When the number of servers selected by the user is 1, match all target roles required by the corresponding application service on the corresponding server; or,
当用户选择的服务器数量为多个时,根据所述服务器数量将应用服务所需目标角色分散设置于相应服务器处。When the number of servers selected by the user is multiple, the target roles required by the application service are distributed and set at corresponding servers according to the number of servers.
上述为当服务器数量不同时,进行具体的应用服务部署的结构示意图。图3是本申请实施例提供的单服务器单服务的部署结构示意图,如图3所示,其为单服务器单服务的部署结构示意图,其中,s1、s2和s3表示功能模块,三个功能模块配置在一起共同组成相应的角色,通过该角色提供相应的服务。由于采用的是单服务器,因此,是通过角色将所有功能模块加载至相应的服务器处。The above is a schematic structural diagram of specific application service deployment when the number of servers is different. FIG. 3 is a schematic diagram of a deployment structure of a single server and a single service provided by an embodiment of the present application. As shown in FIG. 3 , it is a schematic diagram of a deployment structure of a single server and a single service, wherein s1, s2 and s3 represent functional modules, and three functional modules Configured together to form a corresponding role, and provide corresponding services through this role. Since a single server is used, all function modules are loaded to the corresponding server through roles.
图4是本申请实施例提供的多服务器分布式的部署结构示意图,如图4所示,其为多服务器分布式的部署结构示意图。其中,s1表示一角色,s2表示一角色,s3表示一角色,s1、s2和s3配置成一角色;由于采用是多个服务器,所 以各个角色可以采用分布式设置的方式,并且通过不同的模块来提供不同的服务。由上可以知晓,根据不同的情况,最终得到的部署结构差异也较为明显。FIG. 4 is a schematic diagram of a multi-server distributed deployment structure provided by an embodiment of the present application. As shown in FIG. 4 , it is a schematic diagram of a multi-server distributed deployment structure. Among them, s1 represents a role, s2 represents a role, s3 represents a role, and s1, s2 and s3 are configured as a role; since multiple servers are used, each role can be set in a distributed manner, and through different modules Offer different services. As can be seen from the above, according to different situations, the difference in the final deployment structure is also obvious.
S104:根据所述目标角色以及所述依赖关系调用加载对应的功能模块通过运行相应的程序代码以进行服务部署。S104: Call and load a corresponding function module according to the target role and the dependency relationship to perform service deployment by running corresponding program code.
为了实现本申请实施例的方案,所有模块的代码都在同一个应用中。所以启动的时候需要根据步骤S102的配置,由应用的角色模块管理模块去决定加载哪些模块、代码以及相关配置。除了上述进行角色分配的方式之外,还可以根据各个功能模块进行应用打包的方式来进行操作。但是上述操作需要根据不同的场景多次编译成不同的应用程序包,例如在图4中就需要针对s1,s2,s3,s1+s2+s3四种配置的编译,输出四种应用程序。但是上述方案存在有一个缺陷,也即是模块越多,可能存在组合就复杂,而且一旦打包后,就不能改变。与本申请实施例中采用的对其进行角色进行依赖限定的方式并不相同。采用角色依赖的方式,可以使得所有的模块都在同一个应用中,启动的时候可以直接根据启动参数选择要启动的模块。而不需要重新编译。一个应用程序就可以使用于分布式微服务架构和小型程序单服务架构。并且可以在两种模式见灵活切换。In order to implement the solutions of the embodiments of the present application, the codes of all modules are in the same application. Therefore, when starting, according to the configuration in step S102, the role module management module of the application determines which modules, codes and related configurations to load. In addition to the above-mentioned method of assigning roles, operations can also be performed according to the method of application packaging for each functional module. However, the above operations need to be compiled multiple times into different application packages according to different scenarios. For example, in Figure 4, four configurations of s1, s2, s3, and s1+s2+s3 need to be compiled to output four applications. However, the above solution has a drawback, that is, the more modules there are, the more complicated the combination may be, and once packaged, it cannot be changed. It is not the same as the method of role-dependent limitation adopted in the embodiment of the present application. Using the role-dependent method, all modules can be in the same application, and the module to be started can be selected directly according to the startup parameters when starting. without recompiling. A single application can be used for distributed microservice architecture and small program single service architecture. And it can be flexibly switched between the two modes.
本申请实施例通过将应用程序封装成相应的功能模块,并通过角色管理模块进行角色定义进而为相应的功能模块与对应的角色配置依赖关系;使得所有模块都在同一应用服务中,启动时直接根据启动参数选择需要启动的模块,而无需进行重新编译。本申请实施例的方案一个应用程序就可以使用于分布式微服务架构和小型程序单服务架构。并且可以在两种模式见灵活切换,无论部署环境部署场景如何变化,都无需再调整代码,无需重新交付。The embodiment of the present application encapsulates the application program into corresponding functional modules, and defines roles through the role management module to configure dependencies for the corresponding functional modules and the corresponding roles; so that all modules are in the same application service, and directly when starting The modules to be started are selected according to the startup parameters without recompiling. The solutions of the embodiments of the present application can be used in a distributed micro-service architecture and a small-program single-service architecture with one application. And it can be flexibly switched between the two modes, no matter how the deployment environment and deployment scenarios change, there is no need to adjust the code or redelivery.
在上述实施例的基础上,图5为本申请实施例提供的一种根据服务角色的进行应用部署的装置的结构示意图。参考图5,本实施例提供的根据服务角色的进行应用部署的装置具体包括:On the basis of the foregoing embodiments, FIG. 5 is a schematic structural diagram of an apparatus for deploying applications according to service roles according to an embodiment of the present application. Referring to FIG. 5 , the apparatus for deploying applications according to service roles provided in this embodiment specifically includes:
封装模块21:用于将程序组件封装成相应的功能模块;Encapsulation module 21: used to encapsulate program components into corresponding functional modules;
依赖配置模块22:用于通过角色管理模块进行角色定义并为所述功能模块与所述角色配置对应的依赖关系;Dependency configuration module 22: used to define roles through the role management module and configure dependencies corresponding to the function modules and the roles;
匹配模块23:用于接收用户选择的应用服务需求并根据所述应用服务需求匹配相应的目标角色;Matching module 23: for receiving the application service requirement selected by the user and matching the corresponding target role according to the application service requirement;
加载模块24:用于根据所述目标角色以及所述依赖关系调用加载对应的功 能模块通过运行相应的程序代码以进行服务部署。Loading module 24: used to call and load the corresponding function module according to the target role and the dependency relationship to perform service deployment by running the corresponding program code.
本申请实施例通过将应用程序封装成相应的功能模块,并通过角色管理模块进行角色定义进而为相应的功能模块与对应的角色配置依赖关系;使得所有模块都在同一应用服务中,启动时直接根据启动参数选择需要启动的模块,而无需进行重新编译。本申请实施例的方案一个应用程序就可以使用于分布式微服务架构和小型程序单服务架构。并且可以在两种模式见灵活切换,无论部署环境部署场景如何变化,都无需再调整代码,无需重新交付。In the embodiment of the present application, the application program is encapsulated into corresponding functional modules, and the role is defined through the role management module to configure dependencies for the corresponding functional modules and the corresponding roles; so that all modules are in the same application service, and the direct The modules to be started are selected according to the startup parameters without recompiling. The solutions of the embodiments of the present application can be used in a distributed micro-service architecture and a small-program single-service architecture with one application. And it can be flexibly switched between the two modes, no matter how the deployment environment and deployment scenarios change, there is no need to adjust the code or redelivery.
本申请实施例提供的根据服务角色的进行应用部署的装置可以用于执行上述实施例提供的根据服务角色的进行应用部署的方法,具备相应的功能和有益效果。The apparatus for deploying applications based on service roles provided by the embodiments of the present application can be used to execute the methods for deploying applications based on service roles provided by the above embodiments, and has corresponding functions and beneficial effects.
图6是本申请实施例提供的一种电子设备的结构示意图,参照图6,该电子设备包括:处理器31、存储器32、通信模块33、输入装置34及输出装置35。该电子设备中处理器31的数量可以是一个或者多个,该电子设备中的存储器32的数量可以是一个或者多个。该电子设备的处理器31、存储器32、通信模块33、输入装置34及输出装置35可以通过总线或者其他方式连接。6 is a schematic structural diagram of an electronic device provided by an embodiment of the present application. Referring to FIG. 6 , the electronic device includes: a processor 31 , a memory 32 , a communication module 33 , an input device 34 and an output device 35 . The number of processors 31 in the electronic device may be one or more, and the number of memories 32 in the electronic device may be one or more. The processor 31 , the memory 32 , the communication module 33 , the input device 34 and the output device 35 of the electronic device may be connected by a bus or in other ways.
存储器32作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请任意实施例所述的根据服务角色的进行应用部署的方法对应的程序指令/模块(例如,根据服务角色的进行应用部署的装置中的封装模块21、依赖配置模块22、匹配模块23和加载模块24)。存储器32可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。As a computer-readable storage medium, the memory 32 can be used to store software programs, computer-executable programs, and modules, such as program instructions/modules corresponding to the method for deploying applications according to service roles described in any embodiment of the present application (for example, , the encapsulation module 21, the dependency configuration module 22, the matching module 23 and the loading module 24) in the apparatus for application deployment according to the service role. The memory 32 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function; the storage data area may store data created according to the use of the device, and the like. Additionally, memory 32 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device. In some examples, the memory may further include memory located remotely from the processor, the remote memory being connectable to the device through a network. Examples of such networks include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
通信模块33用于进行数据传输。The communication module 33 is used for data transmission.
处理器31通过运行存储在存储器32中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的根据服务角色的进行应用部署的方法。The processor 31 executes various functional applications and data processing of the device by running the software programs, instructions and modules stored in the memory 32 , that is, to implement the above-mentioned method of application deployment according to service roles.
输入装置34可用于接收输入的数字或字符信息,以及产生与设备的用户设 置以及功能控制有关的键信号输入。输出装置35可包括显示屏等显示设备。The input device 34 may be used to receive input numerical or character information and to generate key signal input related to user settings and functional control of the device. The output device 35 may include a display device such as a display screen.
上述提供的电子设备可用于执行上述实施例提供的根据服务角色的进行应用部署的方法,具备相应的功能和有益效果。The electronic device provided above can be used to execute the method for application deployment according to the service role provided by the above embodiment, and has corresponding functions and beneficial effects.
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器31执行时用于执行一种根据服务角色的进行应用部署的方法,该根据服务角色的进行应用部署的方法包括:Embodiments of the present application further provide a storage medium containing computer-executable instructions, when the computer-executable instructions are executed by the computer processor 31 for executing a method for deploying an application according to a service role, the The methods of application deployment include:
将程序组件封装成相应的功能模块;Encapsulate program components into corresponding functional modules;
通过角色管理模块进行角色定义并为所述功能模块与所述角色配置对应的依赖关系;Define roles through the role management module and configure dependencies corresponding to the function modules and the roles;
接收用户选择的应用服务需求并根据所述应用服务需求匹配相应的目标角色;Receive the application service requirement selected by the user and match the corresponding target role according to the application service requirement;
根据所述目标角色以及所述依赖关系调用加载对应的功能模块通过运行相应的程序代码以进行服务部署。According to the target role and the dependency relationship, the corresponding function module is called and loaded to perform service deployment by running the corresponding program code.
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器31执行的程序指令(例如具体实现为计算机程序)。storage medium - any of various types of memory devices or storage devices. The term "storage medium" is intended to include: installation media, such as CD-ROMs, floppy disks, or tape devices; computer system memory or random access memory, such as DRAM, DDR RAM, SRAM, EDO RAM, Rambus RAM, etc. ; non-volatile memory, such as flash memory, magnetic media (eg hard disk or optical storage); registers or other similar types of memory elements, etc. The storage medium may also include other types of memory or combinations thereof. In addition, the storage medium may be located in the first computer system in which the program is executed, or may be located in a second, different computer system connected to the first computer system through a network such as the Internet. The second computer system may provide program instructions to the first computer for execution. The term "storage medium" may include two or more storage media residing in different locations (eg, in different computer systems connected by a network). The storage medium may store program instructions (eg, embodied as a computer program) executable by one or more processors 31 .
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的根据服务角色的进行应用部署的方法,还可以执行本申请任意实施例所提供的根据服务角色的进行应用部署的方法中的相关操作。Of course, a storage medium containing computer-executable instructions provided by the embodiments of the present application, the computer-executable instructions of which are not limited to the above-mentioned method for application deployment according to service roles, and can also execute any of the embodiments of the present application. Related operations in the provided method for application deployment based on service roles.
上述实施例中提供的根据服务角色的进行应用部署的装置、存储介质及电子设备可执行本申请任意实施例所提供的根据服务角色的进行应用部署的方法,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供 的根据服务角色的进行应用部署的方法。The apparatus, storage medium, and electronic device for deploying applications based on service roles provided in the foregoing embodiments can execute the methods for deploying applications based on service roles provided in any of the embodiments of the present application, which are not described in detail in the foregoing embodiments. For technical details, refer to the method for application deployment according to service roles provided by any embodiment of this application.
上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。The above are only the preferred embodiments of the present application and the applied technical principles. The present application is not limited to the specific embodiments described herein, and various obvious changes, readjustments and substitutions that can be made by those skilled in the art will not depart from the protection scope of the present application. Therefore, although the present application has been described in detail through the above embodiments, the present application is not limited to the above embodiments, and can also include more other equivalent embodiments without departing from the concept of the present application. The scope is determined by the scope of the claims.

Claims (10)

  1. 一种根据服务角色的进行应用部署的方法,其特征在于,包括:A method for application deployment according to service roles, comprising:
    将程序组件封装成相应的功能模块;Encapsulate program components into corresponding functional modules;
    通过角色管理模块进行角色定义并为所述功能模块与所述角色配置对应的依赖关系;Define roles through the role management module and configure dependencies corresponding to the function modules and the roles;
    接收用户选择的应用服务需求并根据所述应用服务需求匹配相应的目标角色;Receive the application service requirement selected by the user and match the corresponding target role according to the application service requirement;
    根据所述目标角色以及所述依赖关系调用加载对应的功能模块通过运行相应的程序代码以进行服务部署。According to the target role and the dependency relationship, the corresponding function module is called and loaded to perform service deployment by running the corresponding program code.
  2. 根据权利要求1所述的根据服务角色的进行应用部署的方法,其特征在于,所述接收用户选择的应用服务需求并根据所述应用服务需求匹配相应的目标角色,还包括:The method for application deployment based on service roles according to claim 1, wherein the receiving the application service requirements selected by the user and matching the corresponding target roles according to the application service requirements, further comprising:
    根据所述应用服务需求设置相应的目标角色和角色分布。Set corresponding target roles and role distributions according to the application service requirements.
  3. 根据权利要求2所述的根据服务角色的进行应用部署的方法,其特征在于,所述应用服务需求包括业务需求、服务器数量、集群容错要求和环境并发量中的一种或多种。The method for deploying applications according to service roles according to claim 2, wherein the application service requirements include one or more of business requirements, number of servers, cluster fault tolerance requirements, and environment concurrency.
  4. 根据权利要求1所述的根据服务角色的进行应用部署的方法,其特征在于,在所述将程序组件封装成相应的功能模块之后,还包括:The method for application deployment according to the service role according to claim 1, characterized in that, after the encapsulation of the program components into corresponding functional modules, the method further comprises:
    提供可供开发人员编辑的配置文件,其中所述配置文件为每个功能模块提供用于启用所述功能模块的选项,使得所述功能模块可根据软件项目实例的需要而被选择性地启用。A developer-editable configuration file is provided, wherein the configuration file provides for each functional module an option to enable the functional module so that the functional module can be selectively enabled according to the needs of the software project instance.
  5. 根据权利要求1所述的根据服务角色的进行应用部署的方法,其特征在于,所述角色包括计算控制器、存储控制器、网络控制器、计算节点、存储节点和网络节点。The method for deploying applications according to service roles according to claim 1, wherein the roles include a computing controller, a storage controller, a network controller, a computing node, a storage node, and a network node.
  6. 根据权利要求1-5中任意一项所述的根据服务角色的进行应用部署的方法,其特征在于,所述将程序组件封装成相应的功能模块,包括:The method for application deployment according to any one of claims 1-5, wherein the encapsulating the program components into corresponding functional modules includes:
    将针对所述程序组件的相应示例代码封装到相应的功能模块。The corresponding example codes for the program components are packaged into corresponding functional modules.
  7. 根据权利要求1-5中任意一项所述的根据服务角色的进行应用部署的方法,其特征在于,所述应用服务需求包括服务器数量,所述接收用户选择的应用服务需求并根据所述应用服务需求匹配相应的目标角色,包括:The method for deploying applications according to service roles according to any one of claims 1 to 5, wherein the application service requirements include the number of servers, and the application service requirements selected by the user are received according to the application service requirements. Service requirements are matched to corresponding target roles, including:
    当用户选择的服务器数量为1个时,在相应服务器匹配应用服务所需的所有目标角色;或,When the number of servers selected by the user is 1, match all target roles required by the application service on the corresponding server; or,
    当用户选择的服务器数量为多个时,根据所述服务器数量将应用服务所需目标角色分散设置于相应服务器处。When the number of servers selected by the user is multiple, the target roles required by the application service are distributed and set at corresponding servers according to the number of servers.
  8. 一种根据服务角色的进行应用部署的装置,其特征在于,包括:A device for deploying applications according to service roles, comprising:
    封装模块:用于将程序组件封装成相应的功能模块;Encapsulation module: used to encapsulate program components into corresponding functional modules;
    依赖配置模块:用于通过角色管理模块进行角色定义并为所述功能模块与所述角色配置对应的依赖关系;Dependency configuration module: used to define roles through the role management module and configure dependencies corresponding to the function modules and the roles;
    匹配模块:用于接收用户选择的应用服务需求并根据所述应用服务需求匹配相应的目标角色;Matching module: used to receive the application service requirement selected by the user and match the corresponding target role according to the application service requirement;
    加载模块:用于根据所述目标角色以及所述依赖关系调用加载对应的功能模块通过运行相应的程序代码以进行服务部署。Loading module: used to call and load a corresponding function module according to the target role and the dependency relationship to perform service deployment by running the corresponding program code.
  9. 一种电子设备,其特征在于,包括:An electronic device, comprising:
    存储器以及一个或多个处理器;memory and one or more processors;
    所述存储器,用于存储一个或the memory for storing an or
    多个程序;multiple programs;
    当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一所述的根据服务角色的进行应用部署的方法。When the one or more programs are executed by the one or more processors, the one or more processors implement the method for deploying an application according to a service role according to any one of claims 1-7.
  10. 一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7任一所述的根据服务角色的进行应用部署的方法。A storage medium containing computer-executable instructions, wherein the computer-executable instructions, when executed by a computer processor, are used to execute the application deployment process according to any one of claims 1-7 according to service roles. method.
PCT/CN2021/074033 2020-07-20 2021-01-28 Method and apparatus for performing application deployment according to service role WO2022016848A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010700412.1 2020-07-20
CN202010700412.1A CN111897539B (en) 2020-07-20 2020-07-20 Method and device for deploying application according to service roles

Publications (1)

Publication Number Publication Date
WO2022016848A1 true WO2022016848A1 (en) 2022-01-27

Family

ID=73190340

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/074033 WO2022016848A1 (en) 2020-07-20 2021-01-28 Method and apparatus for performing application deployment according to service role

Country Status (2)

Country Link
CN (1) CN111897539B (en)
WO (1) WO2022016848A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114647419A (en) * 2022-02-15 2022-06-21 北京百度网讯科技有限公司 Service deployment processing method and device, electronic equipment and storage medium
CN115473799A (en) * 2022-06-27 2022-12-13 中电云数智科技有限公司 System and method for automatically deploying virtual machine micro-service application

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111897539B (en) * 2020-07-20 2024-03-29 国云科技股份有限公司 Method and device for deploying application according to service roles
CN112564914A (en) * 2020-11-26 2021-03-26 杭州安恒信息技术股份有限公司 Project management method and device, computer equipment and readable storage medium
CN112965745B (en) * 2021-04-01 2023-09-01 北京奇艺世纪科技有限公司 System access method, device, equipment and computer readable medium
WO2023039741A1 (en) * 2021-09-15 2023-03-23 国云科技股份有限公司 Online development method and apparatus based on microservice system, device, and storage medium
CN113805853A (en) * 2021-09-28 2021-12-17 重庆允成互联网科技有限公司 Software product development system based on industrial internet
CN113885956B (en) * 2021-09-29 2023-08-29 北京百度网讯科技有限公司 Service deployment method and device, electronic equipment and storage medium
CN114650318B (en) * 2022-02-24 2024-04-19 阿里巴巴(中国)有限公司 Switch pushing method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107203376A (en) * 2017-04-11 2017-09-26 国网天津市电力公司信息通信公司 A kind of enterprise-level information system
CN108062231A (en) * 2017-12-18 2018-05-22 江苏润和软件股份有限公司 A kind of cloud application automatic configuration method based on correlation analysis
CN111026413A (en) * 2019-12-08 2020-04-17 中国电子科技集团公司第十五研究所 Requirement-oriented complex system 'pull' mode deployment system and method thereof
CN111190586A (en) * 2019-12-16 2020-05-22 腾讯科技(深圳)有限公司 Software development framework building and using method, computing device and storage medium
CN111897539A (en) * 2020-07-20 2020-11-06 国云科技股份有限公司 Method and device for deploying applications according to service roles

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120159471A1 (en) * 2010-12-21 2012-06-21 Microsoft Corporation Multi-machine deployment and configuration of multi-tiered applications
US10282538B2 (en) * 2014-12-27 2019-05-07 Intel Corporation Technologies for providing hardware subscription models using pre-boot update mechanism
EP3435705B1 (en) * 2017-07-26 2021-03-31 NTT DoCoMo, Inc. Communication relay and method for redirecting data packets
US10621167B2 (en) * 2017-10-26 2020-04-14 Sap Se Data separation and write redirection in multi-tenancy database systems
US10592290B2 (en) * 2018-01-10 2020-03-17 International Business Machines Corporation Accelerating and maintaining large-scale cloud deployment
CN109725909B (en) * 2018-05-07 2023-07-21 中国平安人寿保险股份有限公司 Code file packaging deployment method, continuous integrated server and system
CN109067877B (en) * 2018-08-03 2021-08-24 平安科技(深圳)有限公司 Control method for cloud computing platform deployment, server and storage medium
CN109445811A (en) * 2018-09-07 2019-03-08 平安科技(深圳)有限公司 Gray scale dissemination method, device, computer equipment and computer storage medium
CN109683909A (en) * 2018-11-30 2019-04-26 昆明理工大学 A kind of MPI parallel environment automatic deployment method based on Docker
CN110413288B (en) * 2019-07-31 2023-05-09 新华三大数据技术有限公司 Application deployment method, device, server and storage medium
CN111061463A (en) * 2019-12-26 2020-04-24 深圳前海环融联易信息科技服务有限公司 Micro-service combination application method and device, computer equipment and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107203376A (en) * 2017-04-11 2017-09-26 国网天津市电力公司信息通信公司 A kind of enterprise-level information system
CN108062231A (en) * 2017-12-18 2018-05-22 江苏润和软件股份有限公司 A kind of cloud application automatic configuration method based on correlation analysis
CN111026413A (en) * 2019-12-08 2020-04-17 中国电子科技集团公司第十五研究所 Requirement-oriented complex system 'pull' mode deployment system and method thereof
CN111190586A (en) * 2019-12-16 2020-05-22 腾讯科技(深圳)有限公司 Software development framework building and using method, computing device and storage medium
CN111897539A (en) * 2020-07-20 2020-11-06 国云科技股份有限公司 Method and device for deploying applications according to service roles

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114647419A (en) * 2022-02-15 2022-06-21 北京百度网讯科技有限公司 Service deployment processing method and device, electronic equipment and storage medium
CN115473799A (en) * 2022-06-27 2022-12-13 中电云数智科技有限公司 System and method for automatically deploying virtual machine micro-service application
CN115473799B (en) * 2022-06-27 2023-08-15 中电云数智科技有限公司 System and method for automatically deploying micro-service application of virtual machine

Also Published As

Publication number Publication date
CN111897539A (en) 2020-11-06
CN111897539B (en) 2024-03-29

Similar Documents

Publication Publication Date Title
WO2022016848A1 (en) Method and apparatus for performing application deployment according to service role
US11853774B2 (en) Dynamically loaded plugin architecture
US9311161B2 (en) Automatically configured management service payloads for cloud IT services delivery
CN112416524A (en) Implementation method and device of cross-platform CI/CD (compact disc/compact disc) based on docker and kubernets offline
KR102368200B1 (en) Selection of code modules for device design
CN110727440B (en) Software packaging method
US20130326487A1 (en) Emulating cloud functioning of applications locally
CN106569880B (en) Method and system for dynamically sharing resources between Android applications
US9747091B1 (en) Isolated software installation
WO2012142798A1 (en) Method and apparatus for loading application program
US20130227572A1 (en) Test device, a system, a program and a method
US20230385044A1 (en) Meta-operators for managing operator groups
US11030066B2 (en) Dynamic application decomposition for execution in a computing environment
CN113127098A (en) Micro-service architecture-based application program creating method and related equipment
Van Der Burg et al. Disnix: A toolset for distributed deployment
US20200274758A1 (en) Provisioning hybrid cloud resources in an operating environment
US10635467B1 (en) Deployable console-based virtual application deployment and configuration systems and methods
CN114237760B (en) Method for packaging industrial mechanism model into container mirror image and publishing web service
WO2022179101A1 (en) Software storage method under storage architecture
CN113867776A (en) Method and device for publishing middle station application, electronic equipment and storage medium
CN114791884A (en) Test environment construction method and device, storage medium and electronic equipment
CN117170738B (en) Method, system, equipment and storage medium for interaction of Python and Fortran
Cerin et al. BOINC as a service for the slapos cloud: Tools and methods
US20220283789A1 (en) Methods and apparatuses for providing a function as a service platform
Alom Unikernel as Service Units on Distributed Resource-constrained Edge Devices

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21846895

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21846895

Country of ref document: EP

Kind code of ref document: A1