WO2022226703A1 - Software module deployment method, apparatus, computing device, and storage medium - Google Patents

Software module deployment method, apparatus, computing device, and storage medium Download PDF

Info

Publication number
WO2022226703A1
WO2022226703A1 PCT/CN2021/089706 CN2021089706W WO2022226703A1 WO 2022226703 A1 WO2022226703 A1 WO 2022226703A1 CN 2021089706 W CN2021089706 W CN 2021089706W WO 2022226703 A1 WO2022226703 A1 WO 2022226703A1
Authority
WO
WIPO (PCT)
Prior art keywords
software module
edge device
edge
software
management device
Prior art date
Application number
PCT/CN2021/089706
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 西门子股份公司
Priority to CN202180096156.2A priority Critical patent/CN117063153A/en
Priority to PCT/CN2021/089706 priority patent/WO2022226703A1/en
Priority to EP21938194.4A priority patent/EP4318214A1/en
Publication of WO2022226703A1 publication Critical patent/WO2022226703A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order

Landscapes

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

Abstract

The present disclosure relates to a software module deployment method, an apparatus, a computing device, and a storage medium. A software module deployment method, which comprises: a management device obtains a self-description file of at least one edge device, the self-description file at least describing a software runtime environment and hardware resource information of the edge device; on a graphical interface of a graphical management tool of the management device, a software module mirror is deployed on an appropriate edge device, and a connection relationship between different software module instances deployed on the edge device is established; the management device automatically allocates to every software module instance on an edge device port numbers to be used when actually communicating; and a configuration file is generated according to the software module instances deployed on every edge device, the connection relationship between different software module instances on an edge device, and port numbers.

Description

