CN116584085A - 基于工业网络的工业软件无埋点追踪分析方法、装置 - Google Patents

基于工业网络的工业软件无埋点追踪分析方法、装置 Download PDF

Info

Publication number
CN116584085A
CN116584085A CN202180081213.XA CN202180081213A CN116584085A CN 116584085 A CN116584085 A CN 116584085A CN 202180081213 A CN202180081213 A CN 202180081213A CN 116584085 A CN116584085 A CN 116584085A
Authority
CN
China
Prior art keywords
industrial
software
tracking
edge equipment
car agent
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
Application number
CN202180081213.XA
Other languages
English (en)
Inventor
周振华
邹文超
贾绍图
费涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Publication of CN116584085A publication Critical patent/CN116584085A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了基于工业网络的工业软件无埋点追踪分析方法、装置,其中,包括:S1,探测识别工业现场的工业内网网络拓扑,并根据所述工业内网网络拓扑和/或所述工业软件的应用程序运行列表产生一个该工业现场的配置地图;S2,根据所述配置地图将无埋点实时追踪的边车代理器注入到所述工业现场的目标现场设备的边缘设备,并对所述边缘设备及其对应的边车代理器执行数据同步;S3,当所述目标边缘设备运行其中的应用程序时,所述边车代理器则从所述追踪点获取分析数据以对所述工业软件进行分析。本发明对于工业软件的现有源代码来说是无埋点和非侵入式的,其适用于工业网络和设备,并且具有非常低的成本,并且不需要修改工业软件的现有源代码。

Description

