CN111066304A - 利用微服务的边缘设备和关联的网络 - Google Patents
利用微服务的边缘设备和关联的网络 Download PDFInfo
- Publication number
- CN111066304A CN111066304A CN201880055772.1A CN201880055772A CN111066304A CN 111066304 A CN111066304 A CN 111066304A CN 201880055772 A CN201880055772 A CN 201880055772A CN 111066304 A CN111066304 A CN 111066304A
- Authority
- CN
- China
- Prior art keywords
- edge device
- pipeline
- microservice
- micro
- edge
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004519 manufacturing process Methods 0.000 claims abstract description 48
- 238000005259 measurement Methods 0.000 claims abstract description 32
- 238000004458 analytical method Methods 0.000 claims abstract description 23
- 230000007613 environmental effect Effects 0.000 claims description 10
- 238000000034 method Methods 0.000 abstract description 25
- 238000012360 testing method Methods 0.000 description 32
- 238000012546 transfer Methods 0.000 description 21
- 238000011161 development Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 230000010354 integration Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000013515 script Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 208000018910 keratinopathic ichthyosis Diseases 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 241000196324 Embryophyta Species 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013499 data model Methods 0.000 description 2
- 238000002716 delivery method Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4185—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4183—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by data acquisition, e.g. workpiece identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Automation & Control Theory (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种用于网络的边缘设备(100;500,502),该边缘设备(100;500,502)被连接到或可连接到一个或多个生产设备(120),其中边缘设备(100;500,502)适于运行多个微服务(110a,110b,110c),每个微服务包括适于访问分析数据库(108)的人工产物(112a,112b,112c),其中,分析数据库(108)在微服务(110a,110b,110c)之间共享,其中边缘设备(100;500,502)适于访问与一个或多个生产设备(120)有关的测量信息,其中测量信息存储在与分析数据库分离(108)的测量数据库中。本发明还涉及相关的方法和设备。
Description
背景技术
数字化对工业软件开发和传送的实践提出了重大挑战。快速数字化行业中的生产要求灵活的配置、可自定义的功能、频繁的更改,尤其是缩短上市时间。但是,在严格的法规和对安全性、可靠性和合规性的不可议的要求下,工业软件仍由整体式架构主导,该架构通常对每次更新都要求计划内停机和手动安装。结果是典型的发布周期为12-18个月,在发布周期中有多个补丁。
发明内容
本发明的目的是特别是通过应用具有连续部署的微服务架构来促进向边缘设备的软件传送的加速。
因此,公开了一种用于网络的边缘设备,该边缘设备被连接到或可连接到一个或多个生产设备。边缘设备适于运行多个微服务,每个微服务包括适于访问分析数据库的人工产物,其中分析数据库在微服务之间共享。此外,边缘设备适于访问关于一个或多个生产设备的测量信息,其中,所述测量信息被存储在与分析数据库分离的测量数据库中。可以在边缘设备上或在核心网络中实现测量数据库。将微服务与共享数据库一起使用有助于改进更新和服务传送。网络可以是核心网络,和/或可以包括一个或多个传送管线。每个微服务可能涉及生产设备。不同的微服务可能涉及不同的生产设备和/或要确定的不同功能和/或不同参数,例如用于分析。
还考虑了一种如本文所公开的操作边缘设备的方法,该方法包括执行与边缘设备相关联的功能的动作。
通常,分析数据库可以存储在边缘设备中,例如在其存储器中。存储器可以布置在边缘设备的壳体中。分析数据库可以存储由一个或多个人工产物和/或微服务提供的数据,例如分析人工产物。数据可以表示KPI和/或基于测量信息确定的一个或多个操作参数。替代地或附加地,数据可以表示提供给生产设备的控制信息和/或来自生产设备的响应。
可以认为人工产物提供了与生产设备中的一个相关联的关键绩效指标(KPI)。特别地,人工产物可以提供一个和/或单个KPI或相关联的参数。因此,每个模块可以是特别简单的微服务。
边缘设备和/或生产设备可以被连接到或可连接到第二边缘设备,其中,所述第二边缘设备可以是备用设备。生产设备可以连接到边缘设备。边缘设备和第二边缘设备可以被认为是代表可以连接到一个或多个生产设备的边缘设备系统和/或边缘设备对,尤其是以两个边缘设备都连接到相同生产设备的方式。边缘设备可以接收和/或适于接收用于微服务的更新,并且与待更新的微服务并行地运行和/或适于运行微服务的更新。因此,不必停止操作以更新微服务。
在某些情况下,边缘设备可以运行和/或适于运行待更新的微服务,并且用于微服务的更新可以在第二边缘设备上运行。第二边缘设备可以从备用模式启动以运行更新。边缘设备可以适于启动第二边缘设备。替代地或附加地,核心网络和/或相关联的管线可以适于启动第二边缘设备。在备用模式中,可以部署微服务和/或人工产物,但不能由备用设备执行。
可以考虑,边缘设备可以并行运行和/或适于并行运行待更新的微服务和用于微服务的更新。并行运行更新和微服务的旧版本,允许在停止旧版本(待更新的版本)之前监视更新的行为。
微服务的更新可以通过微服务的一个或多个人工产物的更新来表示。更新可能与待更新的微服务或人工产物属于同一生产设备,和/或可能提供相同或相似的功能。
边缘设备可以连接到或可连接到核心网络,以用于接收微服务的更新和/或访问测量信息。这样的微服务可以由核心网络提供。特别地,测量数据库可以位于核心网络中。通常,边缘设备可以包括一个或多个连接和/或接口,以连接到一个或多个产品设备和/或核心网络和/或第二边缘设备。连接可以包括一个或多个接口,该接口可以是通信接口。通信接口可以是无线的或有线的,例如利用电线和/或光纤。类似地,产品设备可以包括相应的连接和/或接口,和/或核心网络和/或第二边缘设备可以包括相应的连接。
可以认为核心网络包括多个管线,每个管线属于不同的微服务和/或微服务的不同模块。管线通常可以由多个设备和/或工具(例如软件工具)表示和/或包括多个设备和/或工具(例如软件工具),以提供用于开发和/或传送微服务更新的服务,和/或与微服务相关联的一个或多个模块。管线的设备和/或工具可以通过通信接口连接。在某些情况下,管线的设备和/或工具可以串行连接。可以将不同的管线布置成彼此平行,例如使得可以并行地管理微服务和/或人工产物和/或模块。设备或工具的示例可以包括计算机,例如服务器或工作站,用户界面,开发环境,编译器,编辑器,测试环境等。设备和/或工具可以位于容器中,例如在单独的编程环境中和/或虚拟系统。
在一些变型中,每个管线,特别是每个传送管线,可以包括多个阶段和/或与多个阶段相关联,其中多个阶段中的一个可以提供环境架构,该环境架构适用于生产架构。阶段可以包括一个或多个设备和/或工具。可以考虑阶段设置在容器中,其可以例如对相关的设备和工具。设备通常可以用软件和/或硬件和/或固件来实现。可以认为,设备是虚拟的,例如在软件中模拟。工具可以例如以软件来实现。一种生产架构可以表示一个或多个生产设备的操作的条件和/或环境,特别是有关物理参数和/或相邻和/或连接的设备和/或通信,和/或要执行的任务方面,供电和/或控制和/或周围环境的物理参数。环境架构可以代表生产架构,例如参数化和/或仿真部分或全部生产架构。
通常,每个管线可以包括多个阶段,其中至少一个阶段可以设置在容器中。这样的管线和阶段有助于有效地处理微服务的开发环境,尤其是有效地适应变化。
通常,边缘设备可以在不同的运行时间环境和/或沙箱和/或虚拟化设备中运行和/或适于运行不同的微服务和/或微服务的不同模块。
可以认为存在连接到或可连接到一个或多个边缘设备的核心网络。边缘设备可以是本文所述的边缘设备。核心网络包括多个管线,每个管线属于不同的微服务和/或微服务的不同模块。微服务的模块可以是人工产物,或者是与微服务关联的管线的阶段或容器。
每个管线可以包括多个阶段,其中多个阶段中的一个提供环境架构,该环境架构适用于生产架构。
边缘设备通常可以指可以运行网络的边缘的硬件设备。边缘设备可以连接到一个或多个生产设备,例如工业设备。可以认为,边缘设备在物理上紧邻生产设备和/或工业设备。它可以具有有限的计算资源,和/或可以具有例如在人工产物中运行实时或接近实时的控制和数据采集软件的能力。
边缘设备可以用例如被配制成具有指令的计算机程序产品的硬件和/或软件和/或固件来实现,该指令使处理电路执行和/或控制边缘设备的功能。上述边缘设备和/或核心网络可以包括计算机系统。可以考虑包括本文描述的任何设备、系统或网络所适于的功能动作的方法,以及包括使计算机和/或处理电路执行和/或控制相应方法的指令的计算机程序。另外,提出了一种存储这种程序的存储介质。可以认为,设备或软件或工具包括用于表示各个功能的各个模块或子系统。模块通常可以用软件实现。替代地或附加地,可以认为设备,特别是边缘设备,和/或生产设备,和/或设备或核心网络,包括和/或利用集成电路,特别是处理电路,用于提供功能。集成电路或处理电路可以包括一个或多个处理器,例如微处理器和/或FPGA(现场可编程门阵列)和/或ASIC(专用集成电路)和/或微控制器。该电路可以包括和/或连接或可连接到存储器,例如非易失性和/或易失性和/或非易失性存储器。存储器和/或存储介质的示例可以包括RAM(随机存取存储器),ROM(只读存储器),高速缓冲存储器,缓冲存储器,光学存储器或磁性存储器和/或非暂态存储器或存储介质。设备或网络可以是集中式或分布式的,例如具有与不同模块或单元相关联的不同功能,例如经由诸如通信接口和/或软件接口之类的适当接口进行通信。
边缘设备的示例包括路由器,链接设备,计算机和/或交换机。边缘设备可以适于在与通信接口相关联的不同协议之间进行接口和/或转换。可以认为边缘设备以与核心网络和/或第二边缘设备不同的接口连接或可连接到生产设备。
人工产物可以在软件中实现,例如二进制程序和/或脚本。可以认为人工产物可以独立执行或运行,尽管它可以具有到一个或多个其他人工产物和/或模块的软件接口,和/或可以访问来自一个或多个其他模块和/或人工产物的信息。人工产物可以具有用于控制例如边缘接口的控制功能。替代地,人工产物可以具有分析功能,例如用于分析生产设备的行为和/或条件。每个人工产物可以关联和/或属于一个特定的生产设备,例如用于分析或控制或监视。可以认为,不同的人工产物被关联到不同的生产设备,和/或具有不同的功能。在某些情况下,人工产物可以是另一人工产物的更新,该人工产物也将被更新,例如具有改进的功能和/或可靠性和/或具有错误修复。微服务可以包括人工产物,该人工产物适于例如从另一人工产物和/或数据库和/或生产设备接收输入信息和/或访问信息,和/或访问共享数据库和/或测量数据库。人工产物可以适于基于人工产物执行的处理,例如基于输入信息,提供输出信息。访问数据库通常可以包括从数据库中检索和/或读取信息,例如输入信息,和/或向数据库提供和/或写入信息,例如输出信息。微服务可以由一个或多个人工产物表示,例如,访问一个或多个数据库和/或用户界面的人工产物。人工产物可以具有其自己的用户界面来访问,或者可以链接到单独运行的用户界面,例如图形用户界面。用户界面可以包括和/或被连接或可连接到输入和/或输出设备,例如显示器或屏幕或触摸屏。多个人工产物可能与同一用户界面相关联。运行软件或人工产物可以包括例如在处理电路上执行表示和/或包括人工产物的指令或代码。
核心网络通常可以包括一个或多个设备,其中至少一个可以例如经由通信接口连接或可连接到边缘设备。核心网络尤其可以是适于接收和/或存储可以经由边缘设备提供和/或路由的测量信息的网络。测量信息通常可以表示一个或多个生产设备的物理参数或其值或其变化。与生产设备相关联的人工产物可以检索和/或提供与相关联的生产设备有关的测量信息,和/或进行处理,例如在其上执行分析和/或计算。核心网络可以是适于将新的人工产物和/或更新的人工产物传送到边缘设备的网络。通常,核心网络可以连接到或可连接到一个或多个边缘设备,例如,使得不同的管线连接到不同的边缘设备。管线可以在核心网络中或作为核心网络的一部分来实现。核心网络可以包括多个管线,特别是传送管线。
特别地,一种方法可以完全或部分地由计算机系统执行。为此,该方法可以被配制成具有程序代码和/或指令的计算机程序产品。上述系统可以包括计算机系统。该方法的优点或特征可以应用于该方法,反之亦然。
附图说明
参考附图中所示的示例性实施例,根据以下讨论,本发明的上述特性、特征和优点以及实现它们的方式将变得更加清楚和易于理解。其中,
图1示出了根据本发明的示例性边缘设备;
图2示出了根据本发明的示例性阶段和管线;
图3示出了用于多个微服务的示例性管线;
图4示出了更新微服务的示例性过程;和
图5-图7示出了更新微服务的另一示例性过程。
具体实施方式
提出了基于三种方法的服务传送方法,其可以单独地或组合地实现。第一,提出了一种微服务架构,该架构将组件分解为独立可部署的服务。第二,描述了生成可在运行时实例化为服务的人工产物的构建管线。第三,讨论了在确保部署期间可用性的同时将服务部署到边缘设备的方法。
通常,提出了在诸如边缘设备的设备上具有共享数据库的微服务架构。共享的数据库通常可以由设备上和/或设备之间的微服务共享。
工业环境中边缘设备上的典型软件可以从诸如生产设备之类的装置中收集测量数据,并执行控制命令。示例性软件被称为监督控制和数据采集(SCADA)。可以将SCADA系统中的KPI(关键绩效指标)分析应用程序视为展示架构概念和传送方法的示例。KPI应用程序根据用户指定的KPI目标(例如,生产率,能耗等)分析测量数据。它可能会定期触发或通过异常测量触发。
图1示出了示例性边缘设备100,其连接至生产设备120或多个生产设备。在边缘设备100上,可以实现提供驱动器层和相关功能的驱动器102,以及可以实现与生产设备120相关联的测量和/或接收相关测量信息或结果的测量层104。这样的测量信息可以被存储在测量数据库中,该测量数据库可以在边缘设备100上(例如在层104中)实现或与其分离。触发层或模块106可以提供事件触发,例如以基于测量执行测量和/或分析。触发可以发生在事件驱动下,或周期性地,或根据时间表,或以其组合发生。在该示例中,示出了三个不同的微服务110a,110b,110c用于说明。每个微服务110a,110b,110c可以表示不同的KPI应用,例如执行与不同的KPI参数相关联的计算和/或分析。微服务可以被设计为包括三种类型的人工产物和/或与三种类型的人工产物相关联,即数据模型108、业务或分析逻辑,其可以由分析人工产物112a,112b,112c以及可视化和/或表示来表示,例如UI或面板114a,114b,114c。数据模型108可以在共享数据库中实现。数据库实体可以通过脚本创建。分析逻辑112a,112b,112c可以被实现为脚本,脚本可以调用其他数学或分析库来计算KPI。面板114a,114b,114c可以可视化装置操作者的KPI。用于分析的数据库108可以与核心数据库分离以存储测量数据,其具有更高的可用性要求并且可以根据工业法规进行认证。与将运行时过程按功能(UI,脚本和数据库)划分的整体式架构相反,所提出的架构允许KPI应用程序在边缘设备上运行,而不会干扰其他应用程序或边缘设备的核心功能。如上所述,KPI数据库108与测量数据库分离,并且在KPI服务110a,110b,110c之间共享。特别地,诸如分析人工产物112a,112b,112c之类的人工产物可以共享数据库108,和/或测量数据库,例如可以适于独立地访问数据库。
提出了一种可以连接到一个或多个边缘设备的传送管线。
微服务架构将应用程序(例如软件)构造为松散耦合的微服务的集合,这些松散的微服务可能是但不一定是完全独立的服务;例如,它们可以通过适当的连接或接口交换数据。与整体服务(其中,例如,一个大型软件模块可以实现多种功能和/或服务)相比,基于每个服务较低的复杂性,微服务的开发更加容易和快捷。这样可以大大加快发布周期并适应客户需求。另一方面,所有这些服务的组合仍可以视为一个应用程序。编排微服务的复杂性可能比单个应用程序大。特别地,可能会发生从设计和开发部分到环境(构建,测试,部署)的复杂性转变。
如果涉及到构建和发布过程,则使用的传送管线可以适于支持微服务架构。基于业务流程复杂性的增加以及部分独立服务的分离,任何开箱即用的传送管线都不会“刚好”满足应用程序的需求。替代地,传送管线是持续的(增量和迭代)结构,其可以永久地与产品架构保持一致,例如,不断适应产品架构的变化(例如,操作条件或新技术)。这种恒定的对准可能受到与产品本身相同的质量约束。传送管线的每个部分和每个改变都可能受到源管理、质量检查和最终部署。此外,即使对于管线本身,也可以使用诸如容器化和/或云化之类的现代技术。现代开发环境/传送管线可能与产品一样重要,并且可能被视为产品的主要部分。
建议使用管线设置200,如图2中所示。管线226可以是与一种微服务相关联的传送管线。对于环境阶段201,可以考虑构建管线202,构建管线202可以提供构建服务器容器206,其可以包括用于构建微服务的软件和/或工具,例如脚本和/或编译器和/或解释器和/或关联的库和/或编程环境和/或工具。而且,测试工具管线204可以提供测试工具容器208,其可以包括用于检查或测试微服务或人工产物的构建的测试工具。开发阶段212可以包括测试创建管线214,其可以向容器提供测试216。容器206、208和216可以存储在容器存储库210中,该存储库可以称为二进制存储库。储存库210可以被实现为存储器或储存器和/或数据库。传送管线226可以表示传送阶段,该传送阶段可以访问存储库210以访问容器以进行与管线226相关联的微服务或人工产品的检查218,构建220,部署222和/或测试224的阶段。阶段201、212可以被认为是与使用管线226开发的微服务或人工产物相关联的管线的阶段。管线202、204、214可以被认为是传送管线226的一部分和/或与传送管线226关联的管线。管线226可以将诸如人工产物的产品传送到例如边缘设备,并且可以被认为是传送管线。传送管线可以与一个人工产物和/或微服务相关联,例如用于新的开发和/或更新。检查可以包括检查取回的容器是否满足要求,例如关于与构建人工产物有关的能力和/或软件依赖性。部署可以指将诸如软件之类的可执行产品提供给另一个阶段或容器或管线或设备,以进行测试。测试可以包括单独的测试和/或集成测试。构建人工产物或微服务可以包括编译和/或构建脚本。
通过产品、测试与环境架构或阶段之间的紧密通信,可以改善传送管线的恒定或持续的对准或适应。可以指示有关所需环境改变的实施的责任转移。纯中央和项目独立的部门将无法处理所有改变,也无法提供专门定制的管线。相反,建议例如分成多个阶段,如上所述。可以实施向项目团队提供一组通用服务的中央部门。这些服务是众所周知的,并且可以包括通用工具,例如构建服务器,任务管理系统和/或对云环境的可访问性。
在一个阶段中,例如第二阶段,环境架构师可以开始创建满足产品需求的适当环境架构。该环境架构通过例如为每个微服务支持多个管线,可访问适当的测试运行时以进行并行测试和/或将开发工作空间集成到传送管线中来确保管线与产品架构保持一致。环境团队可以主要(但不是唯一必要)基于中央部门提供的服务来开始实施此环境架构。结果应该是第一最小的可行传送管线以及模板,其可以被开发团队使用来利用传送管线。第三阶段(也是最后阶段)可以与开发团队有关。
开发团队可以使用模板和模式将产品代码集成到项目传送管线中。他们可以调整和/或扩展管线以进一步满足特定需求。例如,某些微服务器可能需要比其他服务器更多的集成测试。在这种情况下,负责的开发团队可以扩展此微服务的管线,并且他们负责正确的执行。
中央IT部门可以负责基本服务,并专注于IT相关主题,例如安全服务器/工具安装,安全连接,许可。它可以提供最新的工具和技术。
项目环境团队可以创建和实施适合环境架构的产品架构。此外,该团队可以向开发团队提供模板和模式,并且可以负责正确的项目基础结构(例如,构建服务器和测试环境的正确配置和集成)。
一个或多个开发团队可以利用所提供的项目基础结构和模板,但是可以负责从提交到部署的正确执行。
每个团队可以利用与传送管线相关联的相关阶段或管线。
可以考虑管线质量。传送管线可能会不断地与产品(例如微服务或人工产物)相对应地发展。基本上,可以使用增量和迭代的方法来与产品保持一致,并在使用的技术方面保持最新。可以以与“正常”产品代码相同的方式来管理这种“进行中”的改变结构。例如,可以对传送管线的每个部分(例如,使用的工具,配置,工具集成,服务器实例,模板,线索代码等)进行源管理,质量检查,测试并最终部署到项目基础结构中。传送管线可以“不仅”用于产品代码,还可以用于基础结构本身。因此,每个提供的部分(如阶段或容器)都可以通过传送管线,以达到产品质量。因此,建议更新与诸如人工产物或微服务之类的产品的更新相对应的诸如传送管线之类的管线。
可以使用和/或可以更新提供高质量产品水平的传送管线的管线技术。由于分阶段和/或基于容器的方法,本文所述的方法便于与人工产物或微服务更新相关联的管线的容易更新。与微服务架构类似,传送管线本身可以看作是几个较小的部分/服务的组合。每个部分/服务都可以在单独的管线和/或阶段中生产。为了进行适当的测试并最终部署或传送或提供产品,可以使用类似容器化和/或虚拟化的技术。例如,管线的每个部分都可以作为容器使用,以便于轻松部署到服务器实例以完成其任务。一个具体的例子可能是产品创建过程中的测试执行。如图2所示,可以在第一次执行“产品创建管线”或传送管线226之前创建几个容器,并将其存储在存储库210中。“构建代理管线”或构建管线201可以创建容器206,其包括产品代码编译所需的所有配置和二进制文件。在“产品创建管线”226的执行期间,该容器(构建代理管线)206可以用于产品源代码的编译。可以实施类似的方法进行测试。例如,可以通过预先创建的容器208来提供所需的测试工具,就像测试216一样。
利用诸如容器化和/或云化之类的现代技术,可以实现灵活而稳定的传送管线。传送管线的每个部分都可以提供经过单独测试的人工产物/容器。
可以使用管线阶段。微服务架构的挑战之一是这些微服务的编排。该架构的核心方面是将其分离为更小、更易于管理的部分。这可以通过管线布置来支持。如图3所示,对于微服务管线300,每个微服务302、312、322可以具有其自己的传送管线311、321、332,其产生已经过良好测试的人工产物。每个传送管线可以具有用于检查304、314、324构建306、316、326,部署308、318、328和/或测试310、320、330的关联的管线和/或容器,其可以基于用于开发传送管线的关联的阶段和/或管线。每个传送管线311、321、332可以将用于相关联的微服务的人工产物提供给人工产物存储器或数据库334,这可以称为人工产物厂。人工产物厂334可以被认为是分阶段的。
现在人工产物可以被标记/分为准备好进行集成测试。在下一阶段,可以执行使用“非待测试”微服务的最新稳定版本和“待测试”微服务的刚创建版本的集成测试。例如,如果有新版本的微服务302或“MS-1”可用,那么集成测试将使用“最新稳定”版本的微服务312“MS-2”和322“MS-3”以及新生成版本的“MS-1”。如果此集成测试通过而没有任何错误,则经过测试的微服务将升级为“最新稳定”阶段。集成管道可以在传送管线之后提供,和/或可以认为表示集成测试阶段,其可以基于多个人工产物和/或微服务,和/或与之相关联,例如彼此通信和/或具有相互依赖性的多个微服务。
该阶段概念可以根据需要重复多次。例如,如果微服务1,2和3的组成是微服务的完整应用程序的子系统,则可以针对一个或多个其他子系统测试该子系统。只有完整的阶段链正确无误地通过,最初建立的微服务或人工产物才被升级为“最新稳定”。在此阶段,可以在发布或传送到一个或多个边缘设备之前,通过内部或外部伙伴对人工产物执行附加的手动认证。
当人工产物准备好用于部署时,设备本身将决定何时适合进行执行和更新。可能的最低要求可以是要更新的KPI应用程序例如未按预期执行KPI分析。
可以考虑用于生产中的微服务或人工产物部署的不同方法。
根据边缘设备的示例配置,描述了两种类型的部署变型。在第一变型中,同一设备上的微服务或人工产物的更新可以假定只有一个设备没有备份。使用备用设备进行更新假定备用设备与主设备并行运行。两种变型都通过KPI应用程序进行了演示。更新可以是如本文所述基于管线传递到边缘设备的产品。
在动作A10-A16中,在图4中示出了用于同一边缘设备的更新流程400。在动作A10中,边缘设备正在运行微服务402,其可以包括类似于图1的分析人工产物和UI人工产物。在动作A12中,为了开始更新,从人工产物厂或其他存储器中拉出一个或多个测试的人工产物,并将其与适当的版本信息一起存储在设备上。可以与共享数据库相关联地创建数据库实体。可能无法激活与单独的测量数据库的连接。在动作A14中,例如通过启动一个或多个更新的人工产物来启动新的微服务版本404。新版本404可以在其自己的运行时间环境中执行,而不会干扰旧版本402。两种版本都可以并行运行,并且操作员可以观察结果以确定新服务是否提供了理想的结果,例如更多细节或更高准确性。在动作A16中,旧版本402可以被停止并且相关联的人工产物可以被去除。可以保留由旧版本生成的分析数据,例如,至少保留到由外部设备存档为止。在并行运行期间产生的数据可以保存在共享数据库中,以便在必要时进行应用程序诊断。
用备用设备进行的更新在图5,6和7中示出。通常的做法是在高度可靠的生产环境中部署备用边缘设备502(也称为备用设备)。在正常操作中,备用设备502将备份主边缘设备500和/或连接的生产设备的测量数据。当主边缘设备500(也称为主设备500)发生故障时,备用设备502应该能够恢复所有功能而不会丢失数据。因此,备用边缘设备502可以连接到主边缘设备500和/或一个或多个生产设备。
在动作B10中,备用设备502上的诸如微服务之类的应用程序未运行,但是相同版本的人工产物被部署在两个设备上并在主边缘设备500上执行。在动作B12中,在备用设备502上,将要更新的微服务和/或人工产物替换为新版本或测试版本的人工产物。由于应用程序未运行,并且生产设备仍在使用旧版本进行正常操作,因此可以直接替换它们。在动作B14中,例如在正常故障恢复场景中,激活备用设备502上的更新的人工产物或微服务。可以考虑激活所有人工产物和/或微服务以执行,不仅执行更新的。两个设备500、502正在运行,区别在于主设备500仍在运行旧版本,而备用设备502运行更新版本。在动作B16中,然后可以将主设备500切换到备用模式,并且可以禁用所有微服务,因为备用设备502可以恢复和/或提供系统的所有正常功能,因此被认为是新的主设备。在动作B18中,旧版本的人工产物被当前备用设备500上的新版本的人工产物代替。由旧版本产生的数据可以保存在例如共享数据库上。共享数据库可以在设备500、502之间共享,或者可以提供单独的共享数据库,其可以例如彼此同步。
根据本发明,可以提供对服务的有限的小规模更新。小功能和错误修复可能会很快传送。这些方法保留了允许低影响的工业认证的能力。需要更新时,停机时间最短。通过设备上的测试可以确保可靠性。在传送过程中实现了自动化和最少的人工工作。
尽管以上已经参考优选实施例对本发明进行了详细说明和说明,但是本发明不应解释为限于给定的示例。在不超出本发明的范围的情况下,主题专家可以得出在不同实施例中给出的特征的变形或替代组合。
Claims (14)
1.一种用于网络的边缘设备(100;500,502),所述边缘设备(100;500,502)被连接到或能够连接到一个或多个生产设备(120),其中所述边缘设备(100;500,502)适于运行多个微服务(110a,110b,110c),每个微服务包括适于访问分析数据库(108)的人工产物(112a,112b,112c),
其中,分析数据库(108)在微服务(110a,110b,110c)之间共享,其中边缘设备(100;500,502)适于访问关于一个或多个生产设备(120)的测量信息,其中,所述测量信息被存储在与分析数据库(108)分离的测量数据库中。
2.根据权利要求1所述的边缘设备,其中,所述分析数据库(108)被存储在所述边缘设备(100;500,502)中。
3.根据前述权利要求中的任一项所述的边缘设备,其中,人工产物(112a,112b,112c)提供与所述生产设备(120)中的一个相关联的关键绩效指标。
4.根据前述权利要求中的任一项所述的边缘设备,其中,所述边缘设备(500)和/或生产设备(120)被连接到或能够连接到第二边缘设备(502),其中,所述第二边缘设备(502)是备用设备。
5.根据前述权利要求中的任一项所述的边缘设备,其中,所述边缘设备(100;500,502)适于接收用于微服务(404)的更新,并且与待更新的微服务(402)并行地运行微服务(404)的更新。
6.根据权利要求5所述的边缘设备,其中,所述边缘设备(100;500)适于运行待更新的微服务(402),并且其中,用于微服务的更新(404)在连接到边缘设备(100;500)的第二边缘设备(502)上运行,其中,第二边缘设备(502)从备用模式启动以运行更新(404)。
7.根据权利要求5所述的边缘设备,其中,所述边缘设备(100)适于并行运行待更新的微服务(402)和用于所述微服务的更新(404)。
8.根据前述权利要求中的任一项所述的边缘设备,其中,所述边缘设备(100;500,502)被连接到或能够连接到核心网络,以用于接收微服务的更新和/或访问所述测量信息。
9.根据前述权利要求中的任一项所述的边缘设备,其中,所述核心网络包括多个管线(226,311,321,332),每个管线属于不同微服务和/或微服务(302,312,322)的不同模块。
10.根据权利要求9所述的边缘设备,其中,每个管线(226,311,321,332)包括多个阶段,其中,所述多个阶段中的一个提供环境架构(201),所述环境架构(201)适于生产架构。
11.根据权利要求9至10中的任一项所述的边缘设备,其中,每个管线(226,311,321,332)包括多个阶段,其中,所述阶段中的至少一个设置在容器(206,208,216)中。
12.根据前述权利要求中的任一项所述的边缘设备,所述边缘设备(100;500,502)适于在不同的运行时间环境中运行不同的微服务(302,312,322)和/或微服务(302,312,322)的不同模块。
13.一种核心网络,连接到或能够连接到一个或多个边缘设备(100;500,502),特别是根据前述权利要求中的任一项所述的边缘设备(100;500,502),其中,所述核心网络包括多个管线(226,311,321,332),每个管道(226,311,321,332)属于不同的微服务(302,312,322)和/或微服务(302,312,322)的不同模块。
14.根据权利要求13所述的核心网络,其中,每个管线(225、311、321、332)包括多个阶段,其中,所述多个阶段中的一个提供环境架构(201),所述环境架构(201)适于生产架构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311790584.2A CN117714527A (zh) | 2017-07-28 | 2018-07-20 | 利用微服务的边缘设备和关联的网络 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17183744.6 | 2017-07-28 | ||
EP17183744 | 2017-07-28 | ||
PCT/EP2018/069779 WO2019020514A1 (en) | 2017-07-28 | 2018-07-20 | PERIPHERAL DEVICES AND RELATED NETWORKS USING MICROSERVICES |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311790584.2A Division CN117714527A (zh) | 2017-07-28 | 2018-07-20 | 利用微服务的边缘设备和关联的网络 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111066304A true CN111066304A (zh) | 2020-04-24 |
Family
ID=63042008
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311790584.2A Pending CN117714527A (zh) | 2017-07-28 | 2018-07-20 | 利用微服务的边缘设备和关联的网络 |
CN201880055772.1A Pending CN111066304A (zh) | 2017-07-28 | 2018-07-20 | 利用微服务的边缘设备和关联的网络 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311790584.2A Pending CN117714527A (zh) | 2017-07-28 | 2018-07-20 | 利用微服务的边缘设备和关联的网络 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11243516B2 (zh) |
EP (1) | EP3643049B1 (zh) |
CN (2) | CN117714527A (zh) |
WO (1) | WO2019020514A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113703789A (zh) * | 2021-08-04 | 2021-11-26 | 德邦证券股份有限公司 | 部署微服务程序的方法、装置以及存储介质 |
CN113721567A (zh) * | 2021-08-06 | 2021-11-30 | 中国电子科技集团公司第五十四研究所 | 一种基于共享服务的多设备协同生产方法 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106533804A (zh) * | 2016-12-22 | 2017-03-22 | 成都西加云杉科技有限公司 | 一种网络运营支撑系统 |
US11243516B2 (en) | 2017-07-28 | 2022-02-08 | Siemens Aktiengesellschaft | Edge devices and associated networks utilising microservices |
JP7466156B2 (ja) * | 2019-04-05 | 2024-04-12 | ミミック・テクノロジー・インコーポレイテッド | 分散型エッジクラウドコンピューティングのための方法およびシステム |
US20220311673A1 (en) * | 2019-08-30 | 2022-09-29 | Qiang ZU | Method for Onboarding a Network Function Package in ONAP |
US10887558B1 (en) | 2019-09-09 | 2021-01-05 | Shanghai United Imaging Intelligence Co., Ltd. | Methods and devices for enhancing functionalities related to sensors |
US11017902B2 (en) | 2019-10-25 | 2021-05-25 | Wise IOT Solutions | System and method for processing human related data including physiological signals to make context aware decisions with distributed machine learning at edge and cloud |
CN111880786A (zh) * | 2020-07-31 | 2020-11-03 | 广州华多网络科技有限公司 | 多应用共享方法、系统、装置、电子设备及存储介质 |
US20230086068A1 (en) * | 2021-09-22 | 2023-03-23 | Ridgeline, Inc. | Enabling an action based on a permission identifier for real-time identity resolution in a distributed system |
CN114205419B (zh) * | 2021-12-14 | 2023-04-18 | 上海交通大学 | 面向微服务多维扰动特征的数据中心请求调度系统及方法 |
US20230222012A1 (en) * | 2022-01-12 | 2023-07-13 | Dell Products L.P. | Method for scaling up microservices based on api call tracing history |
EP4215652A1 (en) * | 2022-01-25 | 2023-07-26 | Maschinenfabrik Rieter AG | A machine controller for controlling operation of a machine of a spinning mill, as well as an electronic device and a method for updating such machine controllers |
US20230393892A1 (en) * | 2022-06-06 | 2023-12-07 | International Business Machines Corporation | Configurable orchestration for data pipelines |
CN115129740B (zh) * | 2022-09-01 | 2022-11-04 | 山东大学 | 一种云原生环境下的分布式微服务数据库更新方法及系统 |
US20240095149A1 (en) * | 2022-09-19 | 2024-03-21 | Visa International Service Association | Continuous testing for distributed system to control breaking change |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160378449A1 (en) * | 2015-06-24 | 2016-12-29 | Vmware, Inc. | Artifact manager for release automation |
US20170046146A1 (en) * | 2015-08-11 | 2017-02-16 | International Business Machines Corporation | Autonomously healing microservice-based applications |
US20170060574A1 (en) * | 2015-08-27 | 2017-03-02 | FogHorn Systems, Inc. | Edge Intelligence Platform, and Internet of Things Sensor Streams System |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968357B (zh) | 2012-11-01 | 2015-09-16 | 中兴通讯股份有限公司 | 一种分布式通信设备软件升级方法及系统 |
KR102471665B1 (ko) * | 2015-08-27 | 2022-11-25 | 포그혼 시스템스 인코포레이티드 | 에지 인텔리전스 플랫폼 및 사물 인터넷 센서 스트림 시스템 |
US10055200B1 (en) * | 2016-03-29 | 2018-08-21 | EMC IP Holding Company LLC | Creation and use of development packages |
US20180069925A1 (en) * | 2016-09-08 | 2018-03-08 | BigStream Solutions, Inc. | Systems and methods for automatic transferring of big data computations from centralized systems to at least one of messaging systems and data collection systems |
US10389602B2 (en) * | 2016-12-05 | 2019-08-20 | General Electric Company | Automated feature deployment for active analytics microservices |
US10334029B2 (en) * | 2017-01-10 | 2019-06-25 | Cisco Technology, Inc. | Forming neighborhood groups from disperse cloud providers |
WO2018200757A1 (en) * | 2017-04-25 | 2018-11-01 | Nutanix, Inc. | Systems and methods for networked microservice modeling |
US11243516B2 (en) | 2017-07-28 | 2022-02-08 | Siemens Aktiengesellschaft | Edge devices and associated networks utilising microservices |
-
2018
- 2018-07-20 US US16/633,700 patent/US11243516B2/en active Active
- 2018-07-20 EP EP18746657.8A patent/EP3643049B1/en active Active
- 2018-07-20 WO PCT/EP2018/069779 patent/WO2019020514A1/en unknown
- 2018-07-20 CN CN202311790584.2A patent/CN117714527A/zh active Pending
- 2018-07-20 CN CN201880055772.1A patent/CN111066304A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160378449A1 (en) * | 2015-06-24 | 2016-12-29 | Vmware, Inc. | Artifact manager for release automation |
US20170046146A1 (en) * | 2015-08-11 | 2017-02-16 | International Business Machines Corporation | Autonomously healing microservice-based applications |
US20170060574A1 (en) * | 2015-08-27 | 2017-03-02 | FogHorn Systems, Inc. | Edge Intelligence Platform, and Internet of Things Sensor Streams System |
Non-Patent Citations (2)
Title |
---|
NASTIC STEFAN ET AL: "A Middleware Infrastructure for Utility-Based Provisioning of IoT Cloud Systems", 《2016 IEEE/ACM SYMPOSIUM ON EDGE COMPUTING (SEC)》 * |
VANDIKAS KONSTANTINOS ET AL: "Microservices in IoT clouds", 《2016 CLOUDIFICATION OF THE INTERNET OF THINGS》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113703789A (zh) * | 2021-08-04 | 2021-11-26 | 德邦证券股份有限公司 | 部署微服务程序的方法、装置以及存储介质 |
CN113721567A (zh) * | 2021-08-06 | 2021-11-30 | 中国电子科技集团公司第五十四研究所 | 一种基于共享服务的多设备协同生产方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3643049A1 (en) | 2020-04-29 |
EP3643049C0 (en) | 2023-08-30 |
WO2019020514A1 (en) | 2019-01-31 |
US20200233403A1 (en) | 2020-07-23 |
CN117714527A (zh) | 2024-03-15 |
EP3643049B1 (en) | 2023-08-30 |
US11243516B2 (en) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111066304A (zh) | 利用微服务的边缘设备和关联的网络 | |
CN110532189B (zh) | 一种持续集成系统、方法及装置 | |
CN109960643B (zh) | 一种代码测试方法和装置 | |
US10430319B1 (en) | Systems and methods for automatic software testing | |
US8745585B2 (en) | Meta-data for single development test environment | |
US10503160B2 (en) | Integrated testing mechanism for industrial process control and automation systems | |
US20130174124A1 (en) | Version numbering in single development and test environment | |
US20150100945A1 (en) | Resuming a software build process | |
US20170228225A1 (en) | System and method for preserving value and extending life of legacy software in face of processor unavailability, rising processor costs, or other issues | |
US20170220324A1 (en) | Data communication accelerator system | |
US10372112B2 (en) | System and method for legacy level 1 controller virtualization | |
US20220405092A1 (en) | Orchestrating multi-level tools for the deployment of a network product | |
Railić et al. | Architecting continuous integration and continuous deployment for microservice architecture | |
US10162827B2 (en) | Method and system for distributed control system (DCS) process data cloning and migration through secured file system | |
US20230061121A1 (en) | Methods concerning ongoing treatment for cancer | |
CN117008958A (zh) | 基于GitOps的OTA云端持续交付方法、系统、设备及存储介质 | |
Mäkinen | Designing an open-source cloud-native MLOps pipeline | |
CN104572236B (zh) | 一种Taurus项目快速搭建构造方法 | |
Soldani et al. | What went wrong? Explaining cascading failures in microservice-based applications | |
CA2772225A1 (en) | Version numbering in single development and test environment | |
Nandgaonkar et al. | CI-CD pipeline for content releases | |
Cirulli | Continuous integration for XML and RDF Data | |
Buit | PC104 stack mechatronic control platform | |
WO2021236057A1 (en) | Industrial application package management | |
Lee et al. | ATLAS Distributed Computing: Its Central Services core |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200424 |
|
RJ01 | Rejection of invention patent application after publication |