软件模块部署方法、装置、计算设备以及存储介质Software module deployment method, apparatus, computing device, and storage medium 技术领域technical field
本公开通常涉及工业物联网技术领域,更具体地,涉及软件模块部署方法、装置、计算设备以及存储介质。The present disclosure generally relates to the technical field of the Industrial Internet of Things, and more particularly, to a software module deployment method, apparatus, computing device, and storage medium.
背景技术Background technique
在工业场景下,边缘计算起到了越来越重要的作用。边缘设备与云服务器相比,更加接近数据源,将边缘设备作为用于数据处理的平台,可以提供更快的响应和更好的安全性。In industrial scenarios, edge computing plays an increasingly important role. Compared with cloud servers, edge devices are closer to the data source. Using edge devices as a platform for data processing can provide faster response and better security.
微服务,作为组织软件应用程序的架构,由于其突出的灵活性和可扩展性,也广泛地被使用。在边缘设备上部署微服务在目前的IoT领域已经成为常用的实现手段,能够解决很多技术问题。Microservices, as an architecture for organizing software applications, are also widely used due to their outstanding flexibility and scalability. Deploying microservices on edge devices has become a common implementation method in the current IoT field and can solve many technical problems.
目前存在一些容器编辑工具来部署微服务程序。例如,Docker是一种常用的容器,基于Docker常用的容器编辑工具包括Docker Compose和Docker Swarm。There are currently some container editing tools to deploy microservice programs. For example, Docker is a commonly used container, and common container editing tools based on Docker include Docker Compose and Docker Swarm.
Docker Compose和Docker Swarm能够部署微服务,但是仍然很复杂。用户需要编辑配置文件,当存在大量微服务时,微服务与设备之间的依赖关系非常容易混淆。Docker Compose and Docker Swarm are capable of deploying microservices, but are still complex. Users need to edit configuration files, and when there are a large number of microservices, the dependencies between microservices and devices can be easily confused.
此外,边缘计算和微服务在工业领域的应用与消费领域非常不同,在工业应用中,存在更多的限制。比如,存在很多无法直接与IP网络通信的不同现场数据,并且有时对于实时性的要求也非常严格。In addition, the application of edge computing and microservices in the industrial field is very different from that in the consumer field, where there are more restrictions. For example, there are many different field data that cannot be communicated directly with the IP network, and sometimes the requirements for real-time are very strict.
发明内容SUMMARY OF THE INVENTION
在下文中给出关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。The following presents a brief summary of the present invention in order to provide a basic understanding of certain aspects of the invention. It should be understood that this summary is not an exhaustive overview of the invention. It is not intended to identify key or essential parts of the invention nor to limit the scope of the invention. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is discussed later.
有鉴于此,本发明提出了一种软件模块部署方法和装置,利用图形化管理工具来建立边缘设备和软件模块镜像之间的依赖关系,并且将该依赖关系自动转换为配置文件,进而可以根据配置文件在边缘设备上实际部署软件模块。In view of this, the present invention proposes a software module deployment method and device, which uses a graphical management tool to establish a dependency relationship between an edge device and a software module image, and automatically converts the dependency relationship into a configuration file, which can be based on Profiles actually deploy software modules on edge devices.
根据本公开的一个方面,提供了一种软件模块部署方法,包括:According to one aspect of the present disclosure, a software module deployment method is provided, including:
管理设备获取至少一个边缘设备的自描述文件,所述自描述文件至少描述所述边缘设备的硬件资源信息和软件运行环境;The management device acquires a self-describing file of at least one edge device, where the self-describing file at least describes hardware resource information and software operating environment of the edge device;
在所述管理设备的图形化管理工具的图形界面上,将软件模块镜像部署在适当的边缘设备上以及建立部署在边缘设备上的不同软件模块实例之间的连接关系;On the graphical interface of the graphical management tool of the management device, deploy the software module image on an appropriate edge device and establish a connection relationship between different software module instances deployed on the edge device;
所述管理设备自动给部署在所述边缘设备上的每个软件模块实例分配实际进行通信时要采用的端口号;以及The management device automatically assigns each software module instance deployed on the edge device a port number to be used for actual communication; and
根据每个边缘设备上所部署的软件模块实例、边缘设备上的不同软件模块实例之间的连接关系以及所述端口号生成配置文件。The configuration file is generated according to the software module instance deployed on each edge device, the connection relationship between different software module instances on the edge device, and the port number.
通过这样的方式,可以以图形化方式描述软件模块与边缘设备之间的依赖关系,并且自动分配通信端口号,从而可以基于图形描述的依赖关系自动生成配置文件,来用于容器部署,节省了编写配置文件的大量工作。In this way, the dependencies between software modules and edge devices can be graphically described, and communication port numbers can be automatically assigned, so that configuration files can be automatically generated based on the graphically described dependencies for container deployment, saving Lots of work to write config files.
可选地,在上述方面的一个示例中,软件模块部署方法还包括:根据所述配置文件,利用容器编辑工具将所述管理设备上的软件模块镜像实际安装在边缘设备上,并且建立边缘设备上的软件模块实例之间的连接关系。Optionally, in an example of the above aspect, the software module deployment method further includes: according to the configuration file, using a container editing tool to actually install the software module image on the management device on the edge device, and establish the edge device. Connection relationships between instances of software modules on
通过这样的方式,可以使用现有的容器编辑工具,基于所生成的配置文件完成软件模块的部署。In this way, software modules can be deployed based on the generated configuration file using existing container editing tools.
可选地,在上述方面的一个示例中,将软件模块镜像部署在适当的边缘设备上包括:基于所述边缘设备的硬件资源信息和软件运行环境、所述管理设备中的软件模块镜像对于硬件和软件的要求以及用户需求中的至少一项将软件模块镜像部署在适当的边缘设备上。Optionally, in an example of the above aspect, deploying the software module image on an appropriate edge device includes: based on the hardware resource information and software operating environment of the edge device, the software module image in the management device is used for hardware and at least one of the requirements of the software and user requirements to deploy the software module image on the appropriate edge device.
可选地,在上述方面的一个示例中,将所述软件模块镜像部署在适当的边缘设备上包括以下中的至少一项:Optionally, in an example of the above aspect, deploying the software module image on an appropriate edge device includes at least one of the following:
将需要特定硬件资源的软件模块镜像部署在具有所述特定硬件资源的边缘设备上;Deploying a software module image that requires specific hardware resources on the edge device with the specific hardware resources;
为无法与IP网络连接的边缘设备部署能够实现通信协议转换的软件模块镜像;以及Deploy a software module image capable of implementing communication protocol conversion for edge devices that cannot be connected to IP networks; and
将具有实时性要求的软件模块镜像部署在具有实时计算能力的边缘设备上。Deploy software module images with real-time requirements on edge devices with real-time computing capabilities.
通过这样的方式,可以适应于工业应用领域中的边缘设备和软件模块的特定需求。In this way, it is possible to adapt to the specific needs of edge devices and software modules in industrial applications.
可选地,在上述方面的一个示例中,软件模块部署方法还包括:在所述图形界面上显示安装在所述边缘设备上的软件模块实例的运行状态、连接关系以及端口号。Optionally, in an example of the above aspect, the software module deployment method further includes: displaying, on the graphical interface, the running status, connection relationship and port number of the software module instance installed on the edge device.
通过这样的方式,可以直观地对软件模块的部署和运行状态进行监控。In this way, the deployment and running status of software modules can be monitored intuitively.
根据本公开的另一方面,提供了在边缘设备上部署软件模块的方法,包括:According to another aspect of the present disclosure, a method for deploying a software module on an edge device is provided, comprising:
边缘设备将其自描述文件提供给管理设备,所述自描述文件至少描述所述边缘设备的硬件资源信息和软件运行环境;The edge device provides its self-describing file to the management device, and the self-describing file at least describes the hardware resource information and software operating environment of the edge device;
所述边缘设备接收管理设备部署的软件模块镜像进行安装;以及The edge device receives and installs the software module image deployed by the management device; and
安装的软件模块实例通过所述管理设备分配的端口号运行通信。The installed software module instance runs communication through the port number assigned by the management device.
可选地,在上述方面的一个示例中,所述方法还包括:所述边缘设备向所述管理设备上报所述软件模块实例的运行状态。Optionally, in an example of the above aspect, the method further includes: the edge device reporting the running state of the software module instance to the management device.
根据本公开的另一方面,提供了软件模块部署装置,设置在管理设备上,包括:According to another aspect of the present disclosure, a software module deployment apparatus is provided, which is set on a management device, including:
自描述文件获取单元,被配置为获取至少一个边缘设备的自描述文件,所述自描述文件至少描述所述边缘设备的硬件资源信息和软件运行环境;A self-describing file obtaining unit is configured to obtain a self-describing file of at least one edge device, where the self-describing file at least describes hardware resource information and software operating environment of the edge device;
部署单元,被配置为根据用户的指令在管理设备的图形化管理工具的图形界面上,将软件模块镜像部署在适当的边缘设备上以及建立部署在边缘设备上的不同软件模块实例之间的连接关系;The deployment unit is configured to deploy the software module image on the appropriate edge device and to establish the connection between the different software module instances deployed on the edge device on the graphical interface of the graphical management tool of the management device according to the user's instruction relation;
端口号分配单元,被配置为自动给部署在所述边缘设备上的每个软件模块实例分配实际进行通信时要采用的端口号;以及a port number assignment unit configured to automatically assign each software module instance deployed on the edge device a port number to be used for actual communication; and
配置文件生成单元,被配置为根据每个边缘设备上所部署的软件模块实例、边缘设备上的不同软件模块实例之间的连接关系以及所述端口号生成配置文件。The configuration file generating unit is configured to generate a configuration file according to the software module instance deployed on each edge device, the connection relationship between different software module instances on the edge device, and the port number.
根据本公开的另一方面,提供了边缘计算系统,包括:管理设备和至少一个边缘设备,其中,所述管理设备按照如上所述的方法在所述至少一个边缘设备上部署软件模块。According to another aspect of the present disclosure, an edge computing system is provided, comprising: a management device and at least one edge device, wherein the management device deploys a software module on the at least one edge device according to the method described above.
根据本公开的另一方面,提供了计算设备,包括:至少一个处理器;以及与所述至少一个处理器耦合的一个存储器,所述存储器用于存储指令,当所述指令被所述至少一个处理器执行时,使得所述处理器执行如上所述的方法。According to another aspect of the present disclosure, there is provided a computing device comprising: at least one processor; and a memory coupled to the at least one processor, the memory for storing instructions, when the instructions are executed by the at least one processor When executed by the processor, the processor is caused to execute the method as described above.
根据本公开的另一方面,提供了一种非暂时性机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的方法。According to another aspect of the present disclosure, there is provided a non-transitory machine-readable storage medium storing executable instructions that, when executed, cause the machine to perform the method as described above.
根据本公开的另一方面,提供了一种计算机程序,包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行如上所述的方法。According to another aspect of the present disclosure, there is provided a computer program comprising computer-executable instructions which, when executed, cause at least one processor to perform the method as described above.
根据本公开的另一方面,提供了一种计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执 行时使至少一个处理器执行如上所述的方法。According to another aspect of the present disclosure, there is provided a computer program product tangibly stored on a computer-readable medium and comprising computer-executable instructions that, when executed, cause at least one A processor executes the method as described above.
附图说明Description of drawings
参照下面结合附图对本发明实施例的说明,会更加容易地理解本发明的以上和其它目的、特点和优点。附图中的部件只是为了示出本发明的原理。在附图中,相同的或类似的技术特征或部件将采用相同或类似的附图标记来表示。附图中:The above and other objects, features and advantages of the present invention will be more easily understood with reference to the following description of the embodiments of the present invention in conjunction with the accompanying drawings. The components in the drawings are merely intended to illustrate the principles of the invention. In the drawings, the same or similar technical features or components will be denoted by the same or similar reference numerals. In the attached picture:
图1为根据本发明实施例第一方面在管理设备上执行的软件模块部署方法的示例性过程的流程图;1 is a flowchart of an exemplary process of a software module deployment method executed on a management device according to a first aspect of an embodiment of the present invention;
图2示出了根据本发明实施例第二方面的在边缘设备上部署软件模块的方法的示例性过程的流程图;FIG. 2 shows a flowchart of an exemplary process of a method for deploying a software module on an edge device according to a second aspect of an embodiment of the present invention;
图3为根据本发明实施例的软件模块部署装置的示例性配置的框图;3 is a block diagram of an exemplary configuration of a software module deployment apparatus according to an embodiment of the present invention;
图4为根据本发明实施例的边缘计算系统的示例性配置的框图;4 is a block diagram of an exemplary configuration of an edge computing system according to an embodiment of the present invention;
图5示出了根据本公开的实施例的用于实现软件模块部署的计算设备500的方框图。FIG. 5 shows a block diagram of a computing device 500 for implementing software module deployment in accordance with an embodiment of the present disclosure.
其中,附图标记如下:Among them, the reference numerals are as follows:
100:软件模块部署方法               S102、S104、S106、S108、S110、S112:100: Software module deployment method S102, S104, S106, S108, S110, S112:
                                    步骤Steps