基于工业网络的工业软件无埋点追踪分析方法、装置
技术领域
本发明涉及数字化领域,尤其涉及基于工业网络的工业软件无埋点追踪分析方法、装置。
背景技术
一般的无埋点追踪/分析系统(generic non-intrusive codeless tracking/analytics system)对现代工业生态系统(modern industrial ecosystems)来说变得越来越重要。追踪信息包括用户行为的在自建型软件(on-promise software)分析、运行日志、动态性能分析和故障测试,以增加系统对于单个边缘点或者整个工业网络环境内的系统的优化。其中,所述用户行为包括事件行动、工程编程等,故障测试特别地为自动安全弱点检测,整个工业网络环境包括中央集权式的或者分布式的。现有技术并未提供一种一般的追踪解决方案或者架构上的样本来支持这种应用场景。通常工业软件发布出去以后,为了追踪软件使用的过程体验需要收集信息,因此会采用特定技术方案在已经发布的软件产品当中注入许多监测点。例如,在传统web软件页面及其图像按钮做埋点,收集用户在该页面的操作数据(包括鼠标和键盘操作等)检测热点,以便于后台分析检测例如客户需要哪些软件功能。无埋点检测技术指的是软件原码不用改,从第三方软件注入埋点。
因此,现有技术还有许多未解决的问题,其中一个问题是大部分现有解决方案对于现有代码来说是侵入的。为了执行一个产品级统一分布式的追踪或者记录系统,团队通常需要加入大量新的侵入式代码,有时候是当前架构,即使如果其没有良好AOP(aspectoriented,面向切面)执行的情况下必须重构。如果产品已经部署给终端用户,其会更加复杂。现在市场上并没有针对工业解决方案的无埋点追踪解决方案和框架。部署给工控机或者开放式控制器的软件通常是被不同编程语言的可执行的二进制代码执行编程,编程语言包括Python、C/C++、C#、Java等,其有时候通过Docker等容器部署。这种解决方案的复杂性使得其对于代码注入非常困难。
另一个问题是由于安全和隐私考虑,大多数时间其并没有或者仅有有限公网入口。考虑到网络安全和数据隐私,大部分运营商并不想要利用公共PaaS/SaaS云解决方案。而且,对工业环境来说大多数时并没有或者仅有有限公网入口。在这种情况下,大部分追踪服务和服务网格架构都基于云或者并不能够应用的网络技术。
还有一个问题是对于在一个工业网络执行环境来说复杂分布式解决方案难以执行。现代工业解决方案变得越来越复杂,其包括多个工控机、边缘设备和开放式控制器的族群。因此,网络拓扑难于在短时间内被识别。
还有一个问题在于大部分客户担心针对用户行为分析和追踪来说的沉重解决方案的表现。终端用户并不想整个系统的表现被第三方分析和追踪服务所拖累,现有解决方案并不足够快,因此变得更加难预测。
此外,在工业领域,用市面上的埋点工具很难执行埋点操作,这是由于工业设备包括边缘设备以及工控机、开放式控制器等,工业设备并没有鼠标键盘等操作工具,通常情况下是以不停运行的应用为主。并且,有时工业软件执行软件设计时也并无执行日志以及诊断信息,因此动态获取执行日志和诊断信息难度提高。
并且,工业领域常用工业服务网格,其是架构模式。而微服务网格性能和扩展更加出色,还未广泛被利用。前沿网络公司常用服务网格架构,但在工业领域有极大区别,工业网络很多是工业内网,例如以太网、profinet,甚至很多工厂并没有网络连接,因此服务网络架构就无法应用。
因此,业内需要一种能够适用于工业领域并且进行自动埋点注入的无埋点追踪/分析机制。
发明内容
本发明第一方面提供了基于工业网络的工业软件无埋点追踪分析方法,其中,包括如下步骤:S1,探测识别工业现场的工业内网网络拓扑,并根据所述工业内网网络拓扑和/或所述工业软件的应用程序运行列表产生一个该工业现场的配置地图;S2,根据所述配置地图将无埋点实时追踪的边车代理器注入到所述工业现场的目标现场设备的边缘设备,并对所述边缘设备及其对应的边车代理器执行数据同步,其中,所述目标边缘设备及其对应的所述边车代理器之间具有至少一个追踪点,所述目标边缘设备中运行所述工业软件的至少一个应用程序;S3,当所述目标边缘设备运行其中的应用程序时,所述边车代理器则从所述追踪点获取分析数据以对所述工业软件进行分析。
进一步地,所述步骤S2还包括如下步骤:读取所述目标现场设备的边缘设备中的所述应用程序的可执行文件,所述边车代理器基于所述可执行文件动态注入追踪点于应用程序进行埋点,以根据所述配置地图将无埋点实时追踪的边车代理器注入到所述工业现场的目标现场设备的边缘设备,并对所述边缘设备及其对应的边车代理器执行数据同步。
进一步地,所述步骤S2还包括如下步骤:获取所述工业软件的源代码,将所述源代码转化为虚拟代码树以对所述虚拟代码树和所述可执行文件执行映射,所述边车代理器基于所述可执行文件动态注入追踪点于应用程序进行埋点,以根据所述配置地图将无埋点实时追踪的边车代理器注入到所述工业现场的目标现场设备的边缘设备。
进一步地,所述步骤S2还包括如下步骤:根据所述工业内网网络拓扑对所述工业现场的所有边车代理器之间建立通讯。
进一步地,所述步骤S3还包括如下步骤:当所述目标边缘设备运行其中的应用程序并运行到所述追踪点时,所述边车代理器则从所述追踪点获取运行时节点数据,并对所有节点数据执行分类整理并统一格式以对所述工业软件进行分析。
进一步地,所述步骤S1之前还包括如下步骤:安装混合控制平台于所述工业现场的一个边缘设备或本地服务器。
进一步地,所述目标现场设备的边缘设备中运行所述工业软件的多个应用程序,每个所述应用程序对应一个边车代理器。
进一步地,所述步骤S2还包括如下步骤:根据所述工业软件分析目的制定注入策略,并基于所述注入策略和所述工业软件的进程树以及历史数据根据所述配置地图执行边车代理器注入。
进一步地,当所述应用程序容纳于所述虚拟机中时,则所述步骤S2还包括如下步骤:穿过所述虚拟机以执行所述边车代理器的注入。
本发明第二方面提供了基于工业网络的工业软件无埋点追踪分析系统,其特征在于,包括:处理器;以及与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被处理器执行时使所述电子设备执行动作,所述动作包括:S1,探测识别工业现场的工业内网网络拓扑,并根据所述工业内网网络拓扑和/或所述工业软件的应用程序运行列表产生一个该工业现场的配置地图;S2,根据所述配置地图将无埋点实时追踪的边车代理器注入到所述工业现场的目标现场设备的边缘设备,并对所述边缘设备及其对应的边车代理器执行数据同步,其中,所述目标边缘设备及其对应的所述边车代理器之间具有至少一个追踪点,所述目标边缘设备中运行所述工业软件的至少一个应用程序;S3,当所述目标边缘设备运行其中的应用程序时,所述边车代理器则从所述追踪点获取分析数据以对所述工业软件进行分析。
进一步地,所述动作S2还包括:读取所述目标现场设备的边缘设备中的所述应用程序的可执行文件,所述边车代理器基于所述可执行文件动态注入追踪点于应用程序进行埋点,以根据所述配置地图将无埋点实时追踪的边车代理器注入到所述工业现场的目标现场设备的边缘设备,并对所述边缘设备及其对应的边车代理器执行数据同步。
进一步地,所述动作S2还包括:获取所述工业软件的源代码,将所述源代码转化为虚拟代码树以对所述虚拟代码树和所述可执行文件执行映射,所述边车代理器基于所述可执行文件动态注入追踪点于应用程序进行埋点,以根据所述配置地图将无埋点实时追踪的边车代理器注入到所述工业现场的目标现场设备的边缘设备。
进一步地,所述动作S2还包括:根据所述工业内网网络拓扑对所述工业现场的所有边车代理器之间建立通讯。
进一步地,所述动作S3还包括:当所述目标边缘设备运行其中的应用程序并运行到所述追踪点时,所述边车代理器则从所述追踪点获取运行时节点数据,并对所有节点数据执行分类整理并统一格式以对所述工业软件进行分析。
进一步地,所述动作S1之前还包括:安装混合控制平台于所述工业现场的一个边缘设备或本地服务器。
进一步地,所述目标现场设备的边缘设备中运行所述工业软件的多个应用程序,每个所述应用程序对应一个边车代理器。
进一步地,所述动作S2还包括:根据所述工业软件分析目的制定注入策略,并基于所述注入策略和所述工业软件的进程树以及历史数据根据所述配置地图执行边车代理器注入。
进一步地,当所述应用程序容纳于所述虚拟机中时,则所述动作S2还包括:穿过所述虚拟机以执行所述边车代理器的注入。
本发明第三方面提供了基于工业网络的工业软件无埋点追踪分析装置,其中,包括:探测识别装置,其探测识别工业现场的工业内网网络拓扑,并根据所述工业内网网络拓扑和/或所述工业软件的应用程序运行列表产生一个该工业现场的配置地图;注入装置,其根据所述配置地图将无埋点实时追踪的边车代理器注入到所述工业现场的目标现场设备的边缘设备,并对所述边缘设备及其对应的边车代理器执行数据同步,其中,所述目标边缘设备及其对应的所述边车代理器之间具有至少一个追踪点,所述目标边缘设备中运行所述工业软件的至少一个应用程序;分析装置,当所述目标边缘设备运行其中的应用程序时,所述边车代理器则从所述追踪点获取分析数据以对所述工业软件进行分析。
本发明第四方面提供了计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行本发明第一方面所述的方法。
本发明第五方面提供了计算机可读介质,其上存储有计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行根据本发明第一方面所述的方法。
本发明对于工业软件的现有源代码来说是无埋点和非侵入式的,其适用于工业网络和设备,并且具有非常低的配置和开发运营成本,并且不需要修改工业软件的现有源代码。
附图说明
图1是根据本发明一个具体实施例的基于工业网络的无埋点工业软件追踪分析设备的架构示意图;
图2是根据本发明一个具体实施例的基于工业网络的无埋点工业软件追踪分析设备的边车代理器和智能追踪注入器的结构示意图。
具体实施方式
以下结合附图,对本发明的具体实施方式进行说明。
本发明提供了基于工业网络的工业软件无埋点追踪分析机制,其基于工业服务网格(Industrial Service Mesh)并通过智能边车代理(Intelligent Sidecar Agents)来注入埋点,并通过边缘设备端的混合控制平台(Hybrid Control Plane at Edge)来驱动,以执行在工业设备运行时的工业软件实时追踪。
本发明提供的基于工业网络的工业软件无埋点追踪分析机制的架构提供了现代松散耦合(loose-coupled)和非侵入式(non-intrusive)的架构,其适用于工业网络和设备。其中,本发明提供的工业服务网格结合了多个无埋点运行时实时追踪(CodelessRuntime Tracking)边车代理器,其可以被混合控制平台驱动。本发明的通讯是基于每两个边车代理之间的混合虚拟数据平台核心服务的高速通讯。所有元件都能易于被安装或者自动注入到工控机或者边缘设备。任何现有的工程或者运行时实时解决方案能够轻易整合到本发明,并且具有非常低的配置和开发运营成本,并且不需要修改工业软件的现有源代码。
本发明第一方面提供一种基于工业网络的工业软件无埋点追踪分析方法,其中,包括如下步骤。
首先执行步骤S1,探测识别工业现场的工业内网网络拓扑,并根据所述工业内网网络拓扑和/或所述工业软件的应用程序运行列表产生一个该工业现场的配置地图。根据本发明一个实施例,工业现场为一个工厂,其利用的是工业内网(以太网和ProfiNET等)。该工业现场包括多台现场设备,其中工控机和开放式控制器充当边缘设备。工控机和开放式控制器作为工业物联网的云的物联网边缘计算节点时则是是边缘设备。其中,上述边缘设备中运行有多个程序,包括运行状态报警系统(NodeJS)、检测机器及传送带控制进程(GCC,通过RIB驱动PLC IO)、物体识别视觉算法进程(Python)、机器人控制进程及驱动(GCC in aDocker)等。在本实施例的应用场景下,工厂运行的工业软件没有统一的日志系统和用户行为分析系统,也缺少性能分析和系统安全分析等中间件。如果要加入上述功能,需要修改所有工业软件已部署应用的源码,风险和开发成本巨大。因此采用本发明执行无埋点工业服务网格,并为每个边缘设备的每个应用程序部署边车代理器以采集工业软件分析数据。
图1是根据本发明一个具体实施例的基于工业网络的无埋点工业软件追踪分析设备的架构示意图。如图1所示,无埋点工业软件追踪分析设备100包括边缘设备端的混合控制平台110、配置探测器120、注入器130、多个边车代理器、混合数据平台140和控制器150。其中,工业现场有很多嵌入式设备,例如边缘设备,边缘设备和工业云连在一起,以协助工业云执行计算。本发明给每个边缘设备都分配一个边车代理器,其中,边缘设备中运行有至少一个工业软件的应用程序。
优选地,所述步骤S1之前还包括如下步骤:安装混合控制平台110于所述工业现场的一个边缘设备或者本地服务器。在本实施例中,将混合控制平台110安装于该工厂的一个充当本地服务器的服务器工控机(未示出)上。
混合控制平台110是无埋点工业软件追踪分析设备100的核心装置,其能部署到边缘设备或者本地服务器,其被优化于适用于工业网络和工控机环境。混合控制平台110包括工业平台适配器(Industrial Platform Adapter)和无埋点追踪引擎(Codeless TrackingEngine),其是用于充当通过控制器150的可视化跟踪数据聚合(visualize tracking dataaggregation)的入口,并且提供了可延展性和追踪规则配置的公共应用程序接口(API)。其中,无埋点追踪引擎会通过混合数据平台140从边车代理器收集遥测数据(telemetrydata)。混合控制平台110类似于一般控制平台的最终定义,但是其优化于适用于工业网络,以通过工业平台适配器符合于工业标准,例如OPC UA、ProfiNET、Ethercat、Ethernet、Modbus IP等,其也适合于进程映像(消息代理,message broker)的执行。
其中,配置探测器120会在边车代理器中的运行时发现服务器(RuntimeDiscovery Service,RDS)的帮助下探测在自建型网络拓扑(on-promise networktopology),其也用于探测边缘设备或者工控机的容纳器类型和运行过程列表。配置探测器120最终会为注入器130产生一个配置地图。
其中,一旦配置探测器120执行完其工作,注入器130则会启动。注入器130会注入无埋点运行时实时追踪边车代理器到目标设备,并将边车代理器附于配置地图推荐的特定过程。应用环境设定也会自动被变化服务完成。
然后执行步骤S2,根据所述配置地图将无埋点实时追踪的边车代理器注入到所述工业现场的目标现场设备的边缘设备,并对所述边缘设备及其对应的边车代理器执行数据同步,其中,所述目标边缘设备及其对应的所述边车代理器之间具有至少一个追踪点,所述目标边缘设备中运行所述工业软件的至少一个应用程序。优选地,所述目标现场设备的边缘设备中运行所述工业软件的多个应用程序,每个所述应用程序对应一个边车代理器。
具体地,根据配置地图,该工厂具有第一边缘设备161、第三边缘设备163、第四边缘设备164、第五边缘设备165、第六边缘设备166、第七边缘设备167和第八边缘设备168。其中,第一边缘设备161中运行有该工业软件的两个应用程序,分别为第一应用程序APP1和第二应用程序APP2。第三边缘设备163中运行有一个应用程序,其为第三应用程序APP3。第四边缘设备164中运行有一个应用程序,其为第四应用程序APP4。第五边缘设备165中运行有一个应用程序,其为第五应用程序APP5。第六边缘设备166中运行有一个应用程序,其为第六应用程序APP6。第七边缘设备167中运行有一个应用程序,其为第七应用程序APP7。第八边缘设备168中运行有一个应用程序,其为第八应用程序APP8。每个应用程序都应该部署一个边车代理器,因此,为第一应用程序APP1分配有一个与之对应的第一边车代理器171,为第二应用程序APP2分配有一个与之对应的第二边车代理器172,为第三应用程序APP3分配有一个与之对应的第三边车代理器173,为第四应用程序APP4分配有一个与之对应的第四边车代理器174,为第五应用程序APP5分配有一个与之对应的第五边车代理器175,为第六应用程序APP6分配有一个与之对应的第六边车代理器176,为第七应用程序APP7分配有一个与之对应的第七边车代理器177,为第八应用程序APP8分配有一个与之对应的第八边车代理器178。上述边车代理器都是通过注入器130注入至对应的边缘设备。混合数据平台140控制上述边车代理器,使得边缘设备和边车代理器永远数据同步。混合数据平台140用于边车代理器之间的通讯。
具体地,图2是根据本发明一个具体实施例的基于工业网络的无埋点工业软件追踪分析设备的边车代理器和智能追踪注入器的结构示意图。下面以第一边车代理器171为例对边车代理器以及其注入过程进行说明。如图2所示,第一边车代理器171包括追踪注入器1711、数据聚合器1712、通讯配置器1713、故障注入器1714和虚拟机适配器1715。其中,追踪注入器1711用于边车代理器注入,其进一步地包括虚拟代码树分析器1711a、二进制分析器1711b、二进制注入器1711c和映射器1711d。数据聚合器1712用于收集运行时节点数据,并对所有节点数据执行分类整理并统一格式以对所述工业软件进行分析。通讯配置器1713用于为所有边车代理器配置相互之间的通讯。故障注入器1714用于执行辅助功能,当不确定应用程序是否运行良好时,故意往智能检测运行日志里注入错误信息,以检测应用程序是否能够在故障情况下运行良好。虚拟机适配器1715用于穿过所述容纳应用程序的虚拟机。运行时故障注入会为网络故障测试产生故障数据或者代码,自动系统缺陷测试和仿真追踪故障,以增加系统稳定性。运行时故障注入是一般设计模式,但并不用为了工业应用再次设计
如图2所示,优选地,所述步骤S2还包括如下步骤:根据所述工业软件分析目的制定注入策略,并基于所述注入策略和所述工业软件的进程树以及历史数据根据所述配置地图执行边车代理器注入。当所述应用程序容纳于所述虚拟机中时,则所述步骤S2还包括如下步骤:穿过所述虚拟机以执行所述边车代理器的注入。其中,工业软件的进程树是指当前工控机现在运行的应用程序的所有进程的列表,有的应用程序不止一个进程。有时APP包在容器里或者虚拟机里运行,需要穿过容器才能完成边车代理器到应用程序的注入。
在工业软件的实际应用中,有的工业软件供应商会提供工业软件的源代码,有的供应商则不会。因此,基于工业软件提供源代码和不提供源代码的两种情况,本发明具有不同的边车代理器注入步骤和过程。
在工业软件提供商不提供源代码的情况下,所述步骤S2包括如下步骤:二进制分析器1711b读取所述目标现场设备的边缘设备中的所述应用程序的可执行文件,所述二进制注入器1711c基于所述可执行文件动态追踪点于应用程序进行埋点,以根据所述配置地图将无埋点实时追踪的边车代理器注入到所述工业现场的目标现场设备的边缘设备,并对所述边缘设备及其对应的边车代理器执行数据同步。
其中,工业软件具有源代码S,源代码S编译以后就是可执行文件B。如果工业软件不提供源代码S,则二进制分析器1711b直接读取编译以后的可执行文件并直接送到二进制注入器1711c,然后二进制注入器1711c分析编译以后的可执行文件以后执行注入。例如,在图2中,二进制注入器1711c分析可执行文件以后根据分析结果注入了三个追踪点N1、N2和N3
二进制注入器1711c注入追踪点到二进制可执行文件中。其中,追踪点为代码片段。例如,对于Python二进制格式来说,其难于定位特定功能位置,因此其必须依赖于二进制分析器1711b的结果。但有时候这尤其对于ELF格式来说仍然是不够的,因此注入点会不够准确。在这种情况下,如果最终客户能提供二进制应用的源代码,则需要虚拟代码树分析器1711a协助,这会极大改善注入精确度。需要说明,由于客户的安全性非功能性需求,自动注入行为需要被最终用户接受并签署许可。
因此,在工业软件供应商提供源代码S的情况下,所述步骤S2还包括如下步骤:获取所述工业软件的源代码,虚拟代码树分析器1711a将所述源代码转化为虚拟代码树以利用映射器1711d对所述虚拟代码树和所述可执行文件B执行映射,所述边车代理器基于所述可执行文件动态注入追踪点进行埋点,以根据所述配置地图将无埋点实时追踪的边车代理器注入到所述工业现场的目标现场设备的边缘设备。
优选地,所述步骤S2还包括如下步骤:通讯配置器1713根据所述工业内网网络拓扑对所述工业现场的所有边车代理器之间建立通讯。
最后执行步骤S3,当所述目标边缘设备运行其中的应用程序时,所述边车代理器则从收集器180所述追踪点获取分析数据以对所述工业软件进行分析。优选地,所述步骤S3还包括如下步骤:当所述目标边缘设备运行其中的应用程序并运行到所述追踪点时,所述边车代理器则所述追踪点获取运行时节点数据,并利用数据聚合器1712对所有节点数据执行分类整理并统一格式以对所述工业软件进行分析。
其中,如图2所示,收集器180从追踪点N1、N2和N3获取运行时节点实时数据,并发送给数据聚合器1712。数据聚合器1712对所有节点数据执行分类整理并统一格式以对所述工业软件进行分析,以便汇总统一数据以及后续索引。数据聚合器1712会从所有注入节点收集无埋点追踪数据,并执行数据初始化筛选和聚合,其也会收集主要追踪数据。最终数据聚合器1712会在边车代理器171中和目标用户软件执行过程一起运行。
其中,数据聚合器1712通过通讯配置器1713将数据传送出去,通讯配置器1713则需要从混合控制平台110读数据以统一聚合结果。
此外,边车代理器的网络服务包括多个网络设计,例如断路器、负载均衡、流量控制、健康诊断等,这些都会为工业网络优化,其提供了CTR ISM的控制。
此外,无埋点运行时实时追踪边车代理器也是本发明提供的无埋点工业软件追踪分析设备100的核心装置。边车代理器实际上是与先有工程或者运行时应用的独立过程。边车代理器会触发很多组件,例如智能追踪注入器,网络服务(例如运行时发现服务器等),运行时故障注入和追踪数据聚合器。
其中,混合数据平台140在每两个边车代理器之间执行一个高速交换网格(high-speed switching fabric)。混合数据平台140是一个虚拟执行,这是由于这是边车代理器的一部分并且基于核心服务。混合数据平台140不会强行控制所有TCP网络通讯,其从其他流行的市场中的服务网格解决方案来说不同,就像所有最初容纳器执行的那样。混合数据平台140只会筛选和强行控制和追踪相关的数据流,其通过eBPF在Linux Kernel中运行速度快,并不会带来额外性能衰退。其中,控制器150用于形象化追踪数据的聚合。
本发明第二方面提供了基于工业网络的工业软件无埋点追踪分析系统,其特征在于,包括:处理器;以及与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被处理器执行时使所述电子设备执行动作,所述动作包括:S1,探测识别工业现场的工业内网网络拓扑,并根据所述工业内网网络拓扑和/或所述工业软件的应用程序运行列表产生一个该工业现场的配置地图;S2,根据所述配置地图将无埋点实时追踪的边车代理器注入到所述工业现场的目标现场设备的边缘设备,并对所述边缘设备及其对应的边车代理器执行数据同步,其中,所述目标边缘设备及其对应的所述边车代理器之间具有至少一个追踪点,所述目标边缘设备中运行所述工业软件的至少一个应用程序;S3,当所述目标边缘设备运行其中的应用程序时,所述边车代理器则从所述追踪点获取分析数据以对所述工业软件进行分析。
进一步地,所述动作S2还包括:读取所述目标现场设备的边缘设备中的所述应用程序的可执行文件,所述边车代理器基于所述可执行文件动态注入追踪点于应用程序进行埋点,以根据所述配置地图将无埋点实时追踪的边车代理器注入到所述工业现场的目标现场设备的边缘设备,并对所述边缘设备及其对应的边车代理器执行数据同步。
进一步地,所述动作S2还包括:获取所述工业软件的源代码,将所述源代码转化为虚拟代码树以对所述虚拟代码树和所述可执行文件执行映射,所述边车代理器基于所述可执行文件动态注入追踪点于应用程序进行埋点,以根据所述配置地图将无埋点实时追踪的边车代理器注入到所述工业现场的目标现场设备的边缘设备。
进一步地,所述动作S2还包括:根据所述工业内网网络拓扑对所述工业现场的所有边车代理器之间建立通讯。
进一步地,所述动作S3还包括:当所述目标边缘设备运行其中的应用程序并运行到所述追踪点时,所述边车代理器则从所述追踪点获取运行时节点数据,并对所有节点数据执行分类整理并统一格式以对所述工业软件进行分析。
进一步地,所述动作S1之前还包括:安装混合控制平台于所述工业现场的一个边缘设备或本地服务器。
进一步地,所述目标现场设备的边缘设备中运行所述工业软件的多个应用程序,每个所述应用程序对应一个边车代理器。
进一步地,所述动作S2还包括:根据所述工业软件分析目的制定注入策略,并基于所述注入策略和所述工业软件的进程树以及历史数据根据所述配置地图执行边车代理器注入。
进一步地,当所述应用程序容纳于所述虚拟机中时,则所述动作S2还包括:穿过所述虚拟机以执行所述边车代理器的注入。
本发明第三方面提供了基于工业网络的工业软件无埋点追踪分析装置,其中,包括:探测识别装置,其探测识别工业现场的工业内网网络拓扑,并根据所述工业内网网络拓扑和/或所述工业软件的应用程序运行列表产生一个该工业现场的配置地图;注入装置,其根据所述配置地图将无埋点实时追踪的边车代理器注入到所述工业现场的目标现场设备的边缘设备,并对所述边缘设备及其对应的边车代理器执行数据同步,其中,所述目标边缘设备及其对应的所述边车代理器之间具有至少一个追踪点,所述目标边缘设备中运行所述工业软件的至少一个应用程序;分析装置,当所述目标边缘设备运行其中的应用程序时,所述边车代理器则从所述追踪点获取分析数据以对所述工业软件进行分析。
本发明第四方面提供了计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行本发明第一方面所述的方法。
本发明第五方面提供了计算机可读介质,其上存储有计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行根据本发明第一方面所述的方法。
相较于传统追踪分析机制,本发明提供的基于工业网络的工业软件无埋点追踪分析机制的架构对于真实工厂或者制造厂来说具有很多优势。本发明对于工业软件的现有源代码来说是无埋点和非侵入式的,这是利用边车代理器和注入器实现的。本发明利用混合数据平台内的Kernel服务针对工业软件的分析追踪和网络流劫持速度快,其由eBPF实现,eBPF能直接在Linus Kernel中注入和运行追踪码。并且适用于工业网络环境,并没有其他配置成本。
许多工业系统不论产品级或者研发项目都可以应用本发明的架构以实现工业软件的无埋点分析追踪功能,且为此付出的额外成本非常有限。本发明能够易于部署到真实工业环境,包括工控机、边缘设备、开放式控制器或者其他通过PLC和机器人等操纵机器的其他类型的边缘设备。此外,本发明也不需要额外研发和维持工作。经过一些自动配置以后,边车代理器会注入到现有部署的设备,追踪码会注入到通过注入器注入到配置的运行过程中,并且在采集了数据以后实现工业软件的分析。本发明能够为整个工业生态系统追踪数据并产生报告。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。此外,不应将权利要求中的任何附图标记视为限制所涉及的权利要求;“包括”一词不排除其它权利要求或说明书中未列出的装置或步骤;“第一”、“第二”等词语仅用来表示名称,而并不表示任何特定的顺序。

