删除第2章 增加多图
This commit is contained in:
parent
b808979bb5
commit
ca5ecb6cee
@ -63,9 +63,8 @@ Grieves等人对数字孪生的定义是一组虚拟信息结构,对复杂产品
|
|||||||
针对以上三个问题,本文在结合实践形式和数字孪生技术特点,分析了相关技术理论,分别提出了相应的改进方案,探索数字孪生技术在全产品生命周期的应用前景和能力。
|
针对以上三个问题,本文在结合实践形式和数字孪生技术特点,分析了相关技术理论,分别提出了相应的改进方案,探索数字孪生技术在全产品生命周期的应用前景和能力。
|
||||||
|
|
||||||
|
|
||||||
\section{研究目标及方案}
|
|
||||||
|
|
||||||
\subsection{研究目标}
|
\section{研究目标}
|
||||||
数字孪生作为一种实现物理实体向信息空间数字化模型映射的关键技术,通过充分利用布置在物理系统各部分的传感器,对物理实体进行数据分析与建模,形成多学科、多物理量、多时间尺度、多概率的仿真过程,将物理实体在不同真实场景中的全生命周期过程反映出来。但是在落地使用上面临较为复杂的现实问题,目前比较成功的案例都局限在特定场景特定数据下,尚未存在较为成熟的通用技术方案,针对上文总结的三个问题,分别提出相应的方案去解决或者部分解决现实面临的困境。
|
数字孪生作为一种实现物理实体向信息空间数字化模型映射的关键技术,通过充分利用布置在物理系统各部分的传感器,对物理实体进行数据分析与建模,形成多学科、多物理量、多时间尺度、多概率的仿真过程,将物理实体在不同真实场景中的全生命周期过程反映出来。但是在落地使用上面临较为复杂的现实问题,目前比较成功的案例都局限在特定场景特定数据下,尚未存在较为成熟的通用技术方案,针对上文总结的三个问题,分别提出相应的方案去解决或者部分解决现实面临的困境。
|
||||||
|
|
||||||
\begin{enumerate}
|
\begin{enumerate}
|
||||||
@ -74,20 +73,115 @@ Grieves等人对数字孪生的定义是一组虚拟信息结构,对复杂产品
|
|||||||
\item 实践困境:以分布式消息网络为基础,编写设计模型通用特征,在系统所有层次都有公开设计的通信接口,任何节点可以选择使用非内置节点,使用第三方或者自行编写的逻辑,提供现有主流的PLC通信协议,并提供将任何协议转内置通信协议的方案或物理节点。以上述方案为基础,构建数据推演模型,整合历史、现在、未来数据,扩充数字孪生平台应用范围、降低应用难度。
|
\item 实践困境:以分布式消息网络为基础,编写设计模型通用特征,在系统所有层次都有公开设计的通信接口,任何节点可以选择使用非内置节点,使用第三方或者自行编写的逻辑,提供现有主流的PLC通信协议,并提供将任何协议转内置通信协议的方案或物理节点。以上述方案为基础,构建数据推演模型,整合历史、现在、未来数据,扩充数字孪生平台应用范围、降低应用难度。
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
|
||||||
\subsection{研究方案}
|
\section{研究方案}
|
||||||
|
|
||||||
本文开发的数字孪生平台主要涉及4大主体内容,包含主体平台、分布式消息网络、节点状态与事件机制,规则模型。
|
\begin{figure}[h!]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.8\textwidth]{figure/f10.png}
|
||||||
|
\caption{文章结构图}
|
||||||
|
\label{fig-f1}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
如上图所示为本文结构图,为解决数字孪生所面临的三个困境,根据现实需要研究设计相应的方案,并在最后给住性能测试和案例应用证明其可行性和实用性。
|
||||||
|
在进行上述研究同时,还开发了OneDT数字孪生系统,主要涉及四大主体内容。这些内容为:主体平台、分布式消息网络、节点状态与事件机制,以及知识模型,该系统是开展上述研究的基础和目的。
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
|
||||||
|
\item 主体平台:主体平台是数字孪生系统的核心组成部分,负责整合各个子系统,以便在一个统一的环境中进行交互。它为用户提供了一个直观的界面,便于管理和监控数字孪生的实体。此外,主体平台还支持多种数据处理和分析功能,以帮助用户实现更高效的运营和决策。
|
||||||
|
\item 分布式消息网络:分布式消息网络是数字孪生平台的通信基础设施,负责在各个节点之间传输数据和消息。它采用了先进的分布式技术,确保了平台在面对大规模数据和高并发请求时依然能够保持稳定的性能。分布式消息网络还具有很高的可扩展性和容错能力,可以轻松适应不断变化的业务需求。
|
||||||
|
\item 节点状态与事件机制:节点状态与事件机制是数字孪生平台中的重要组成部分,负责实时监控和管理系统内的各个节点。它可以捕捉节点之间的状态变化,以及由此产生的各种事件,从而实现对整个系统的动态调整和优化。此外,节点状态与事件机制还为用户提供了丰富的实时数据和预警信息,有助于更加精确地掌握系统的运行状况。
|
||||||
|
\item 知识模型:知识模型是数字孪生平台的智能核心,负责对各种数据和各个节点进行建模和分析,从而为用户提供更有价值的洞察和建议。采用了先进的仿真技术和机器学习技术,可以实现对复杂数据的处理和复杂场景的建模分析。
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
\section{OneDT主系统}
|
||||||
|
|
||||||
\begin{figure}[h!]
|
\begin{figure}[h!]
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[width=0.8\textwidth]{figure/f1.png}
|
\includegraphics[width=0.8\textwidth]{figure/f1.png}
|
||||||
\caption{系统结构图}
|
\caption{系统结构图}
|
||||||
\label{fig-f1}
|
\label{fig-f10}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
\subsection{主体平台}
|
图1所示,A为主体系统,是数字孪生平台的主体,包含了基本的数据存储、数据分析、核心消息节点、用户交互、模型展示、知识存储等等功能,其余所有一切功能都要借助主体平台得以显示和控制。用户通过A集群查看、分析和操作所有集群。
|
||||||
图1所示,A为主体平台,是数字孪生平台的主体,包含了基本的数据存储、数据分析、核心消息节点、用户交互、模型展示、知识存储等等功能,其余所有一切功能都要借助主体平台得以显示和控制。
|
|
||||||
用户通过A集群查看、分析和操作所有集群。
|
\subsection{主系统设计原则}
|
||||||
|
\begin{description}
|
||||||
|
\item [高可用]
|
||||||
|
高可用性是系统设计中的重要目标之一,旨在确保系统在面对故障、错误或意外情况时能够保持正常运行。在系统设计中要注意负载均衡、自动化任务设计、冗余备份、快速恢复、无状态设计等等问题。
|
||||||
|
|
||||||
|
\item [高性能]
|
||||||
|
在本平台设计中,核心性能指标有消息网络的分发能力,硬实时消息的响应速度,主体平台对多种规则模型的处理速度,海量消息的存储能力,用户访问时模型的操作性能、仿真性能等。
|
||||||
|
\item [可扩展性]
|
||||||
|
可扩展性是本平台设计中核心设计的一点,不单单指服务的可扩展性,比如服务节点可以水平扩增等,还指集群网络的开放程度,能对接现有消息协议,开放消息网络对接和规则模型设计。
|
||||||
|
|
||||||
|
\item [安全性]
|
||||||
|
在保持消息网络的开发性上去保证整体平台、节点的安全性,在实践中,消息网络如何在开放协议的基础上保证通信安全。
|
||||||
|
|
||||||
|
\item [单一职责原则]
|
||||||
|
任何模块保持职责和功能的最小化,专一化,模块之间不含功能交集,这有助于确保系统的模块化和可维护性,并减少模块之间的依赖性和耦合度
|
||||||
|
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
\subsection{整体结构设计}
|
||||||
|
|
||||||
|
在设计数字孪生整体结构时,需要考虑用户使用、硬件通信、云服务特性去考虑设计,同时考虑平台的通用性,可扩展性,容灾恢复,安全性等等。
|
||||||
|
|
||||||
|
在整体上采用微服务架构。将系统按照业务功能模块拆分成若干个独立的微服务,每个微服务都能够独立部署和扩展。微服务架构可以提高系统的可伸缩性和可用性,并且可以降低系统的维护成本。
|
||||||
|
|
||||||
|
前端采用前后端分离的架构,使用现代化的前端框架vue,通过API连接到后端服务,从而实现前后端分离,提高系统的可维护性和可伸缩性。
|
||||||
|
|
||||||
|
后端采用分布式架构,将不同的业务模块拆分成独立的微服务,通过API或消息队列进行通信,提高系统的可伸缩性和可用性。同时,采用缓存技术,如Redis等,提高系统的性能。
|
||||||
|
|
||||||
|
数据库采用分布式数据库架构,将不同的数据拆分到不同的数据库实例中,通过数据分片技术进行分布式存储,提高系统的可伸缩性和性能。同时,采用读写分离技术,将读操作和写操作分别路由到不同的数据库实例中,从而提高系统的性能。根据数据的特点,分别选用不同类型的数据,主体结构数据存入mysql中,时序数据存入es中,非参数化模型存入文本或oss中。
|
||||||
|
|
||||||
|
在安全设计中需要采用统一的非对称秘钥认证机制,用户访问和节点通信皆使用私人秘钥本地解密远程密文进行认证,例如身份验证、访问控制、节点接入、数据加密等,保障系统的安全性。
|
||||||
|
|
||||||
|
如下图所示,为云平台主体结构,通用数字孪生平台的架构设计需要考虑多方面因素,通过采用现代化的架构技术和安全机制,实现高性能、可伸缩、可用和安全的系统。
|
||||||
|
|
||||||
|
\begin{figure}[h!]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.8\textwidth]{figure/f8.png}
|
||||||
|
\caption{平台主体结构}
|
||||||
|
\label{fig-f8}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\subsection{功能设计}
|
||||||
|
|
||||||
|
在设计该平台功能时,重点考虑其通用性和扩展性后,将平台功能点分为基础功能和拓展功能,拓展功能以本文提供的数据通信方案和规则模型方案为基础构建,由基础功能和额外编写的逻辑规则拓展而成,用户也可以此设计拓展功能。
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\item 数字孪生建模功能:提供用户友好的建模工具,支持各种模型类型和复杂性。用户可以通过可视化界面创建、编辑和删除模型。同时,平台应该提供模型验证、合法性检查、版本管理等功能。
|
||||||
|
|
||||||
|
\item 规则编写:提供多种方式的规则输入体系,使得用户方便的去构建场景和节点交互逻辑和内置规则。
|
||||||
|
|
||||||
|
\item 数据采集和集成功能:数字孪生平台需要支持各种数据源的集成,包括传感器、设备、网络、云服务等等,提供丰富的API和数据连接功能,以便数据源的快速接入和管理。
|
||||||
|
|
||||||
|
\item 数据分析和可视化功能:数字孪生平台需要提供数据分析和可视化工具,以便用户对数字孪生系统中的数据进行分析和探索。平台提供可视化工具和分析功能,支持数据探索、数据可视化和可视化交互等等。
|
||||||
|
|
||||||
|
\item 仿真和预测功能:数字孪生平台需要支持仿真和预测功能,以便用户可以基于数字孪生系统中的数据进行模拟和预测分析。平台应该提供各种仿真和预测工具,包括数据建模、算法开发和模型训练等等。
|
||||||
|
|
||||||
|
\item 安全性和可扩展性:数字孪生平台需要具备高可靠性和可扩展性。平台应该提供安全保障机制,包括数据安全、身份认证和访问控制等等。同时,平台应该具备可扩展性,以便用户可以轻松地扩展数字孪生系统的功能和规模。
|
||||||
|
|
||||||
|
\item API和开放平台:数字孪生平台需要提供API和开放平台,以便用户可以轻松地开发自己的应用程序和服务。平台应该提供完整的API文档和示例代码,同时支持第三方开发者的集成和扩展。
|
||||||
|
|
||||||
|
\end{enumerate}
|
||||||
|
\subsection{数据库设计}
|
||||||
|
|
||||||
|
在设计该系统数据库时,根据数字孪生场景需要和数据采集的一些特点,数字孪生平台的数据库设计需要考虑多个方面,包括数据库的范围和目的、结构和模式、安全性和可靠性、性能和扩展性以及数据采集和清洗等。在设计过程中需要综合考虑各个方面的需求,灵活应用不同的技术和方法,确保数字孪生平台的高效、安全、可靠运行。
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
|
||||||
|
\item 数据库的范围和目的:数字孪生平台通常需要处理大量的数据,包括实时数据、历史数据、静态数据等。因此,需要确定数据库的范围和目的,包括存储数据的类型、数据的来源和流向、数据的格式等。
|
||||||
|
|
||||||
|
\item 数据库的结构和模式:为了支持数字孪生平台的多样化需求,数据库需要具有灵活的结构和模式。可以采用关系型数据库或非关系型数据库,或者二者结合使用。同时,需要确定数据库的表结构、字段类型、主键、外键等。
|
||||||
|
|
||||||
|
\item 数据库的安全性和可靠性:数字孪生平台通常涉及到重要的实时数据和设备信息,因此需要确保数据库的安全性和可靠性。可以采用多重备份、加密、权限控制等方式来保证数据的完整性和保密性。
|
||||||
|
|
||||||
|
\item 数据库的性能和扩展性:数字孪生平台需要支持高效的数据处理和分析,因此需要考虑数据库的性能和扩展性。采用分布式数据库、内存数据库等技术来提高性能,并采用分区、分片等方式来实现扩展性。
|
||||||
|
|
||||||
|
\item 数据库的数据采集和清洗:数字孪生平台需要从多个来源获取数据,并进行数据清洗和处理。因此需要设计适合的数据采集和清洗模块,确保数据的准确性和一致性。
|
||||||
|
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
\subsection{分布式消息网络}
|
\subsection{分布式消息网络}
|
||||||
图1所示, ABC三集群之间, 集群内部,用户与主体平台之间均使用的是该消息网络,但是在不同的节点不同的集群,根据节点需要,该消息网络有不同的特征和性能要求,比如在用户与主体平台之间,实时性要求低,对精细数据无要求,但涉及大量重复数据给不同用户分发,其消息网络注重分发性能设计。BC 物理集群,涉及硬件操作,对实时性要求极高,要求存在硬中断和优先级,所以其设计偏向硬实时消息网络。
|
图1所示, ABC三集群之间, 集群内部,用户与主体平台之间均使用的是该消息网络,但是在不同的节点不同的集群,根据节点需要,该消息网络有不同的特征和性能要求,比如在用户与主体平台之间,实时性要求低,对精细数据无要求,但涉及大量重复数据给不同用户分发,其消息网络注重分发性能设计。BC 物理集群,涉及硬件操作,对实时性要求极高,要求存在硬中断和优先级,所以其设计偏向硬实时消息网络。
|
||||||
|
|||||||
@ -40,11 +40,12 @@
|
|||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
\section{功能设计}\
|
\section{功能设计}
|
||||||
|
|
||||||
在设计该平台功能时,重点考虑其通用性和扩展性后,将平台功能点分为基础功能和拓展功能,拓展功能以本文提供的数据通信方案和规则模型方案为基础构建,由基础功能和额外编写的逻辑规则拓展而成,用户也可以此设计拓展功能。
|
在设计该平台功能时,重点考虑其通用性和扩展性后,将平台功能点分为基础功能和拓展功能,拓展功能以本文提供的数据通信方案和规则模型方案为基础构建,由基础功能和额外编写的逻辑规则拓展而成,用户也可以此设计拓展功能。
|
||||||
|
|
||||||
\begin{enumerate}
|
\begin{enumerate}
|
||||||
|
|
||||||
\item 数字孪生建模功能:提供用户友好的建模工具,支持各种模型类型和复杂性。用户可以通过可视化界面创建、编辑和删除模型。同时,平台应该提供模型验证、合法性检查、版本管理等功能。
|
\item 数字孪生建模功能:提供用户友好的建模工具,支持各种模型类型和复杂性。用户可以通过可视化界面创建、编辑和删除模型。同时,平台应该提供模型验证、合法性检查、版本管理等功能。
|
||||||
|
|
||||||
\item 规则编写:提供多种方式的规则输入体系,使得用户方便的去构建场景和节点交互逻辑和内置规则。
|
\item 规则编写:提供多种方式的规则输入体系,使得用户方便的去构建场景和节点交互逻辑和内置规则。
|
||||||
@ -74,9 +75,8 @@
|
|||||||
\item 数据库的安全性和可靠性:数字孪生平台通常涉及到重要的实时数据和设备信息,因此需要确保数据库的安全性和可靠性。可以采用多重备份、加密、权限控制等方式来保证数据的完整性和保密性。
|
\item 数据库的安全性和可靠性:数字孪生平台通常涉及到重要的实时数据和设备信息,因此需要确保数据库的安全性和可靠性。可以采用多重备份、加密、权限控制等方式来保证数据的完整性和保密性。
|
||||||
|
|
||||||
\item 数据库的性能和扩展性:数字孪生平台需要支持高效的数据处理和分析,因此需要考虑数据库的性能和扩展性。采用分布式数据库、内存数据库等技术来提高性能,并采用分区、分片等方式来实现扩展性。
|
\item 数据库的性能和扩展性:数字孪生平台需要支持高效的数据处理和分析,因此需要考虑数据库的性能和扩展性。采用分布式数据库、内存数据库等技术来提高性能,并采用分区、分片等方式来实现扩展性。
|
||||||
|
|
||||||
\item 数据库的数据采集和清洗:数字孪生平台需要从多个来源获取数据,并进行数据清洗和处理。因此需要设计适合的数据采集和清洗模块,确保数据的准确性和一致性。
|
\item 数据库的数据采集和清洗:数字孪生平台需要从多个来源获取数据,并进行数据清洗和处理。因此需要设计适合的数据采集和清洗模块,确保数据的准确性和一致性。
|
||||||
|
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
|
||||||
综上所述,数字孪生平台的数据库设计需要考虑多个方面,包括数据库的范围和目的、结构和模式、安全性和可靠性、性能和扩展性以及数据采集和清洗等。在设计过程中需要综合考虑各个方面的需求,灵活应用不同的技术和方法,确保数字孪生平台的高效、安全、可靠运行。
|
综上所述,数字孪生平台的数据库设计需要考虑多个方面,包括数据库的范围和目的、结构和模式、安全性和可靠性、性能和扩展性以及数据采集和清洗等。在设计过程中需要综合考虑各个方面的需求,灵活应用不同的技术和方法,确保数字孪生平台的高效、安全、可靠运行。
|
||||||
|
|
||||||
|
|||||||
@ -12,6 +12,14 @@
|
|||||||
|
|
||||||
这些消息框架现在已经发展的非常成熟,但是不太适合本文的使用场景,通常用于云服务之间的消息通信,单纯工控用的PLC通信又十分的僵硬,适合构建信息物理系统(CPS)使用,涉及到大量设备、服务、人和虚拟实体四方消息互动目前来看没有适合的通信方案,在这四方之间消息传递的需求和性能要求皆不同,所以尝试去设计一套新的消息网络去解决数字孪生下的数据困境。
|
这些消息框架现在已经发展的非常成熟,但是不太适合本文的使用场景,通常用于云服务之间的消息通信,单纯工控用的PLC通信又十分的僵硬,适合构建信息物理系统(CPS)使用,涉及到大量设备、服务、人和虚拟实体四方消息互动目前来看没有适合的通信方案,在这四方之间消息传递的需求和性能要求皆不同,所以尝试去设计一套新的消息网络去解决数字孪生下的数据困境。
|
||||||
|
|
||||||
|
\begin{figure}[h!]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.8\textwidth]{figure/f11.png}
|
||||||
|
\caption{消息性能要求}
|
||||||
|
\label{fig-f11}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\section{通讯机制}
|
\section{通讯机制}
|
||||||
|
|
||||||
@ -97,9 +105,17 @@ Trie的核心思想是空间换时间,有如下基本性质:
|
|||||||
|
|
||||||
\section{硬实时通信}
|
\section{硬实时通信}
|
||||||
|
|
||||||
在工业控制领域实时(Real Time)是一个核心要求。实时系统是指计算的正确性不仅依赖于逻辑的正确性而且依赖于产生结果的时间,如果系统的时间限制不能得到满足,系统将会产生故障。在工业领域这种故障可能造成灾难性的结果。
|
在工业控制领域,实时性(Real-Time)是一个关键性的需求。实时系统是一类计算系统,其准确性取决于计算逻辑的正确性以及产生结果的时机。这意味着实时系统需要在预定的时间限制内完成特定任务,否则可能导致系统失效。实时性在工业控制领域的重要性表现在以下几个方面:
|
||||||
|
|
||||||
在CPU资源调度方面,OS主要提供一个多任务(multitasking)的运行环境,以方便应用的开发。在开发某个应用时首先把工作拆解成多个任务(Task/Thread),每个任务都可以简化成一个简单的无限循环:
|
\begin{enumerate}
|
||||||
|
\item 生产过程监控:实时系统能够实时监测生产过程中的各种关键参数(例如温度、压力和流量),以确保生产过程的连续性和稳定性。如果实时系统无法在预定的时间限制内对异常情况做出响应,可能会导致生产流程中断,甚至发生安全事故。
|
||||||
|
\item 设备运行与维护:实时性对于设备的运行和维护具有关键意义。实时系统可以收集和分析设备状态数据,及时发现设备故障,并为操作人员提供故障诊断和处理建议。如果实时系统无法在预定的时间限制内完成这些任务,设备可能会因故障而停机,从而影响生产进度。
|
||||||
|
\item 工业自动化与优化:实时性在工业自动化和优化过程中起着至关重要的作用。实时系统可以在短时间内完成大量复杂数学计算任务,为生产过程提供智能决策支持。这有助于提高生产效率、降低成本,并确保产品质量。
|
||||||
|
\item 安全与事故防范:在工业领域,实时系统在安全和事故防范方面发挥着重要作用。实时监控和报警功能可以帮助工作人员及时发现潜在的安全隐患,并采取必要的措施防范事故。若实时性要求得不到满足,可能会导致灾难性的后果,如设备损坏、生产中断,甚至人员伤亡。
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
因此,为满足设备间实时性消息和硬中断响应的需求,需要根据硬件单独编写相应的通信库去支持该性能要求。
|
||||||
|
在CPU资源调度时,OS主要提供一个多任务(multitasking)的运行环境,以方便应用的开发。在开发某个应用时首先把工作拆解成多个任务(Task/Thread),每个任务都可以简化成一个简单的无限循环:
|
||||||
|
|
||||||
\begin{lstlisting}[
|
\begin{lstlisting}[
|
||||||
language={C},
|
language={C},
|
||||||
@ -117,14 +133,14 @@ void MyTask (void)
|
|||||||
|
|
||||||
如上面代码所示,任务(Task)都是等待event,然后处理事务。任何一个任务得以运行,都是因为它收到了一个Event,这个Event可能是一个中断、也可能是超时到期、还有可能是其他任务发出的IPC信号,继续追查发出IPC信号的任务最后的源头Event肯定是一个外部设备硬件中断或者是内部的Timer中断。中断引起了Event传递,形成了逐个运行多个任务的链条(Chain)。一个系统内部会存在很多条这种链条。
|
如上面代码所示,任务(Task)都是等待event,然后处理事务。任何一个任务得以运行,都是因为它收到了一个Event,这个Event可能是一个中断、也可能是超时到期、还有可能是其他任务发出的IPC信号,继续追查发出IPC信号的任务最后的源头Event肯定是一个外部设备硬件中断或者是内部的Timer中断。中断引起了Event传递,形成了逐个运行多个任务的链条(Chain)。一个系统内部会存在很多条这种链条。
|
||||||
|
|
||||||
对实时(Real Time)系统来说,不仅仅要求OS能提供多任务环境,更要求任务能在极短的时间之内响应外部的中断事件。
|
对实时系统来说,不仅仅要求OS能提供多任务环境,更要求任务能在极短的时间之内响应外部的中断事件。
|
||||||
|
|
||||||
对于终端节点来说硬实时通讯较好实现,利用时钟定时中断即可强制切换到高级别消息发送,但是终端节点一般作为信息发送和执行节点,不具备逻辑处理功能,在整体通讯延迟受最慢一级也就是逻辑处理层一般也是主机节点影响最大,为处理此问题,对消息进行分级,高优先级消息会先触发中断响应,并切换到执行状态,且不可被抢占。
|
对于终端节点来说硬实时通讯较好实现,利用时钟定时中断即可强制切换到高级别消息发送,但是终端节点一般作为信息发送和执行节点,不具备逻辑处理功能,在整体通讯延迟受最慢一级也就是逻辑处理层一般也是主机节点影响最大,为处理此问题,对消息进行分级,高优先级消息会先触发中断响应,并切换到执行状态,且不可被抢占。
|
||||||
|
|
||||||
|
|
||||||
\section{终端通信}
|
\section{终端通信}
|
||||||
|
|
||||||
在上述协议下可以实现在场景内部的毫秒级实时通信需要,对于已有的不同终端,根据通信协议和线材不同可连入已有的物理节点进行消息转发,同时目前已开发了c/rust通信依赖库可供开发使用,直接在设备内嵌入通信逻辑。用户可以选择是外接设备还是内嵌代码接入到整个数字孪生平台,该物联终端接口可同样应用于自定义仿真算法和逻辑算法节点通信接入。
|
在上述协议下可以实现在场景内部的毫秒级硬中断响应通信需要,对于已有的不同终端,根据通信协议和线材不同可连入已有的物理节点进行消息转发,同时目前已开发了c/rust通信依赖库可供开发使用,直接在设备内嵌入通信逻辑。用户可以选择是外接设备还是内嵌代码接入到整个数字孪生平台,该物联终端接口可同样应用于自定义仿真算法和逻辑算法节点通信接入。
|
||||||
|
|
||||||
\section{性能分析}
|
\section{性能分析}
|
||||||
|
|
||||||
|
|||||||
@ -1,25 +1,32 @@
|
|||||||
|
|
||||||
\chapter{规则模型设计}
|
\chapter{知识模型设计}
|
||||||
|
|
||||||
\section{基本模型}
|
\section{基本模型}
|
||||||
|
|
||||||
在建立数字孪生虚拟世界过程中,会有大大小小的规则、算法等规则纳入其中,任何规则算法归纳来讲都是描述任意虚拟或实体对象相关作用关系。本文归纳了这些规则、算法的共同特征,建立了一个一般性的规则模型,该模型是一个动态模型,其规则求解过程可根据特点纳入平台内运算或使用独立进程进行运算求解。
|
在建立数字孪生虚拟世界过程中,会有大大小小的规则、算法、逻辑等知识纳入其中,任何规则算法归纳来讲都是描述任意虚拟或实体对象相关作用关系,这些作用关系对于该系统内部世界来说就是一个个具体的知识。本文归纳了这些知识的共同特征,建立了一个一般性的知识模型,该模型是一个动态模型,其规则求解过程可根据特点纳入平台内运算或使用独立进程进行运算求解。
|
||||||
基本模型需要先建立三个外部特征,触发域、输入域、输出域。触发域主要用于设定触发求解过程的条件。输入域是指定该模型需要哪些虚拟/实体对象的什么参数。输出域是指定该模型输入影响范围和参数。
|
基本模型需要先建立三个外部特征,触发域、输入域、输出域。触发域主要用于设定触发求解过程的条件。输入域是指定该模型需要哪些虚拟/实体对象的什么参数。输出域是指定该模型输入影响范围和参数。
|
||||||
对于不同的规则或者说规则,根据其作用域和功能特点,将其分为现实类规则、虚拟类规则、仿真类规则
|
对于不同的知识或者说规则,根据其作用域和功能特点,将其分为现实类知识、虚拟类知识、仿真类知识
|
||||||
|
\begin{figure}[h!]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.8\textwidth]{figure/f12.png}
|
||||||
|
\caption{知识模型分类}
|
||||||
|
\label{fig-f12}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\item[现实类规则]该类规则是具体场景下最底层规则,其触发域和输入域仅能为实体对象数据,虚拟场景运行与否不影响该类规则触发和生效作用。
|
\item[现实类知识]该类知识是具体场景下最底层知识,其触发域和输入域仅能为实体对象数据,虚拟场景运行与否不影响该类知识触发和生效作用。
|
||||||
\item[仿真类规则]该类规则为虚拟环境中与实体对象对应的虚拟对象的数据的关联规则,其输出域可以设定于虚拟世界,也可作用于现实世界。
|
\item[仿真类知识]该类知识为虚拟环境中与实体对象对应的虚拟对象的数据的关联规则,其输出域可以设定于虚拟世界,也可作用于现实世界。
|
||||||
\item[虚拟类规则]该类规则其输出域仅能作用于虚拟世界。
|
\item[虚拟知识]该类知识其输出域仅能作用于虚拟世界。
|
||||||
|
|
||||||
\end{description}
|
\end{description}
|
||||||
|
|
||||||
如图8所示,基本模型内部求解过程可以根据类型和功能特点选择提交公式或算法代码,或直接运行独立的求解程序。
|
如图8所示,基本模型内部求解过程可以根据类型和功能特点选择提交公式或算法代码,或直接运行独立的求解程序。
|
||||||
本章后面以构建碰撞检测和刚体运动力学规则为例讲解代码和公式确定规则模型。
|
本章后面以构建碰撞检测和刚体运动力学规则为例讲解代码和公式确定知识模型。
|
||||||
|
|
||||||
\begin{figure}[h!]
|
\begin{figure}[h!]
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[width=0.8\textwidth]{figure/f9.png}
|
\includegraphics[width=0.8\textwidth]{figure/f9.png}
|
||||||
\caption{规则模型上传过程}
|
\caption{知识模型上传过程}
|
||||||
\label{fig-f9}
|
\label{fig-f9}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
@ -85,7 +92,7 @@
|
|||||||
|
|
||||||
\begin{lstlisting}[
|
\begin{lstlisting}[
|
||||||
language={},
|
language={},
|
||||||
label={code-js-sample},
|
label={code-js-sample-1},
|
||||||
]
|
]
|
||||||
function isPointInsideAABB(point, box) {
|
function isPointInsideAABB(point, box) {
|
||||||
return (point.x >= box.minX && point.x <= box.maxX) &&
|
return (point.x >= box.minX && point.x <= box.maxX) &&
|
||||||
|
|||||||
@ -1,6 +1,10 @@
|
|||||||
\chapter{状态与事件模型}
|
\chapter{时序模型}
|
||||||
|
|
||||||
\section{状态机制}
|
在数字孪生实践困境中涉及到了诸多现实难题,如多系统融合、数字化率低、应用场景单一等等。本文在考虑现实应用场景需要后,根据前面两项研究基础,建立虚拟世界的时序模型,扩充了数字孪生系统的应用范围和场景,降低系统使用难度和场景构建难度。
|
||||||
|
|
||||||
|
在设计时序模型前,还需要设计清楚多复杂系统的状态模型和事件模型,时序模型建立在该两项技术基础上。
|
||||||
|
|
||||||
|
\section{状态模型}
|
||||||
|
|
||||||
在所有的节点集群中,将节点分为三大类:
|
在所有的节点集群中,将节点分为三大类:
|
||||||
\begin{description}
|
\begin{description}
|
||||||
@ -27,9 +31,11 @@
|
|||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
|
在一个复杂系统中,可能涉及成千上万的异构节点,节点在各个时间点的状态的合集组成了该复杂系统的状态,该状态可以有一个n维的向量描述,n为节点数量,元素为每个节点的状态,复杂系统每秒的状态变换可以描述为一个向量在一组事件下转变为另一个n维向量。
|
||||||
|
|
||||||
\section{事件模型}
|
\section{事件模型}
|
||||||
|
|
||||||
有泛含某种特定逻辑的单条或者多条消息在本平台归纳为事件, 事件是在整个平台流转的最小价值信息,也是消息网络订阅主题的发布内容,每个主题仅会发布同种事件,事件具有特定的数据结构,不一定与节点输入输出数据结构相符,所以事件在到达和传出节点时会做一次结构转换。这样特定主体的事件就可以在整个消息网络和节点网络传播,并且即时生效和作用。事件也是数据存储的单位,每个事件都会作为一条消息存储在数据库中,后续所有基于数据的后期分析实质都是在这些时序事件中发现规则。
|
由泛含某种特定逻辑的单条或者多条消息在本平台归纳为事件, 事件是在整个平台流转的最小价值信息,也是消息网络订阅主题的发布内容,每个主题仅会发布同种事件,事件具有特定的数据结构,不一定与节点输入输出数据结构相符,所以事件在到达和传出节点时会做一次结构转换。这样特定主体的事件就可以在整个消息网络和节点网络传播,并且即时生效和作用。事件也是数据存储的单位,每个事件都会作为一条消息存储在数据库中,后续所有基于数据的后期分析实质都是在这些事件中发掘规律。
|
||||||
其数据格式设计为:
|
其数据格式设计为:
|
||||||
|
|
||||||
\begin{lstlisting}
|
\begin{lstlisting}
|
||||||
@ -54,7 +60,26 @@
|
|||||||
|
|
||||||
时序模型是本平台最为核心的一个基础功能和分析手段。在已经运行的集群网络,会收集所有的历史事件,这些历史数据是所有数据分析的基础。整个集群会包含三个状态,过去,现在,未来。现在状态 就是物理集群目前的状态,会按照设定好的规则和节点逻辑运行。过去和未来状态皆是模拟场景,发生在用户端,用户在客户端可以自由的调整时间进度条,往前拉,虚拟场景会自动重新模拟当时的事件数据并按照当时的逻辑规则运行,往后拉,会根据历史的事件数据进行拟合,去预测未来的集群状态和数据。相当于在虚拟世界可以自由的调整时间线,平台会根据时间戳自动重播历史事件消息或者预测未来数据。
|
时序模型是本平台最为核心的一个基础功能和分析手段。在已经运行的集群网络,会收集所有的历史事件,这些历史数据是所有数据分析的基础。整个集群会包含三个状态,过去,现在,未来。现在状态 就是物理集群目前的状态,会按照设定好的规则和节点逻辑运行。过去和未来状态皆是模拟场景,发生在用户端,用户在客户端可以自由的调整时间进度条,往前拉,虚拟场景会自动重新模拟当时的事件数据并按照当时的逻辑规则运行,往后拉,会根据历史的事件数据进行拟合,去预测未来的集群状态和数据。相当于在虚拟世界可以自由的调整时间线,平台会根据时间戳自动重播历史事件消息或者预测未来数据。
|
||||||
|
|
||||||
本文采用时序分解法去预测未来数据,一个时间信号主要有四部分趋势影响叠加合成:
|
时序模型就是可以在OneDT系统中随时在虚拟世界中将复杂系统恢复到过去现在以及推演的未来某一刻,其推演数据来源就是过去的状态数据和事件数据,推演方法有统计学方法,也可使用循环神经网络去预测。
|
||||||
|
|
||||||
|
\begin{table}
|
||||||
|
\centering
|
||||||
|
\caption{复杂系统状态转移表}
|
||||||
|
\label{tab-three-line-table-example}
|
||||||
|
\begin{tabular}{cccccccc}
|
||||||
|
\toprule
|
||||||
|
& 过去A & 过去B & ... & 现在 & ... & 未来A & 未来B \\
|
||||||
|
|
||||||
|
\midrule
|
||||||
|
节点a & a1 & a2 & ... & an & ... & an+1 & an+2 \\
|
||||||
|
节点b & b1 & b2 & ... & bn & ... & an+1 & an+2 \\
|
||||||
|
..... & .... & .... & ... & .... & ... & an+1 & an+2 \\
|
||||||
|
节点n & n1 & n2 & ... & nn & ... & an+1 & an+2 \\
|
||||||
|
\bottomrule
|
||||||
|
\end{tabular}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
本文验证时序模型功能时采用的时序分解法去预测未来数据,将一个时间信号视为由四部分趋势影响叠加合成:
|
||||||
|
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\item[长期趋势(Secular trend,T)] 指在较长时期内持续发展变化的一种趋向或状态。
|
\item[长期趋势(Secular trend,T)] 指在较长时期内持续发展变化的一种趋向或状态。
|
||||||
@ -73,4 +98,5 @@
|
|||||||
\item[加乘模型] $ Y_t = T_t * S_t * C_t + I_t $
|
\item[加乘模型] $ Y_t = T_t * S_t * C_t + I_t $
|
||||||
\end{description}
|
\end{description}
|
||||||
|
|
||||||
对于四种因素预测,可采用最典型的移动平均法,也可以如第四章所示自行提交预测函数进行预测
|
对于四种因素预测,可采用最典型的移动平均法,也可以如第四章所示自行提交预测函数进行预测。
|
||||||
|
针对不同特点的数据源应该采用不同的时序预测方法,其机制已经在本系统内实现,具体的预测方法可以根据不同节点选择或者填写不同的预测方法或函数。
|
||||||
|
|||||||
BIN
figure/f10.png
Normal file
BIN
figure/f10.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.0 MiB |
BIN
figure/f11.png
Normal file
BIN
figure/f11.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.3 MiB |
BIN
figure/f12(1).png
Normal file
BIN
figure/f12(1).png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.1 MiB |
BIN
figure/f12.png
Normal file
BIN
figure/f12.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.1 MiB |
Loading…
x
Reference in New Issue
Block a user