200:在边缘设备上部署软件模块的方法 S202、S204、S206、S208:步骤200: Method for deploying software modules on edge devices S202, S204, S206, S208: steps
300:软件模块部署装置               302:自描述文件获取单元300: Software module deployment device 302: Self-describing file acquisition unit
304:部署单元                       306:端口号分配单元304: Deployment unit 306: Port number allocation unit
308:配置文件生成单元               310:安装单元308: Configuration file generation unit 310: Installation unit
312:监控单元                       400:边缘计算系统312: Monitoring unit 400: Edge computing system
402:管理设备                       404-1、404-2:边缘设备402: Management devices 404-1, 404-2: Edge devices
406-A、406-B、406-C:软件模块镜像   408-A、408-B、408-C:软件模块实406-A, 406-B, 406-C: software module image 408-A, 408-B, 408-C: software module real
                                    例 example
502:处理器                         504:存储器502: Processor 504: Memory
500:计算设备500: Computing Equipment
具体实施方式Detailed ways
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求 书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。The subject matter described herein will now be discussed with reference to example implementations. It should be understood that these embodiments are discussed only to enable those skilled in the art to better understand and implement the subject matter described herein, and are not intended to limit the scope of protection, applicability, or examples set forth in the claims. Changes may be made in the function and arrangement of elements discussed without departing from the scope of the disclosure. Various examples may omit, substitute, or add various procedures or components as desired. For example, the methods described may be performed in an order different from that described, and various steps may be added, omitted, or combined. Additionally, features described with respect to some examples may also be combined in other examples.
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。As used herein, the term "including" and variations thereof represent open-ended terms meaning "including but not limited to". The term "based on" means "based at least in part on". The terms "one embodiment" and "an embodiment" mean "at least one embodiment." The term "another embodiment" means "at least one other embodiment." The terms "first", "second", etc. may refer to different or the same objects. Other definitions, whether explicit or implicit, may be included below. The definition of a term is consistent throughout the specification unless the context clearly dictates otherwise.
在边缘计算系统中,通常包括三种硬件设备:边缘集线器(Edge Hub)、边缘管理设备(Edge Master)和边缘设备。In an edge computing system, three hardware devices are usually included: an edge hub (Edge Hub), an edge management device (Edge Master) and an edge device.
边缘集线器是用于远程管理和监控的云平台;边缘管理设备是用于用户管理容器映像,并且描述微服务依赖关系、限制并且生成配置文件的主节点;边缘设备是用于执行微服务的真实环境。The edge hub is a cloud platform for remote management and monitoring; the edge management device is the master node for users to manage container images, and describe microservice dependencies, constraints, and generate configuration files; the edge device is the real device for executing microservices surroundings.
根据本发明的方法,主要涉及边缘管理设备(下文中简称管理设备)和边缘设备,在所述边缘管理设备上,利用图形化管理工具来建立边缘设备和软件模块镜像之间的依赖关系,并且将该依赖关系自动转换为配置文件,进而可以根据配置文件在边缘设备上实际部署软件模块。The method according to the present invention mainly involves an edge management device (hereinafter referred to as a management device) and an edge device. On the edge management device, a graphical management tool is used to establish a dependency relationship between the edge device and the software module image, and This dependency is automatically converted into a configuration file, which in turn can actually deploy software modules on edge devices according to the configuration file.
下面将结合附图来具体描述根据本公开的实施例的软件模块部署方法。根据根据本发明的软件模块部署方法涉及管理设备和边缘设备两个方面。图1为根据本发明实施例第一方面在管理设备上执行的软件模块部署方法100的示例性过程的流程图。The software module deployment method according to the embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. The software module deployment method according to the present invention involves both the management device and the edge device. FIG. 1 is a flowchart of an exemplary process of a software module deployment method 100 executed on a management device according to the first aspect of the embodiment of the present invention.
首先,在步骤S102中,管理设备接收至少一个边缘设备的自描述文件,所述自描述文件至少描述所述边缘设备的硬件资源信息和软件运行环境。First, in step S102, the management device receives a self-describing file of at least one edge device, where the self-describing file at least describes hardware resource information and software operating environment of the edge device.
一个管理设备可能关联多个边缘设备,每个边缘设备都带有自描述文件,自描述文件说明边缘设备自身的硬件资源信息和软件运行环境,例如支持现场总线(例如PROFINET)、进程映像等。A management device may be associated with multiple edge devices, and each edge device has a self-describing file. The self-describing file describes the hardware resource information and software running environment of the edge device itself, such as supporting fieldbus (such as PROFINET), process image, etc.
接着,在步骤S104中,在所述管理设备的图形化管理工具的图形界面上,将软件模块镜像部署在适当的边缘设备上以及建立部署在边缘设备上的不同软件模块实例之间的连接关系。Next, in step S104, on the graphical interface of the graphical management tool of the management device, deploy the software module image on an appropriate edge device and establish a connection relationship between different software module instances deployed on the edge device .
管理设备上存储有多个软件模块镜像,并且显示在管理设备的图形化管理工具的图形界面上。图像化管理工具是预先开发并存储在管理设备上的软件,本发明对该图形化管理工具不做详细说明,也不做限定。A plurality of software module images are stored on the management device and displayed on the graphical interface of the graphical management tool of the management device. The graphical management tool is software that is pre-developed and stored on the management device, and the present invention does not describe or limit the graphical management tool in detail.
软件模块镜像可以根据需要安装到适当的边缘设备上。根据本发明的方法,首先在图形化管理工具的图形界面上,将所述软件模块镜像虚拟地部署在适当的边缘设备上。Software module images can be installed on appropriate edge devices as needed. According to the method of the present invention, firstly, on the graphical interface of the graphical management tool, the software module image is virtually deployed on an appropriate edge device.
其中,可以基于所述边缘设备的硬件资源信息和软件运行环境、所述管理设备中的软件模块镜像对于硬件和软件的要求以及用户需求中的至少一项将所述软件模块镜像虚拟地部署在适当的边缘设备上。Wherein, the software module image can be virtually deployed on the edge device based on at least one of hardware resource information and software operating environment of the edge device, hardware and software requirements of the software module image in the management device, and user requirements. on the appropriate edge device.
具体地,在部署软件模块镜像时,例如可以存在以下情况:Specifically, when deploying a software module image, for example, the following situations may exist:
·软件模块镜像的安装运行对于边缘设备的硬件资源可能有相应的要求,因此,在边缘设备上部署软件模块时需要考虑软件模块镜像的硬件要求信息和边缘设备自身的硬件资源信息。例如,如果一个软件模块镜像需要某种特定的硬件资源,那么,该软件模块镜像必须要部署在具有这种硬件资源的边缘设备上。The installation and operation of the software module image may have corresponding requirements on the hardware resources of the edge device. Therefore, when deploying the software module on the edge device, the hardware requirements information of the software module image and the hardware resource information of the edge device itself need to be considered. For example, if a software module image requires a certain hardware resource, then the software module image must be deployed on an edge device with such hardware resource.
·对于某些边缘设备的硬件不能直接与IP网络连接的情况,则可以给边缘设备部署一个特定的软件模块实现边缘设备与IP网络的连接。例如,对于具有现场总线的边缘设备,其无法直接连接到IP网络,可以部署一个软件接口模块,该模块可以实现通信协议的转换,从下层读取现场总线的数据发送给上层的IP网络,并且读取上层的IP网络数据发送给边缘设备。·For the situation that the hardware of some edge devices cannot be directly connected to the IP network, a specific software module can be deployed for the edge device to realize the connection between the edge device and the IP network. For example, for an edge device with a fieldbus, which cannot be directly connected to the IP network, a software interface module can be deployed, which can implement the conversion of the communication protocol, read the fieldbus data from the lower layer and send it to the upper layer of the IP network, and Read the upper-layer IP network data and send it to the edge device.
·此外,对于具有实时性要求的软件模块,可以在具有实时计算能力的边缘设备上部署一个实时容器(实时容器可以以很多不同方式来实现,在此不再详述)。In addition, for software modules with real-time requirements, a real-time container can be deployed on an edge device with real-time computing capability (a real-time container can be implemented in many different ways, which will not be described in detail here).
这里通过几个具体示例:软件模块对于边缘设备有硬件要求、边缘设备需要特定的软件模块实现与上层系统的通信以及软件模块具有实时性要求,来举例说明在边缘设备上部署软件模块镜像可能遇到的情况。此外,用户可以根据实际需求在边缘设备上部署需要的软件模块镜像。Here are a few specific examples: software modules have hardware requirements for edge devices, edge devices need specific software modules to communicate with upper-layer systems, and software modules have real-time requirements to illustrate that deploying software module images on edge devices may encounter problems. to the situation. In addition, users can deploy required software module images on edge devices according to actual needs.
在本说明书中,微服务的软件模块在管理设备上时被称为软件模块镜像,当一个软件模块镜像部署到边缘设备上之后,将其称为软件模块实例。In this specification, a software module of a microservice is called a software module image when it is on a management device, and when a software module image is deployed on an edge device, it is called a software module instance.
除了在边缘设备上部署软件模块镜像以外,还可以在图形界面上将具有依赖关系的软件模块实例之间建立连接。这些软件模块实例可能部署在一个边缘设备上,也可能部署在不同边缘设备上。In addition to deploying software module images on edge devices, it is also possible to establish connections between instances of software modules with dependencies on a graphical interface. These software module instances may be deployed on one edge device or on different edge devices.
以上通过步骤S104,在图形化管理工具的图形界面上,通过图形的方式建立了边缘 设备和软件模块镜像之间以及不同软件模块镜像之间的依赖关系。Above through step S104, on the graphical interface of the graphical management tool, the dependency relationship between the edge device and the software module image and between the different software module images is established in a graphical manner.
接下来,在步骤S106中,管理设备自动给部署在所述边缘设备上的每个软件模块实例分配实际进行通信时要采用的端口号。Next, in step S106, the management device automatically assigns each software module instance deployed on the edge device a port number to be used in actual communication.
如果是部署在不同边缘设备上的两个软件模块实例之间进行通信,则分配的端口号是边缘设备的物理端口号;如果是部署在同一个边缘设备上的两个软件模块实例之间进行通信,则分配的端口号可以是边缘设备的物理端口号,也可以是边缘设备上的容器的虚拟端口号。If the communication is between two software module instances deployed on different edge devices, the assigned port number is the physical port number of the edge device; if the communication is between two software module instances deployed on the same edge device communication, the assigned port number can be the physical port number of the edge device or the virtual port number of the container on the edge device.
在步骤S108中,根据每个边缘设备上所部署的软件模块实例、边缘设备上的不同软件模块实例之间的连接关系以及所述端口号生成配置文件。In step S108, a configuration file is generated according to the software module instance deployed on each edge device, the connection relationship between different software module instances on the edge device, and the port number.
配置文件描述各个软件模块镜像与边缘设备的对应关系、不同软件模块实例之间的连接关系、以及软件模块实例之间进行通信的端口号等信息。The configuration file describes the correspondence between each software module image and the edge device, the connection between different software module instances, and the port numbers for communication between the software module instances.
通过上述过程,就可以获得用于在边缘设备上部署软件模块的配置文件,可以根据该部署文件在边缘设备上实际安装软件模块镜像。Through the above process, the configuration file for deploying the software module on the edge device can be obtained, and the software module image can be actually installed on the edge device according to the deployment file.
在一个示例中,软件模块部署方法还包括步骤S110,根据所述配置文件,利用容器编辑工具将所述管理设备上的软件模块镜像实际部署在边缘设备上,并且建立边缘设备上的软件模块实例之间的连接关系。In an example, the software module deployment method further includes step S110 , according to the configuration file, using a container editing tool to actually deploy the software module image on the management device on the edge device, and create a software module instance on the edge device connection between.
本领域技术人员可以根据需要选择现有技术中已有的容器编辑工具来部署软件模块镜像,例如,当采用Docker作为容器部署软件模块镜像时,可以采用Docker Compose或者Docker Swarm作为容器编辑工具,本发明对于在部署软件模块镜像时所采用的容器以及容器编辑工具都不做限定。Those skilled in the art can select existing container editing tools in the prior art to deploy software module images as required. For example, when Docker is used as a container to deploy software module images, Docker Compose or Docker Swarm can be used as the container editing tools. The invention does not limit the container and the container editing tool used when deploying the software module image.
在将所述管理设备上的软件模块镜像实际安装在边缘设备上之后,软件模块部署方法还包括步骤S112,在所述图形界面上显示安装在所述边缘设备上的软件模块实例的运行状态、连接关系以及端口号。通过这样的方式,可以让用户直观地了解和监控软件模块在边缘设备上的部署和运行情况。After the software module image on the management device is actually installed on the edge device, the software module deployment method further includes step S112, displaying on the graphical interface the running status of the software module instance installed on the edge device, Connection relationship and port number. In this way, users can intuitively understand and monitor the deployment and operation of software modules on edge devices.
接下来,将说明根据本发明实施例第二方面在边缘设备一侧执行的软件模块部署方法。图2示出了根据本发明实施例第二方面的在边缘设备上部署软件模块的方法200的示例性过程的流程图。Next, a software module deployment method performed on the edge device side according to the second aspect of the embodiment of the present invention will be described. FIG. 2 shows a flowchart of an exemplary process of a method 200 for deploying a software module on an edge device according to the second aspect of the embodiment of the present invention.
在步骤S202中,边缘设备将其自描述文件提供给管理设备,所述自描述文件至少描 述所述边缘设备的硬件资源信息和软件运行环境。In step S202, the edge device provides its self-describing file to the management device, where the self-describing file at least describes the hardware resource information and software operating environment of the edge device.
如上所述,每个边缘设备都带有自描述文件,自描述文件说明边缘设备自身的硬件资源信息和软件运行环境等信息。边缘设备向管理设备开放访问权限,使得管理设备可以获取边缘设备的硬件资源信息和软件运行环境信息。As mentioned above, each edge device has a self-describing file, and the self-describing file describes information such as hardware resource information and software operating environment of the edge device itself. The edge device opens access rights to the management device, so that the management device can obtain hardware resource information and software operating environment information of the edge device.
接着,在步骤S204中,边缘设备接收管理设备部署的软件模块镜像进行安装。Next, in step S204, the edge device receives and installs the software module image deployed by the management device.
如前所述,管理设备根据所生成的配置文件,将所述管理设备上的软件模块镜像实际部署在边缘设备上,并且建立边缘设备上的软件模块实例之间的连接关系。As mentioned above, the management device actually deploys the software module image on the management device on the edge device according to the generated configuration file, and establishes a connection relationship between software module instances on the edge device.
因此,当管理设备完成了在边缘设备上部署适当的软件模块镜像之后,边缘设备可以安装部署的软件模块实例。Therefore, after the management device has completed deploying the appropriate software module image on the edge device, the edge device can install the deployed software module instance.
在步骤S206中,安装好的软件模块实例通过所述管理设备分配的端口号运行通信。In step S206, the installed software module instance runs communication through the port number assigned by the management device.
优选地,软件模块部署方法200还包括步骤S208:边缘设备向所述管理设备上报软件模块实例的运行状态。Preferably, the software module deployment method 200 further includes step S208: the edge device reports the running state of the software module instance to the management device.
这样可以将边缘设备上的软件模块实例的运行状态信息上报给管理设备,从而可以在管理设备的图形界面上对软件模块实例的运行状态进行监控。In this way, the running state information of the software module instance on the edge device can be reported to the management device, so that the running state of the software module instance can be monitored on the graphical interface of the management device.
与第一方面对应,本发明实施例还提供一种软件模块部署装置,该装置设置在管理设备上。图3为根据本发明实施例的软件模块部署装置300的示例性配置的框图。Corresponding to the first aspect, an embodiment of the present invention further provides a software module deployment apparatus, where the apparatus is set on a management device. FIG. 3 is a block diagram of an exemplary configuration of a software module deployment apparatus 300 according to an embodiment of the present invention.
如图3所示,软件模块部署装置300包括:自描述文件获取单元302、部署单元304、端口号分配单元306和配置文件生成单元308。As shown in FIG. 3 , the software module deployment apparatus 300 includes: a self-describing file acquisition unit 302 , a deployment unit 304 , a port number assignment unit 306 and a configuration file generation unit 308 .
其中,自描述文件获取单元302被配置为获取至少一个边缘设备的自描述文件,所述自描述文件至少描述所述边缘设备的硬件资源信息和软件运行环境;Wherein, the self-describing file obtaining unit 302 is configured to obtain a self-describing file of at least one edge device, where the self-describing file at least describes hardware resource information and software operating environment of the edge device;
部署单元304被配置为根据用户的指令在管理设备的图形化管理工具的图形界面上,将软件模块镜像部署在适当的边缘设备上以及建立部署在边缘设备上的不同软件模块实例之间的连接关系;The deployment unit 304 is configured to deploy the software module image on the appropriate edge device and to establish a connection between different software module instances deployed on the edge device on the graphical interface of the graphical management tool for managing the device according to the user's instruction relation;
端口号分配单元306被配置为自动给部署在所述边缘设备上的每个软件模块实例分配实际进行通信时要采用的端口号;以及The port number assignment unit 306 is configured to automatically assign each software module instance deployed on the edge device a port number to be used for actual communication; and
配置文件生成单元308配置为根据每个边缘设备上所部署的软件模块实例、边缘设备上的不同软件模块实例之间的连接关系以及所述端口号生成配置文件。The configuration file generating unit 308 is configured to generate a configuration file according to the software module instance deployed on each edge device, the connection relationship between different software module instances on the edge device, and the port number.
在一个示例中,软件模块部署装置300还包括安装单元310,安装单元310被配置 为:根据所述配置文件,利用容器编辑工具将所述管理设备上的软件模块镜像实际安装在边缘设备上,并且建立边缘设备上的软件模块实例之间的连接关系。In an example, the software module deployment apparatus 300 further includes an installation unit 310, and the installation unit 310 is configured to: according to the configuration file, use a container editing tool to actually install the software module image on the management device on the edge device, And a connection relationship between software module instances on the edge device is established.
其中,所述部署单元304进一步被配置为:基于所述边缘设备的硬件资源信息和软件运行环境、所述管理设备中的软件模块镜像对于硬件和软件的要求以及用户需求中的至少一项将软件模块镜像部署在适当的边缘设备上。Wherein, the deployment unit 304 is further configured to: based on at least one of hardware resource information and software operating environment of the edge device, hardware and software requirements of the software module image in the management device, and user requirements Software module images are deployed on appropriate edge devices.
其中,所述部署单元304进一步被配置为执行以下中的至少一项:Wherein, the deployment unit 304 is further configured to perform at least one of the following:
将需要特定硬件资源的软件模块镜像部署在具有所述特定硬件资源的边缘设备上;Deploying a software module image that requires specific hardware resources on the edge device with the specific hardware resources;
为无法与IP网络连接的边缘设备部署能够实现通信协议转换的软件模块镜像;以及Deploy a software module image capable of implementing communication protocol conversion for edge devices that cannot be connected to IP networks; and
将具有实时性要求的软件模块镜像部署在具有实时计算能力的边缘设备上。Deploy software module images with real-time requirements on edge devices with real-time computing capabilities.
在一个示例中,软件模块部署装置300还包括监控单元312,监控单元312被配置为在所述图形界面上显示安装在所述边缘设备上的软件模块实例的运行状态、连接关系以及端口号。In one example, the software module deployment apparatus 300 further includes a monitoring unit 312, which is configured to display the running status, connection relationship and port number of the software module instance installed on the edge device on the graphical interface.
在本发明的实施例中,软件模块部署装置300设置在管理设备上,分别用于执行以上参照图1所描述的软件模块部署方法实施例相应的各个步骤,软件模块部署装置300的各个部分的操作和功能的细节可以与参照图1描述的本发明的软件模块部署方法100的实施例的相关部分相同或类似,这里不再详细描述。In the embodiment of the present invention, the software module deployment apparatus 300 is set on the management device, and is respectively configured to execute the corresponding steps of the software module deployment method embodiment described above with reference to FIG. 1 . Details of operations and functions may be the same as or similar to relevant parts of the embodiment of the software module deployment method 100 of the present invention described with reference to FIG. 1 , and will not be described in detail here.
需要说明的是,图3所示的软件模块部署装置300及其组成单元的结构仅仅是示例性的,本领域技术人员可以根据需要对图3所示的结构框图进行修改。It should be noted that the structures of the software module deployment apparatus 300 and its constituent units shown in FIG. 3 are merely exemplary, and those skilled in the art can modify the structural block diagram shown in FIG. 3 as required.
图4为根据本发明实施例的边缘计算系统400的示例性配置的框图。FIG. 4 is a block diagram of an exemplary configuration of an edge computing system 400 according to an embodiment of the present invention.
边缘计算系统400包括管理设备402和多个边缘设备404-1和404-2等。图4中示出了两个边缘设备,本领域技术人员可以理解,在根据本发明的边缘计算系统中,边缘设备的个数可以是任意多个。The edge computing system 400 includes a management device 402, a plurality of edge devices 404-1 and 404-2, and the like. Two edge devices are shown in FIG. 4 , and those skilled in the art can understand that in the edge computing system according to the present invention, the number of edge devices can be any number.
管理设备402上存储有多个软件模块镜像406-A、406-B和406-C。A plurality of software module images 406-A, 406-B and 406-C are stored on the management device 402.
在管理设备400上执行如以上参照图1所述的软件模块部署方法,在边缘设备404-1和404-2上分别执行如以上参照图2所描述的软件模块部署方法,实现了将软件模块镜像406-A、406-B和406-C分别部署在适当的边缘设备上。Execute the software module deployment method described above with reference to FIG. 1 on the management device 400, and execute the software module deployment method described above with reference to FIG. Images 406-A, 406-B, and 406-C are each deployed on the appropriate edge device.
例如,软件模块镜像406-A和406-B被部署到边缘设备404-2上,产生软件模块实例408-A和408-B,软件模块镜像406-C被部署到边缘设备404-1上,产生软件模块实例 408-C。For example, software module images 406-A and 406-B are deployed on edge device 404-2, resulting in software module instances 408-A and 408-B, software module image 406-C is deployed on edge device 404-1, A software module instance 408-C is generated.
具体的操作步骤可以与参照图1和图2所描述的本发明的软件模块部署方法100和在边缘设备上部署软件模块的方法200的实施例的相关部分相同或类似,这里不再详细描述。The specific operation steps may be the same as or similar to the relevant parts of the embodiments of the software module deployment method 100 and the software module deployment method 200 on the edge device of the present invention described with reference to FIG. 1 and FIG. 2 , and will not be described in detail here.
根据本发明的软件模块部署方法和装置至少具有以下优势中的一项。The software module deployment method and apparatus according to the present invention have at least one of the following advantages.
根据本发明的软件模块部署方法和装置可以以图形化方式描述软件模块与边缘设备之间的依赖关系,并且自动分配通信端口号,从而可以基于图形描述的依赖关系自动生成配置文件,来用于容器部署,节省了编写配置文件的大量工作。The software module deployment method and apparatus according to the present invention can graphically describe the dependencies between software modules and edge devices, and automatically assign communication port numbers, so that a configuration file can be automatically generated based on the graphically described dependencies for use in Container deployment saves a lot of work in writing configuration files.
根据本发明的软件模块部署方法和装置可以适应于工业应用领域中的边缘设备和软件模块的特定需求。The software module deployment method and apparatus according to the present invention can be adapted to the specific requirements of edge devices and software modules in the field of industrial applications.
根据本发明的软件模块部署方法和装置还可以直观地对软件模块的部署和运行状态进行监控。The software module deployment method and device according to the present invention can also monitor the deployment and running status of the software module intuitively.
如上参照图1至图3,对根据本公开的实施例的软件模块部署方法和装置进行了描述。以上所述的软件模块部署装置的各个单元可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。As above, with reference to FIGS. 1 to 3 , the software module deployment method and apparatus according to the embodiments of the present disclosure are described. Each unit of the above-mentioned software module deployment apparatus may be implemented by hardware, or may be implemented by software or a combination of hardware and software.
图5示出了根据本公开的实施例的用于实现信息处理的计算设备500的方框图。根据一个实施例,计算设备500可以包括至少一个处理器502,处理器502执行在计算机可读存储介质(即,存储器804)中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。FIG. 5 shows a block diagram of a computing device 500 for implementing information processing in accordance with an embodiment of the present disclosure. According to one embodiment, computing device 500 may include at least one processor 502 that executes at least one computer-readable instruction (ie, the above-described in software form) stored or encoded in a computer-readable storage medium (ie, memory 804 ). implemented elements).
应该理解,在存储器504中存储的计算机可执行指令当执行时使得至少一个处理器802进行本公开的各个实施例中以上结合图1-3描述的各种操作和功能。It should be understood that the computer-executable instructions stored in memory 504, when executed, cause at least one processor 802 to perform various operations and functions described above in connection with FIGS. 1-3 in various embodiments of the present disclosure.
根据一个实施例,提供了一种非暂时性机器可读介质。该非暂时性机器可读介质可以具有机器可执行指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本公开的各个实施例中以上结合图1-3描述的各种操作和功能。According to one embodiment, a non-transitory machine-readable medium is provided. The non-transitory machine-readable medium may have machine-executable instructions (ie, the above-described elements implemented in software) that, when executed by a machine, cause the machine to perform various embodiments of the present disclosure above in conjunction with FIGS. 1-3 Various operations and functions are described.
根据一个实施例,提供了一种计算机程序,包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行本公开的各个实施例中以上结合图1-3描述的各种操作和功能。According to one embodiment, there is provided a computer program comprising computer-executable instructions that, when executed, cause at least one processor to perform each of the various embodiments of the present disclosure described above in connection with FIGS. 1-3 . operations and functions.
根据一个实施例,提供了一种计算机程序产品,包括计算机可执行指令,所述计算 机可执行指令在被执行时使至少一个处理器执行本公开的各个实施例中以上结合图1-3描述的各种操作和功能。According to one embodiment, there is provided a computer program product comprising computer-executable instructions that, when executed, cause at least one processor to perform the various embodiments of the present disclosure described above in connection with FIGS. 1-3 Various operations and functions.
应当理解的是,本说明书中的各个实施例均采用递进的方式来描述,各个实施例之间相同或相似的部分相互参见即可,每个实施例重点说明的都是与其它实施例的不同之处。例如,对于上述关于装置的实施例、关于计算设备的实施例以及关于机器可读存储介质的实施例而言,由于它们基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。It should be understood that, each embodiment in this specification is described in a progressive manner, and the same or similar parts between the various embodiments may be referred to each other, and each embodiment is mainly described with respect to other embodiments. the difference. For example, for the above-mentioned embodiments about the apparatus, the embodiment about the computing device, and the embodiment about the machine-readable storage medium, since they are basically similar to the method embodiments, the descriptions are relatively simple, and the relevant details refer to the method implementation Part of the example can be explained.
上文对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。Specific embodiments of the present specification have been described above. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that in the embodiments and still achieve desirable results. Additionally, the processes depicted in the figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分别由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。Not all steps and units in the above processes and system structure diagrams are necessary, and some steps or units may be omitted according to actual needs. The device structure described in the above embodiments may be a physical structure or a logical structure, that is, some units may be implemented by the same physical entity, or some units may be implemented by multiple physical entities respectively, or may be implemented by multiple physical entities. Some components in separate devices are implemented together.
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。The detailed description set forth above in connection with the accompanying drawings describes exemplary embodiments and does not represent all embodiments that may be implemented or fall within the scope of the claims. The term "exemplary" as used throughout this specification means "serving as an example, instance, or illustration" and does not mean "preferred" or "advantage" over other embodiments. The detailed description includes specific details for the purpose of providing an understanding of the described technology. However, these techniques may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form in order to avoid obscuring the concepts of the described embodiments.
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。The above description of the present disclosure is provided to enable any person of ordinary skill in the art to make or use the present disclosure. Various modifications to this disclosure will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other variations without departing from the scope of this disclosure . Thus, the present disclosure is not intended to be limited to the examples and designs described herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The above descriptions are only preferred embodiments of the present invention, and are not intended to limit the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present invention shall be included in the scope of the present invention. within the scope of protection.