Claims (21)

1.基于工业网络的工业软件无埋点追踪分析方法,其中,包括如下步骤:
S1,探测识别工业现场的工业内网网络拓扑,并根据所述工业内网网络拓扑和/或所述工业软件的应用程序运行列表产生一个该工业现场的配置地图;
S2,根据所述配置地图将无埋点实时追踪的边车代理器注入到所述工业现场的目标现场设备的边缘设备,并对所述边缘设备及其对应的边车代理器执行数据同步,其中,所述目标边缘设备及其对应的所述边车代理器之间具有至少一个追踪点,所述目标边缘设备中运行所述工业软件的至少一个应用程序;
S3,当所述目标边缘设备运行其中的应用程序时,所述边车代理器则从所述追踪点获取分析数据以对所述工业软件进行分析。
2.根据权利要求1所述的基于工业网络的工业软件无埋点追踪分析方法,其特征在于,所述步骤S2还包括如下步骤:
读取所述目标现场设备的边缘设备中的所述应用程序的可执行文件,所述边车代理器基于所述可执行文件动态注入追踪点于应用程序进行埋点,以根据所述配置地图将无埋点实时追踪的边车代理器注入到所述工业现场的目标现场设备的边缘设备,并对所述边缘设备及其对应的边车代理器执行数据同步。
3.根据权利要求1所述的基于工业网络的工业软件无埋点追踪分析方法,其特征在于,所述步骤S2还包括如下步骤:
获取所述工业软件的源代码,将所述源代码转化为虚拟代码树以对所述虚拟代码树和所述可执行文件执行映射,所述边车代理器基于所述可执行文件动态注入追踪点于应用程序进行埋点,以根据所述配置地图将无埋点实时追踪的边车代理器注入到所述工业现场的目标现场设备的边缘设备。
4.根据权利要求1所述的基于工业网络的工业软件无埋点追踪分析方法,其特征在于,所述步骤S2还包括如下步骤:根据所述工业内网网络拓扑对所述工业现场的所有边车代理器之间建立通讯。
5.根据权利要求1所述的基于工业网络的工业软件无埋点追踪分析方法,其特征在于,所述步骤S3还包括如下步骤:
当所述目标边缘设备运行其中的应用程序并运行到所述追踪点时,所述边车代理器则从所述追踪点获取运行时节点数据,并对所有节点数据执行分类整理并统一格式以对所述工业软件进行分析。
6.根据权利要求1所述的基于工业网络的工业软件无埋点追踪分析方法,其特征在于,所述步骤S1之前还包括如下步骤:
安装混合控制平台于所述工业现场的一个边缘设备或本地服务器。
7.根据权利要求1所述的基于工业网络的工业软件无埋点追踪分析方法,其特征在于,所述目标现场设备的边缘设备中运行所述工业软件的多个应用程序,每个所述应用程序对应一个边车代理器。
8.根据权利要求1所述的基于工业网络的工业软件无埋点追踪分析方法,其特征在于,所述步骤S2还包括如下步骤:
根据所述工业软件分析目的制定注入策略,并基于所述注入策略和所述工业软件的进程树以及历史数据根据所述配置地图执行边车代理器注入。
9.根据权利要求1所述的基于工业网络的工业软件无埋点追踪分析方法,其特征在于,当所述应用程序容纳于所述虚拟机中时,则所述步骤S2还包括如下步骤:穿过所述虚拟机以执行所述边车代理器的注入。
10.基于工业网络的工业软件无埋点追踪分析系统,其特征在于,包括:
处理器;以及
与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被处理器执行时使所述电子设备执行动作,所述动作包括:
S1,探测识别工业现场的工业内网网络拓扑,并根据所述工业内网网络拓扑和/或所述工业软件的应用程序运行列表产生一个该工业现场的配置地图;
S2,根据所述配置地图将无埋点实时追踪的边车代理器注入到所述工业现场的目标现场设备的边缘设备,并对所述边缘设备及其对应的边车代理器执行数据同步,其中,所述目标边缘设备及其对应的所述边车代理器之间具有至少一个追踪点,所述目标边缘设备中运行所述工业软件的至少一个应用程序;
S3,当所述目标边缘设备运行其中的应用程序时,所述边车代理器则从所述追踪点获取分析数据以对所述工业软件进行分析。
11.根据权利要求10所述的基于工业网络的工业软件无埋点追踪分析系统,其特征在于,所述动作S2还包括:
读取所述目标现场设备的边缘设备中的所述应用程序的可执行文件,所述边车代理器基于所述可执行文件动态注入追踪点于应用程序进行埋点,以根据所述配置地图将无埋点实时追踪的边车代理器注入到所述工业现场的目标现场设备的边缘设备,并对所述边缘设备及其对应的边车代理器执行数据同步。
12.根据权利要求10所述的基于工业网络的工业软件无埋点追踪分析系统,其特征在于,所述动作S2还包括:
获取所述工业软件的源代码,将所述源代码转化为虚拟代码树以对所述虚拟代码树和所述可执行文件执行映射,所述边车代理器基于所述可执行文件动态注入追踪点于应用程序进行埋点,以根据所述配置地图将无埋点实时追踪的边车代理器注入到所述工业现场的目标现场设备的边缘设备。
13.根据权利要求10所述的基于工业网络的工业软件无埋点追踪分析系统,其特征在于,所述动作S2还包括:根据所述工业内网网络拓扑对所述工业现场的所有边车代理器之间建立通讯。
14.根据权利要求10所述的基于工业网络的工业软件无埋点追踪分析系统,其特征在于,所述动作S3还包括:
当所述目标边缘设备运行其中的应用程序并运行到所述追踪点时,所述边车代理器则从所述追踪点获取运行时节点数据,并对所有节点数据执行分类整理并统一格式以对所述工业软件进行分析。
15.根据权利要求10所述的基于工业网络的工业软件无埋点追踪分析系统,其特征在于,所述动作S1之前还包括:
安装混合控制平台于所述工业现场的一个边缘设备或本地服务器。
16.根据权利要求10所述的基于工业网络的工业软件无埋点追踪分析系统,其特征在于,所述目标现场设备的边缘设备中运行所述工业软件的多个应用程序,每个所述应用程序对应一个边车代理器。
17.根据权利要求10所述的基于工业网络的工业软件无埋点追踪分析系统,其特征在于,所述动作S2还包括:
根据所述工业软件分析目的制定注入策略,并基于所述注入策略和所述工业软件的进程树以及历史数据根据所述配置地图执行边车代理器注入。
18.根据权利要求10所述的基于工业网络的工业软件无埋点追踪分析系统,其特征在于,当所述应用程序容纳于所述虚拟机中时,则所述动作S2还包括:穿过所述虚拟机以执行所述边车代理器的注入。
19.基于工业网络的工业软件无埋点追踪分析装置,其中,包括:
探测识别装置,其探测识别工业现场的工业内网网络拓扑,并根据所述工业内网网络拓扑和/或所述工业软件的应用程序运行列表产生一个该工业现场的配置地图;
注入装置,其根据所述配置地图将无埋点实时追踪的边车代理器注入到所述工业现场的目标现场设备的边缘设备,并对所述边缘设备及其对应的边车代理器执行数据同步,其中,所述目标边缘设备及其对应的所述边车代理器之间具有至少一个追踪点,所述目标边缘设备中运行所述工业软件的至少一个应用程序;
分析装置,当所述目标边缘设备运行其中的应用程序时,所述边车代理器则从所述追踪点获取分析数据以对所述工业软件进行分析。
20.计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行根据权利要求1至9中任一项所述的方法。
21.计算机可读介质,其上存储有计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行根据权利要求1至9中任一项所述的方法。
CN202180081213.XA 2021-01-27 2021-01-27 基于工业网络的工业软件无埋点追踪分析方法、装置 Pending CN116584085A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/074007 WO2022160141A1 (en) 2021-01-27 2021-01-27 Industrial network-based codeless tracking analytics method and apparatus for industrial software

Publications (1)

Publication Number Publication Date
CN116584085A true CN116584085A (zh) 2023-08-11

Family

ID=82654019

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180081213.XA Pending CN116584085A (zh) 2021-01-27 2021-01-27 基于工业网络的工业软件无埋点追踪分析方法、装置

Country Status (3)

Country Link
EP (1) EP4264857A1 (zh)
CN (1) CN116584085A (zh)
WO (1) WO2022160141A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230047880A1 (en) * 2021-08-12 2023-02-16 Verizon Patent And Licensing Inc. Sidecar proxy as a service

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103532746A (zh) * 2013-09-30 2014-01-22 广东电网公司电力调度控制中心 工业系统的业务拓扑生成方法和系统
WO2018044410A1 (en) * 2016-09-01 2018-03-08 Siemens Aktiengesellschaft High interaction non-intrusive industrial control system honeypot
CN109981769B (zh) * 2019-03-21 2021-08-17 青岛铁木真软件技术有限公司 面向工业智能制造的网络协同模型、方法及装置
CN111130883B (zh) * 2019-12-25 2022-12-30 杭州安恒信息技术股份有限公司 工控设备拓扑图的确定方法、装置及电子设备

Also Published As

Publication number Publication date
WO2022160141A1 (en) 2022-08-04
EP4264857A1 (en) 2023-10-25