Claims (17)

  1. 软件模块部署方法,包括:Software module deployment methods, including:
    管理设备获取至少一个边缘设备的自描述文件,所述自描述文件至少描述所述边缘设备的硬件资源信息和软件运行环境;The management device acquires a self-describing file of at least one edge device, where the self-describing file at least describes hardware resource information and software operating environment of the edge device;
    在所述管理设备的图形化管理工具的图形界面上,将软件模块镜像部署在适当的边缘设备上以及建立部署在边缘设备上的不同软件模块实例之间的连接关系;On the graphical interface of the graphical management tool of the management device, deploy the software module image on an appropriate edge device and establish a connection relationship between different software module instances deployed on the edge device;
    所述管理设备自动给部署在所述边缘设备上的每个软件模块实例分配实际进行通信时要采用的端口号;以及The management device automatically assigns each software module instance deployed on the edge device a port number to be used for actual communication; and
    根据每个边缘设备上所部署的软件模块实例、边缘设备上的不同软件模块实例之间的连接关系以及所述端口号生成配置文件。The configuration file is generated according to the software module instance deployed on each edge device, the connection relationship between different software module instances on the edge device, and the port number.
  2. 如权利要求1所述的方法,还包括:根据所述配置文件,利用容器编辑工具将所述管理设备上的软件模块镜像实际安装在边缘设备上,并且建立边缘设备上的软件模块实例之间的连接关系。The method according to claim 1, further comprising: according to the configuration file, using a container editing tool to actually install the software module image on the management device on the edge device, and establishing a relationship between the software module instances on the edge device connection relationship.
  3. 如权利要求1或2所述的方法,其中,将软件模块镜像部署在适当的边缘设备上包括:基于所述边缘设备的硬件资源信息和软件运行环境、所述管理设备中的软件模块镜像对于硬件和软件的要求以及用户需求中的至少一项将软件模块镜像部署在适当的边缘设备上。The method according to claim 1 or 2, wherein deploying the software module image on an appropriate edge device comprises: based on the hardware resource information and software operating environment of the edge device, the software module image in the management device is suitable for At least one of hardware and software requirements and user requirements deploy the software module image on the appropriate edge device.
  4. 如权利要求1或2所述的方法,其中,将所述软件模块镜像部署在适当的边缘设备上包括以下中的至少一项:The method of claim 1 or 2, wherein deploying the software module image on an appropriate edge device comprises at least one of the following:
    将需要特定硬件资源的软件模块镜像部署在具有所述特定硬件资源的边缘设备上;Deploying a software module image that requires specific hardware resources on the edge device with the specific hardware resources;
    为无法与IP网络连接的边缘设备部署能够实现通信协议转换的软件模块镜像;以及Deploy a software module image capable of implementing communication protocol conversion for edge devices that cannot be connected to IP networks; and
    将具有实时性要求的软件模块镜像部署在具有实时计算能力的边缘设备上。Deploy software module images with real-time requirements on edge devices with real-time computing capabilities.
  5. 如权利要求1或2所述的方法,还包括:在所述图形界面上显示安装在所述边缘设备上的软件模块实例的运行状态、连接关系以及端口号。The method according to claim 1 or 2, further comprising: displaying the running status, connection relationship and port number of the software module instance installed on the edge device on the graphical interface.
  6. 在边缘设备上部署软件模块的方法,包括:Methods of deploying software modules on edge devices, including:
    边缘设备将其自描述文件提供给管理设备,所述自描述文件至少描述所述边缘设备的硬件资源信息和软件运行环境;The edge device provides its self-describing file to the management device, and the self-describing file at least describes the hardware resource information and software operating environment of the edge device;
    所述边缘设备接收管理设备部署的软件模块镜像进行安装;以及The edge device receives and installs the software module image deployed by the management device; and
    安装的软件模块实例通过所述管理设备分配的端口号运行通信。The installed software module instance runs communication through the port number assigned by the management device.
  7. 如权利要求6所述的方法,还包括:所述边缘设备向所述管理设备上报所述软件模块实例的运行状态。The method of claim 6, further comprising: the edge device reporting the running state of the software module instance to the management device.
  8. 软件模块部署装置(300),设置在管理设备上,包括:A software module deployment device (300), set on the management device, includes:
    自描述文件获取单元(302),被配置为获取至少一个边缘设备的自描述文件,所述自描述文件至少描述所述边缘设备的硬件资源信息和软件运行环境;A self-describing file obtaining unit (302) is configured to obtain a self-describing file of at least one edge device, where the self-describing file at least describes hardware resource information and software operating environment of the edge device;
    部署单元(304),被配置为根据用户的指令在管理设备的图形化管理工具的图形界面上,将软件模块镜像部署在适当的边缘设备上以及建立部署在边缘设备上的不同软件模块实例之间的连接关系;The deployment unit (304) is configured to deploy the software module image on the appropriate edge device on the graphical interface of the graphical management tool for managing the device according to the user's instruction and to establish an instance of different software modules deployed on the edge device. connection between
    端口号分配单元(306),被配置为自动给部署在所述边缘设备上的每个软件模块实例分配实际进行通信时要采用的端口号;以及a port number assignment unit (306) configured to automatically assign each software module instance deployed on the edge device a port number to be used for actual communication; and
    配置文件生成单元(308),被配置为根据每个边缘设备上所部署的软件模块实例、边缘设备上的不同软件模块实例之间的连接关系以及所述端口号生成配置文件。A configuration file generating unit (308) is configured to generate a configuration file according to the software module instance deployed on each edge device, the connection relationship between different software module instances on the edge device, and the port number.
  9. 如权利要求8所述的装置(300),还包括安装单元(310),被配置为:根据所述配置文件,利用容器编辑工具将所述管理设备上的软件模块镜像实际安装在边缘设备上,并且建立边缘设备上的软件模块实例之间的连接关系。The apparatus (300) according to claim 8, further comprising an installation unit (310) configured to: according to the configuration file, use a container editing tool to actually install the software module image on the management device on the edge device , and establish the connection relationship between the software module instances on the edge device.
  10. 如权利要求8或9所述的装置(300),其中,所述部署单元(304)进一步被配置为:基于所述边缘设备的硬件资源信息和软件运行环境、所述管理设备中的软件模块镜像对于硬件和软件的要求以及用户需求中的至少一项将软件模块镜像部署在适当的边缘设备上。The apparatus (300) according to claim 8 or 9, wherein the deployment unit (304) is further configured to: based on the hardware resource information and software operating environment of the edge device, a software module in the management device At least one of hardware and software requirements of the image and user requirements deploys the software module image on an appropriate edge device.
  11. 如权利要求8或9所述的装置(300),其中,所述部署单元(304)进一步被配置为执行以下中的至少一项:The apparatus (300) of claim 8 or 9, wherein the deployment unit (304) is further configured to perform at least one of the following:
    将需要特定硬件资源的软件模块镜像部署在具有所述特定硬件资源的边缘设备上;Deploying a software module image that requires specific hardware resources on the edge device with the specific hardware resources;
    为无法与IP网络连接的边缘设备部署能够实现通信协议转换的软件模块镜像;以及Deploy a software module image capable of implementing communication protocol conversion for edge devices that cannot be connected to IP networks; and
    将具有实时性要求的软件模块镜像部署在具有实时计算能力的边缘设备上。Deploy software module images with real-time requirements on edge devices with real-time computing capabilities.
  12. 如权利要求8或9所述的装置(300),还包括监控单元(312),被配置为在所述图形界面上显示安装在所述边缘设备上的软件模块实例的运行状态、连接关系以及端口号。The apparatus (300) according to claim 8 or 9, further comprising a monitoring unit (312) configured to display, on the graphical interface, the running status, connection relationship and The port number.
  13. 边缘计算系统(400),包括:管理设备(402)和至少一个边缘设备(404-1,404-2),其中,所述管理设备(402)按照根据权利要求1-5所述的方法在所述至少一个边缘设备(404-1,404-2)上部署软件模块。An edge computing system (400), comprising: a management device (402) and at least one edge device (404-1, 404-2), wherein the management device (402) according to the method according to claims 1-5 Software modules are deployed on the at least one edge device (404-1, 404-2).
  14. 计算设备(500),包括:A computing device (500) comprising:
    至少一个处理器(502);以及at least one processor (502); and
    与所述至少一个处理器(502)耦合的一个存储器(504),所述存储器用于存储指令,当所述指令被所述至少一个处理器(502)执行时,使得所述处理器(802)执行如权利要求1到5中任意一项所述的方法。a memory (504) coupled to the at least one processor (502) for storing instructions that, when executed by the at least one processor (502), cause the processor (802) ) to perform a method as claimed in any one of claims 1 to 5.
  15. 一种非暂时性机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求1到5中任意一项所述的方法。A non-transitory machine-readable storage medium storing executable instructions which, when executed, cause the machine to perform the method of any one of claims 1 to 5.
  16. 一种计算机程序,包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行根据权利要求1至5中任意一项所述的方法。A computer program comprising computer-executable instructions which, when executed, cause at least one processor to perform the method of any one of claims 1 to 5.
  17. 一种计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行根据权利要求1至5中任意一项所述的方法。A computer program product tangibly stored on a computer-readable medium and comprising computer-executable instructions which, when executed, cause at least one processor to perform the execution according to claims 1 to 5 any of the methods described in .
PCT/CN2021/089706 2021-04-25 2021-04-25 Software module deployment method, apparatus, computing device, and storage medium WO2022226703A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202180096156.2A CN117063153A (en) 2021-04-25 2021-04-25 Software module deployment method, device, computing equipment and storage medium
PCT/CN2021/089706 WO2022226703A1 (en) 2021-04-25 2021-04-25 Software module deployment method, apparatus, computing device, and storage medium
EP21938194.4A EP4318214A1 (en) 2021-04-25 2021-04-25 Software module deployment method, apparatus, computing device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/089706 WO2022226703A1 (en) 2021-04-25 2021-04-25 Software module deployment method, apparatus, computing device, and storage medium

Publications (1)

Publication Number Publication Date
WO2022226703A1 true WO2022226703A1 (en) 2022-11-03

Family

ID=83847557

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/089706 WO2022226703A1 (en) 2021-04-25 2021-04-25 Software module deployment method, apparatus, computing device, and storage medium

Country Status (3)

Country Link
EP (1) EP4318214A1 (en)
CN (1) CN117063153A (en)
WO (1) WO2022226703A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109302483A (en) * 2018-10-17 2019-02-01 网宿科技股份有限公司 A kind of management method and system of application program
US10348767B1 (en) * 2013-02-26 2019-07-09 Zentera Systems, Inc. Cloud over IP session layer network
CN110716734A (en) * 2019-09-20 2020-01-21 北京奇艺世纪科技有限公司 Software upgrading method and device, electronic equipment and medium
CN111324360A (en) * 2020-01-09 2020-06-23 华中科技大学 Container mirror image construction method facing edge calculation
CN112667293A (en) * 2019-10-16 2021-04-16 中移(苏州)软件技术有限公司 Method, device and storage medium for deploying operating system
CN112685069A (en) * 2019-10-20 2021-04-20 辉达公司 Real-time updating of machine learning models

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10348767B1 (en) * 2013-02-26 2019-07-09 Zentera Systems, Inc. Cloud over IP session layer network
CN109302483A (en) * 2018-10-17 2019-02-01 网宿科技股份有限公司 A kind of management method and system of application program
CN110716734A (en) * 2019-09-20 2020-01-21 北京奇艺世纪科技有限公司 Software upgrading method and device, electronic equipment and medium
CN112667293A (en) * 2019-10-16 2021-04-16 中移(苏州)软件技术有限公司 Method, device and storage medium for deploying operating system
CN112685069A (en) * 2019-10-20 2021-04-20 辉达公司 Real-time updating of machine learning models
CN111324360A (en) * 2020-01-09 2020-06-23 华中科技大学 Container mirror image construction method facing edge calculation

Also Published As

Publication number Publication date
EP4318214A1 (en) 2024-02-07
CN117063153A (en) 2023-11-14

Similar Documents

Publication Publication Date Title
US20230026690A1 (en) Method and system to place resources in a known state to be used in a composed information handling system
US9999030B2 (en) Resource provisioning method
US10701139B2 (en) Life cycle management method and apparatus
EP3133794B1 (en) Network function virtualization network system
US8200789B2 (en) Method, system and program product for automated topology formation in dynamic distributed environments
US9507630B2 (en) Application context transfer for distributed computing resources
WO2018006676A1 (en) Acceleration resource processing method and apparatus and network function virtualization system
KR20150140325A (en) Distributed Network Management System Using a Logical Multi-Dimensional Label-Based Policy Model
CN106134141A (en) A kind of method and device updating network service describer NSD
WO2022143653A1 (en) Multi-cloud interface adaptation method and system based on micro-service, and storage medium
CN114301914B (en) Cloud edge cooperation method, cloud edge cooperation device and storage medium
CN108881460B (en) Method and device for realizing unified monitoring of cloud platform
CN114363187B (en) Deployment method and system for virtual industrial equipment nodes
Naik et al. Workload monitoring in hybrid clouds
WO2022226703A1 (en) Software module deployment method, apparatus, computing device, and storage medium
CN112953992A (en) Network system, communication and networking method, device and storage medium
CN108259345B (en) Port generation method and device
Khalel et al. Enhanced load balancing in kubernetes cluster by minikube
CN115987872A (en) Cloud system based on resource routing
CN107070725B (en) A kind of method that server two-level management intermodule communication is shaken hands
WO2019072033A1 (en) Network method and system, and terminal
WO2018039878A1 (en) Method, apparatus, and system for managing virtual resource
CN114625528A (en) Composable information processing system using access control manager in open network
WO2018036310A1 (en) Method and apparatus for managing network function virtualization and orchestration entity
US11928515B2 (en) System and method for managing resource allocations in composed systems

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: 21938194

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180096156.2

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 18557041

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2021938194

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2021938194

Country of ref document: EP

Effective date: 20231025

NENP Non-entry into the national phase

Ref country code: DE