Similar Documents

Publication Publication Date Title
Antao et al. Requirements for testing and validating the industrial internet of things
Jennings et al. Developing Industrial Multi-Agent Systems.
EP3036633B1 (en) Cloud deployment infrastructure validation engine
US9282100B2 (en) Privilege separation
US20200351149A1 (en) Automatic Integrated Control Loop For Fault, Performance And Service Quality Management
CN110427275A (zh) 基于轨迹日志学习的微服务潜在错误与故障根源预测方法
CN115617610A (zh) 一种基于Kubernetes的旁路无侵入式应用运行中的全行为监测方法及系统
White et al. Simplifying autonomic enterprise java bean applications via model-driven development: A case study
CN104462943A (zh) 业务系统中非侵入式性能监控装置和方法
Inçki et al. Runtime verification of IoT systems using complex event processing
Zhu et al. Survey of testing methods and testbed development concerning Internet of Things
CN103997435A (zh) 一种基于故障仿真的交通物联网测试方法
CN110688313A (zh) 一种VxWorks操作系统下软件测试的故障注入方法
Li et al. Microservice patterns for the life cycle of industrial edge software
CN116584085A (zh) 基于工业网络的工业软件无埋点追踪分析方法、装置
CN113127009A (zh) 大数据管理平台的自动化部署方法和装置
Seifermann Application performance monitoring in microservice-based systems
CN116097226A (zh) 用于将故障注入分布式系统的装置和方法
CN113934432A (zh) 用于部署机器学习模型的方法、设备和存储介质
Mesiti et al. StreamLoader: an event-driven ETL system for the on-line processing of heterogeneous sensor data
Amrein et al. Security intelligence for industrial control systems
Jablkowski et al. A hardware-in-the-loop co-simulation architecture for power system applications in virtual execution environments
Basso et al. An investigation of java faults operators derived from a field data study on java software faults
CN107911264A (zh) 可编程路由交换设备在线调试装置及方法
CN112631906A (zh) 基于服务端的页面性能的检测方法与系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination