CN117201609B - 一种面向舰船的采集作动设备数据使用和存储管理方法和装置 - Google Patents
一种面向舰船的采集作动设备数据使用和存储管理方法和装置 Download PDFInfo
- Publication number
- CN117201609B CN117201609B CN202311141568.0A CN202311141568A CN117201609B CN 117201609 B CN117201609 B CN 117201609B CN 202311141568 A CN202311141568 A CN 202311141568A CN 117201609 B CN117201609 B CN 117201609B
- Authority
- CN
- China
- Prior art keywords
- data
- ship
- equipment
- mqtt
- message
- 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.)
- Active
Links
- 238000007726 management method Methods 0.000 title claims description 19
- 230000006870 function Effects 0.000 claims abstract description 64
- 238000012545 processing Methods 0.000 claims abstract description 47
- 238000000034 method Methods 0.000 claims abstract description 43
- 230000003993 interaction Effects 0.000 claims abstract description 17
- 230000007246 mechanism Effects 0.000 claims abstract description 14
- 230000008569 process Effects 0.000 claims abstract description 10
- 238000004806 packaging method and process Methods 0.000 claims abstract description 3
- 238000004891 communication Methods 0.000 claims description 19
- 230000004913 activation Effects 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 claims description 10
- 239000011159 matrix material Substances 0.000 claims description 9
- 238000013499 data model Methods 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 210000002569 neuron Anatomy 0.000 claims description 6
- 238000013461 design Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- LIWAQLJGPBVORC-UHFFFAOYSA-N ethylmethylamine Chemical compound CCNC LIWAQLJGPBVORC-UHFFFAOYSA-N 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 claims description 4
- 238000007405 data analysis Methods 0.000 claims description 3
- 238000003745 diagnosis Methods 0.000 claims description 3
- 230000008520 organization Effects 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 7
- 230000006872 improvement Effects 0.000 abstract description 3
- 230000004931 aggregating effect Effects 0.000 abstract description 2
- 101150080778 INPP5D gene Proteins 0.000 description 113
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000000547 structure data Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种面向舰船的采集作动设备数据使用和存储管理方法和装置,包括对舰船系统的层级结构进行划分,基于MQTT协议采用消息发布订阅机制在舰船系统各层级之间进行数据交互,基于所述MQTT客户端库配置的API创建消息对象、逻辑层MQTT订阅者和应用层MQTT订阅者,设备层基于字符串封装舰船作动设备采集的数据和标识消息类型,通过调用发布函数将消息发布到目标主题,所述设备层还通过逻辑层订阅应用层发布的指令,逻辑层MQTT订阅者基于消息循环,通过调用订阅函数和消息处理函数订阅设备层发布的主题消息,并进行转换、分析聚合和存储接收的数据信息,应用层MQTT订阅者通过调用消息回调函数订阅逻辑层发布的主题消息,并将解析提取的数据信息传送至相应应用程序。本发明通过舰船设备、数据和应用的分层解耦,能够实现提高数据采集和处理效率,并且便于舰船系统和设备的扩展,简化应用的开发过程。
Description
技术领域
本发明属于数据采集技术领域,尤其涉及一种面向舰船的采集作动设备数据使用和存储管理方法和装置。
背景技术
大型舰船装载的设备数量大,涉及大量传感器采集设备和作动执行机构,通过这些设备和机构的协同工作,可以实现对舰船运行状态、环境变化以及各种功能模块的监测和调节。目前,舰船上此类设备的使用均是烟囱形式。
烟囱形式的传感器采集设备和作动执行机构便于安装和维护,通常不需要对舰船的结构进行太多的改动,这样可以减少对舰船稳定性和水动力性能的影响。
但是烟囱形式的传感器采集设备和作动执行机构也存在一些限制,需要专门针对设备进行应用开发,应用和设备耦合严重。开发相关应用程序的设计人员需要深入了解所涉及设备的数据传输协议、格式、字段含义,并且每次用到该设备的数据均需在应用中编写代码从设备直接获取数据。
现有技术没有将舰船上采集作动设备的数据进行统一向应用开发人员开放,形成设备、数据的标准化、规范化使用,未实现应用、数据、设备的分层解耦,这导致舰船行业设备和应用的横向发展受限。
发明内容
针对上述现有技术中存在的缺陷,本发明提供一种面向舰船的采集作动设备数据使用和存储管理方法和装置,所述方法包括以下步骤:
确定舰船系统的层级结构,包括设备层、逻辑层和应用层;
基于MQTT协议采用消息发布订阅机制在舰船系统各层级之间进行数据交互,包括根据MQTT客户端库配置连接参数,通过调用预配置函数建立舰船系统各层级和MQTT代理之间的连接;
基于所述MQTT客户端库配置的API创建消息对象、逻辑层MQTT订阅者和应用层MQTT订阅者;
所述设备层模块化设计舰船作动设备,并基于舰船作动设备的属性和状态建立整合舰船系统作动设备的数据模型,通过标准接口和通信协议共享舰船作动设备数据,还包括,基于字符串封装舰船作动设备采集的数据和标识消息类型,通过调用发布函数将消息发布到目标主题,所述设备层还通过逻辑层订阅应用层发布的指令;
所述逻辑层MQTT订阅者基于消息循环,通过调用订阅函数和消息处理函数订阅设备层发布的主题消息,并进行转换、分析聚合和存储接收的数据信息,包括,基于NMEA 2000协议采用数据域定义舰船作动设备数据的内容格式,所述数据的内容格式包括设备标识字段、数据信息字段、时间戳字段和/或控制字段,并使用PGN字段标识不同类型的舰船作动设备数据,定义数据路由器和数据处理模块,所述数据路由器根据PGN字段值将数据路由到相应的数据处理模块,以使数据处理模块解析、处理和转换舰船作动设备数据;
所述应用层MQTT订阅者通过调用消息回调函数订阅逻辑层发布的主题消息,并将解析提取的数据信息传送至相应应用程序,还包括,集成不同类型的舰船应用程序,通过调用应用程序的标准接口进行数据共享和传输。
其中,所述设备层包括采集数据的舰船作动设备,所述逻辑层包括接收、处理和存储数据的多个独立微服务,所述应用层包括监控系统、控制中心和数据分析应用。
其中,所述通过调用预配置函数建立舰船系统各层级和MQTT代理之间的连接,包括:
部署配置MQTT代理并初始化MQTT客户端;
设置与MQTT代理进行连接所需的参数,包括MQTT代理的IP地址和端口号、身份验证凭据和协议选项;
通过调用MQTT客户端的连接函数,基于设置的连接参数进行身份验证后连接到MQTT代理;
基于MQTT客户端的订阅函数订阅接收消息的主题;
基于MQTT客户端的发布函数将消息发布到目标主题。
其中,基于舰船作动设备的属性和状态建立整合舰船系统作动设备的数据模型,包括:
确定舰船作动设备的分层结构,按照设备的功能和类别将舰船作动设备划分为舰船层级、系统层级和设备层级;
舰船层级根据舰船的运行状态、航行参数和设备拓扑配置,集中管理舰船作动设备,包括扩展交互、故障诊断和/或维护,并根据以下公式得到舰船层级模型的预测结果:
Y=f(∑k^N(i)W(ki,j)*a_k(i)+b_(i,j)+ReLU(W(Sm)*Sm+b_(Sm))+
ReLU(W(Pn)*Pn+b_(Pn))+ReLU(W(T)*T+b_(T)))
其中,f表示激活函数,N()表示层级的节点数量,W()表示权重矩阵,a_k()表示第k个节点的输出,b_()表示偏置项,i表示多层感知神经网络的第i个隐藏层,j表示第i个隐藏层的第j个神经元,ReLU()表示非线性激活函数,Sm表示第m个舰船的运行状态数据,Pn表示第n个航行参数数据,T表示设备拓扑;
进一步的,对于第k个节点的输出a_k(),根据以下公式得到:
a_k(i)=f(∑k^N(i-1)W(ki-1,j))*a_k(i-1)+b_(i-1,h)
其中,f()表示激活函数,N()表示层级的节点数量,W()表示权重矩阵,a_k()表示第k个节点的输出,b_()表示偏置项,i表示多层感知神经网络的第i个隐藏层,i-1表示上一隐藏层,h表示第i个隐藏层的第h个神经元;
系统层级根据舰船的设备组成确定舰船子系统,包括,控制系统、电力系统和/或气动系统,并基于子系统的工作模式、控制参数和/或传感器配置进行管理和控制,并对每个系统层级数据变量L,根据以下公式得到系统层级模型的预测结果:
Z=ReLU(W(Lo)*Lo+b(Lo),其中,ReLU()表示非线性激活函数,W()表示权重矩阵,Lo表示第o个系统层级数据变量,b_()表示偏置项;
设备层级包括舰船设备的属性、状态信息和/或配置参数;
还包括,配置每个层级的接口和通信机制,通过标识符、引用或属性关联,在舰船层级、系统层级和设备层级之间进行数据的交互和共享。
其中,集成不同类型的舰船应用,基于标准的数据格式和接口进行数据共享和传输,包括:
基于应用程序之间数据交互需求,确定需要共享和传输的数据类型、频率和粒度;
通过JSON数据建模语言和格式设置数据结构和属性;
基于消息队列方式在不同应用之间进行数据传输。
其中,所述方法还包括,建立微服务池统一管理微服务,在微服务池中为每个微服务提供服务说明,包括:
确定微服务池的整体结构和组织方式,包括管理和监控微服务、负载均衡;
为每个舰船作动设备分配唯一的接口地址,并为每个设备的数据采集处理服务设置服务名称;
调用微服务启动后,将舰船作动设备接口地址和服务名称注册到微服务池中,使用服务注册与发现的工具实现微服务的注册和发现功能;
为每个微服务设置服务说明文档,包括所述微服务提供的接口和功能,应用层基于所述说明文档准确调用数据采集处理服务;
在微服务池中设置负载均衡器和请求路由器,使用Nginx进行负载均衡和请求路由。
本发明通过基于MQTT协议采用消息发布订阅机制在舰船系统各层级之间进行数据交互,通过模块化舰船设备和分层结构数据模型,基于标准接口和通信协议共享舰船设备数据,以及结合协议字段对舰船设备数据进行划分处理的设计方案,可以实现舰船采集作动设备、应用和数据的分层解耦,能够提高数据采集、处理和控制效率,便于舰船设备系统扩展,并简化应用开发过程。还通过设置舰船设备和应用的标准式接口和通信协议,实现设备应用之间的协同和数据的共享,提高舰船系统的整体效能和灵活性。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中:
图1是示出根据本发明实施例的一种面向舰船的采集作动设备数据使用和存储管理方法的流程图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述……,但这些……不应限于这些术语。这些术语仅用来将……区分开。例如,在不脱离本发明实施例范围的情况下,第一……也可以被称为第二……,类似地,第二……也可以被称为第一……。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者装置中还存在另外的相同要素。
在大型舰船系统中包含大量的传感器采集设备和作动执行机构,由于通常是采用烟囱的形式,导致需要专门针对舰船设备开发相对应的应用,进而出现应用和设备耦合严重的问题。因此需要一种有效的方法,既提高数据处理和控制效率,便于舰船设备系统扩展,又能简化应用开发过程,以解决现有技术中舰船设备、数据和应用耦合严重的问题。
如图1所示,本发明公开了一种面向舰船的采集作动设备数据使用和存储管理方法,所述方法包括:
步骤1,舰船系统结构划定:确定舰船系统的层级结构,包括设备层、逻辑层和应用层。
在划分的舰船系统层级结构中,所述设备层用于通过所述逻辑层部署的微服务向所述应用层提供采集的舰船数据,此外所述设备层还响应所述应用层的管理控制指令,在设备层中通常包括采集数据的舰船作动设备,所述逻辑层包括接收、处理和存储数据的多个独立微服务,所述应用层用于调用所述舰船系统的逻辑层所部署的微服务进行相应的业务处理,此外还通过前端应用向用户提供数据处理展示和管理控制指令操作展示,并将相应管理控制指令传送至所述设备层,在应用层中通常包括监控系统、控制中心和数据分析应用。
步骤2,基于MQTT协议采用消息发布订阅机制在舰船系统各层级之间进行数据交互,包括根据MQTT客户端库配置连接参数,通过调用预配置函数建立舰船系统各层级和MQTT代理之间的连接。
MQTT协议允许舰船系统中的订阅者和发布者进行异步通信,即使某个订阅者暂时无法接收到数据,也不会影响其他订阅者的正常接收,因此MQTT协议异步通信机制使得舰船系统能够更好地处理高并发和大规模的数据交互;此外,MQTT协议的发布订阅机制能够允许不同层级的舰船系统订阅所需的数据主题,进而实现接收相关的所需数据,因此能够使得舰船系统能够灵活地根据需要订阅和发布数据,而不需要直接依赖特定的数据源或目标。
进一步的,MQTT协议的发布订阅机制采用一对多通信方式,能够添加新的订阅者或发布者,以满足舰船系统的扩展需求,进而使得舰船系统能够适应用户的需求以增加或调整舰船系统设备。
进一步的,使用消息队列的方式,实现舰船系统的设备、数据和前端应用之间的通信解耦,选择如RabbitMQ、Kafka等消息队列系统,根据需求设计消息队列的交换机、队列和绑定规则,,可以根据具体的需求设计消息队列的交换机、队列和绑定规则;此外根据舰船设备的网络通信协议与消息队列进行通信,将设备数据发送到消息队列中。
在某一实施例中,所述通过调用预配置函数建立舰船系统各层级和MQTT代理之间的连接,包括:
部署配置MQTT代理并初始化MQTT客户端;
设置与MQTT代理进行连接所需的参数,包括MQTT代理的IP地址和端口号、身份验证凭据和协议选项;
通过调用MQTT客户端的连接函数,基于设置的连接参数进行身份验证后连接到MQTT代理;
基于MQTT客户端的订阅函数订阅接收消息的主题;
基于MQTT客户端的发布函数将消息发布到目标主题。
步骤3,所述设备层模块化设计舰船作动设备,并基于舰船作动设备的属性和状态建立整合舰船系统作动设备的数据模型,通过标准接口和通信协议共享舰船作动设备数据,还包括,基于字符串封装舰船作动设备采集的数据和标识消息类型,通过调用发布函数将消息发布到目标主题,所述设备层还通过逻辑层订阅应用层发布的指令。
模块化设计能够使得舰船作动设备可以根据需求进行组合和调整,已实现满足不同舰船的特定要求,模块化设计还能够简化设备的更换和维修,进一步提高舰船作动设备的灵活性和可维护性。
进一步的,模块化设计还可以向整合舰船系统添加新的作动设备模块,以满足新的需求或改进现有功能,这种可扩展性能够使得舰船作动设备能够适应新的技术和需求变化。
建立整合舰船系统作动设备的数据模型,可以实时监测和控制舰船作动设备的属性和状态,通过标准接口和通信协议共享舰船作动设备数据,可以实现设备之间的互联互通,提高数据的传输效率和准确性。还可以通过对数据的分析和处理,监测设备的故障和异常,提高设备的可靠性和稳定性。
通过标准接口和通信协议共享舰船作动设备数据,不仅能够实现设备之间的数据共享,还可以实现与其他系统的数据交互和协同工作,有助于实现舰船作动设备与其他系统的集成交互。
在某一实施例中,基于舰船作动设备的属性和状态建立整合舰船系统作动设备的数据模型,包括:
确定舰船作动设备的分层结构,按照设备的功能和类别将舰船作动设备划分为舰船层级、系统层级和设备层级;
在某一实施例中,舰船层级根据舰船的运行状态、航行参数和设备拓扑配置,集中管理舰船作动设备,包括扩展交互、故障诊断和/或维护,并根据以下公式得到舰船层级模型的预测结果:
Y=f(∑k^N(i)W(ki,j)*a_k(i)+b_(i,j)+ReLU(W(Sm)*Sm+b_(Sm))+
ReLU(W(Pn)*Pn+b_(Pn))+ReLU(W(T)*T+b_(T)))
其中,f表示激活函数,N()表示层级的节点数量,W()表示权重矩阵,a_k()表示第k个节点的输出,b_()表示偏置项,i表示多层感知神经网络的第i个隐藏层,j表示第i个隐藏层的第j个神经元,ReLU()表示非线性激活函数,Sm表示第m个舰船的运行状态数据,Pn表示第n个航行参数数据,T表示设备拓扑;
进一步的,对于第k个节点的输出a_k(),根据以下公式得到:
a_k(i)=f(∑k^N(i-1)W(ki-1,j))*a_k(i-1)+b_(i-1,h)
其中,f()表示激活函数,N()表示层级的节点数量,W()表示权重矩阵,a_k()表示第k个节点的输出,b_()表示偏置项,i表示多层感知神经网络的第i个隐藏层,i-1表示上一隐藏层,h表示第i个隐藏层的第h个神经元。
在某一实施例中,系统层级根据舰船的设备组成确定舰船子系统,包括,控制系统、电力系统和/或气动系统,并基于子系统的工作模式、控制参数和/或传感器配置进行管理和控制,并对每个系统层级数据变量L,根据以下公式得到系统层级模型的预测结果:
Z=ReLU(W(Lo)*Lo+b(Lo),其中,ReLU()表示非线性激活函数,W()表示权重矩阵,Lo表示第o个系统层级数据变量,b_()表示偏置项。
在某一实施例中,设备层级包括舰船设备的属性、状态信息和/或配置参数。
在某一实施例中,还包括,配置每个层级的接口和通信机制,通过标识符、引用或属性关联,在舰船层级、系统层级和设备层级之间进行数据的交互和共享。
步骤4,所述逻辑层MQTT订阅者基于消息循环,通过调用订阅函数和消息处理函数订阅设备层发布的主题消息,并进行转换、分析聚合和存储接收的数据信息,包括,基于NMEA 2000协议采用数据域定义舰船作动设备数据的内容格式,所述数据的内容格式包括设备标识字段、数据信息字段、时间戳字段和/或控制字段,并使用PGN字段标识不同类型的舰船作动设备数据,定义数据路由器和数据处理模块,所述数据路由器根据PGN字段值将数据路由到相应的数据处理模块,以使数据处理模块解析、处理和转换舰船作动设备数据。
其中,确定数据域的内容格式,根据舰船作动设备数据的需求和具体应用场景确定设备标识字段、数据信息字段、时间戳字段和/或控制字段的格式和长度;使用PGN字段标识不同类型的舰船作动设备数据,根据NMEA 2000协议中定义的PGN(Parameter GroupNumber)字段,为不同类型的舰船作动设备数据分配唯一的PGN值,区分不同类型的数据,方便路由到相应的处理模块;定义数据路由器,数据路由器负责根据数据包中的PGN字段值将数据路由到相应的数据处理模块;定义数据处理模块,所述数据处理模块负责解析、处理和转换舰船作动设备数据,根据不同的PGN字段值,数据处理模块可以采用不同的算法和逻辑来处理数据;在数据处理模块中,对接收到的数据进行解析,提取出设备标识字段、数据信息字段、时间戳字段和/或控制字段的值,根据需求对数据进行处理和转换;根据数据包中的PGN字段值,将数据路由到相应的数据处理模块进行处理,数据处理模块根据设备标识字段等信息,对数据进行相应的操作和处理。
步骤5,所述应用层MQTT订阅者通过调用消息回调函数订阅逻辑层发布的主题消息,并将解析提取的数据信息传送至相应应用程序,还包括,集成不同类型的舰船应用程序,通过调用应用程序的标准接口进行数据共享和传输。
其中,在应用层中配置MQTT客户端,包括设置MQTT服务器的地址、端口、客户端ID等参数,使用MQTT客户端连接到MQTT服务器,建立与服务器的连接,通过调用MQTT客户端的订阅函数,将应用层的订阅主题和对应的消息回调函数进行注册,订阅主题可以是逻辑层发布的特定主题,在应用层中实现消息回调函数,用于处理订阅到的消息,在回调函数中,可以解析提取出的数据信息,并进行相应的处理;根据应用程序的需求,对解析提取出的数据信息进行相应的处理,例如存储、显示、发送等;并且在应用层结束时,通过调用MQTT客户端的断开连接函数,断开与MQTT服务器的连接。
因此,本发明基于MQTT协议采用消息发布订阅机制在舰船系统各层级之间进行数据交互,并且通过模块化设计舰船设备和分层结构数据模型,还能够基于标准接口和通信协议共享舰船设备数据,还结合协议字段对舰船设备数据进行划分处理,可以实现舰船采集作动设备、应用和数据的分层解耦,能够有效提高数据采集、处理和控制效率,便于舰船设备系统扩展,并简化应用开发过程。
在某一实施例中,集成不同类型的舰船应用,基于标准的数据格式和接口进行数据共享和传输,包括:
基于应用程序之间数据交互需求,确定需要共享和传输的数据类型、频率和粒度;
通过JSON数据建模语言和格式设置数据结构和属性;
基于消息队列方式在不同应用之间进行数据传输。
在某一实施例中,采用微服务架构为每个设备开发对应的数据采集处理服务;
确定每个数据采集处理服务需要提供的功能和接口,包括实时数据读取和历史数据读取等;
根据设备的数量和类型,将每个设备对应的数据采集处理功能拆分为独立的微服务,每个微服务负责与特定设备通信,并获取实时数据和历史数据;
使用编程语言和框架为每个微服务开发相应的功能,包括设备通信、数据读取、数据处理;
将各个微服务集成到整体系统中,使用消息队列、API网关等方式来实现微服务之间的通信和调用。
在某一实施例中,所述方法还包括,建立微服务池统一管理微服务,在微服务池中为每个微服务提供服务说明,包括:
确定微服务池的整体结构和组织方式,包括管理和监控微服务、负载均衡;
为每个舰船作动设备分配唯一的接口地址,并为每个设备的数据采集处理服务设置服务名称;
调用微服务启动后,将舰船作动设备接口地址和服务名称注册到微服务池中,使用服务注册与发现的工具实现微服务的注册和发现功能;
为每个微服务设置服务说明文档,包括所述微服务提供的接口和功能,应用层基于所述说明文档准确调用数据采集处理服务;
在微服务池中设置负载均衡器和请求路由器,使用Nginx进行负载均衡和请求路由。
在某一实施例中,应用层调用所述微服务获取所需数据或向设备发送控制指令,包括:
访问微服务池的服务说明文档或相关文档,获取每个设备的访问接口和对应的服务名称;
在应用程序中根据设备的访问接口和服务名称调用相应的微服务,可以使用相应的网络通信协议(如HTTP、TCP等)与设备进行通信;
通过调用相应的微服务,根据微服务的服务说明,确定数据的接口和数据格式,获取设备的实时数据和历史数据;
通过调用相应的微服务,根据微服务的服务说明,确定发送指令的接口和指令格式,下发实时指令给设备进行控制。
在某一实施例中,还可以根据舰船上各设备所采集数据的冷热程度,将使用频率高的数据存储在读取性能高的固态盘中,将使用频率低的数据存储在普通硬盘中。
本发明通过舰船设备、数据和应用的分层解耦,能够实现提高数据采集和处理效率,并且便于舰船系统和设备的扩展,简化应用的开发过程。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
以上介绍了本发明的较佳实施方式,旨在使得本发明的精神更加清楚和便于理解,并不是为了限制本发明,凡在本发明的精神和原则之内,所做的修改、替换、改进,均应包含在本发明所附的权利要求概括的保护范围之内。
Claims (10)
1.一种面向舰船的采集作动设备数据使用和存储管理方法,包括:
确定舰船系统的层级结构,包括设备层、逻辑层和应用层;
基于MQTT协议采用消息发布订阅机制在舰船系统各层级之间进行数据交互,包括根据MQTT客户端库配置连接参数,通过调用预配置函数建立舰船系统各层级和MQTT代理之间的连接;
基于所述MQTT客户端库配置的API创建消息对象、逻辑层MQTT订阅者和应用层MQTT订阅者;
所述设备层模块化设计舰船作动设备,并基于舰船作动设备的属性和状态建立整合舰船系统作动设备的数据模型,通过标准接口和通信协议共享舰船作动设备数据,还包括,基于字符串封装舰船作动设备采集的数据和标识消息类型,通过调用发布函数将消息发布到目标主题,所述设备层还通过逻辑层订阅应用层发布的指令;
所述逻辑层MQTT订阅者基于消息循环,通过调用订阅函数和消息处理函数订阅设备层发布的主题消息,并进行转换、分析聚合和存储接收的数据信息,包括,基于NMEA 2000协议采用数据域定义舰船作动设备数据的内容格式,所述数据的内容格式包括设备标识字段、数据信息字段、时间戳字段和控制字段,并使用PGN字段标识不同类型的舰船作动设备数据,定义数据路由器和数据处理模块,所述数据路由器根据PGN字段值将数据路由到相应的数据处理模块,以使数据处理模块解析、处理和转换舰船作动设备数据;
所述应用层MQTT订阅者通过调用消息回调函数订阅逻辑层发布的主题消息,并将解析提取的数据信息传送至相应应用程序,还包括,集成不同类型的舰船应用程序,通过调用应用程序的标准接口进行数据共享和传输。
2.如权利要求1所述的一种面向舰船的采集作动设备数据使用和存储管理方法,其特征在于,
所述设备层包括采集数据的舰船作动设备,所述逻辑层包括接收、处理和存储数据的多个独立微服务,所述应用层包括监控系统、控制中心和数据分析应用。
3.如权利要求1所述的一种面向舰船的采集作动设备数据使用和存储管理方法,其特征在于,
所述通过调用预配置函数建立舰船系统各层级和MQTT代理之间的连接,包括:
部署配置MQTT代理并初始化MQTT客户端;
设置与MQTT代理进行连接所需的参数,包括MQTT代理的IP地址和端口号、身份验证凭据和协议选项;
通过调用MQTT客户端的连接函数,基于设置的连接参数进行身份验证后连接到MQTT代理;
基于MQTT客户端的订阅函数订阅接收消息的主题;
基于MQTT客户端的发布函数将消息发布到目标主题。
4.如权利要求1所述的一种面向舰船的采集作动设备数据使用和存储管理方法,其特征在于,
基于舰船作动设备的属性和状态建立整合舰船系统作动设备的数据模型,包括:
确定舰船作动设备的分层结构,按照设备的功能和类别将舰船作动设备划分为舰船层级、系统层级和设备层级;
舰船层级根据舰船的运行状态、航行参数和设备拓扑配置,集中管理舰船作动设备,包括扩展交互、故障诊断和维护,并根据以下公式得到舰船层级模型的预测结果:
Y = f(∑k^N(i)W(ki,j)*a_k(i)+b_(i,j)+ ReLU(W(Sm)*Sm+ b_(Sm))+ ReLU (W(Pn)* Pn+b_(Pn))+ ReLU (W(T)* T+b_(T)))
其中,f表示激活函数,N()表示层级的节点数量,W()表示权重矩阵,a_k()表示第k个节点的输出,b_()表示偏置项, i表示多层感知神经网络的第i个隐藏层,j表示第i个隐藏层的第j个神经元,ReLU()表示非线性激活函数,Sm表示第m个舰船的运行状态数据,Pn表示第n个航行参数数据,T表示设备拓扑;
系统层级根据舰船的设备组成确定舰船子系统,包括,控制系统、电力系统和气动系统,并基于子系统的工作模式、控制参数和传感器配置进行管理和控制,并对每个系统层级数据变量L,根据以下公式得到系统层级模型的预测结果:
Z= ReLU(W(Lo)* Lo + b(Lo),其中,ReLU()表示非线性激活函数,W()表示权重矩阵,Lo表示第o个系统层级数据变量, b_()表示偏置项;
设备层级包括舰船设备的属性、状态信息和配置参数。
5.如权利要求4所述的一种面向舰船的采集作动设备数据使用和存储管理方法,其特征在于,
对于第k个节点的输出a_k(),根据以下公式得到:
a_k(i)=f(∑k^N(i-1) W(ki-1,j)) *a_k(i-1)+b_(i-1,h)
其中,f()表示激活函数,N()表示层级的节点数量,W()表示权重矩阵, b_()表示偏置项, i表示多层感知神经网络的第i个隐藏层, i-1表示上一隐藏层,h表示第i个隐藏层的第h个神经元。
6.如权利要求4所述的一种面向舰船的采集作动设备数据使用和存储管理方法,其特征在于,
配置每个层级的接口和通信机制,通过标识符、引用或属性关联,在舰船层级、系统层级和设备层级之间进行数据的交互和共享。
7.如权利要求1所述的一种面向舰船的采集作动设备数据使用和存储管理方法,其特征在于,
集成不同类型的舰船应用,基于标准的数据格式和接口进行数据共享和传输,包括:
基于应用程序之间数据交互需求,确定需要共享和传输的数据类型、频率和粒度;
通过JSON数据建模语言和格式设置数据结构和属性;
基于消息队列方式在不同应用之间进行数据传输。
8.如权利要求2所述的一种面向舰船的采集作动设备数据使用和存储管理方法,其特征在于,
所述方法还包括,建立微服务池统一管理微服务,在微服务池中为每个微服务提供服务说明。
9.如权利要求2所述的一种面向舰船的采集作动设备数据使用和存储管理方法,其特征在于,
确定微服务池的整体结构和组织方式,包括管理和监控微服务、负载均衡;
为每个舰船作动设备分配唯一的接口地址,并为每个设备的数据采集处理服务设置服务名称;
调用微服务启动后,将舰船作动设备接口地址和服务名称注册到微服务池中,使用服务注册与发现的工具实现微服务的注册和发现功能;
为每个微服务设置服务说明文档,包括所述微服务提供的接口和功能,应用层基于所述说明文档准确调用数据采集处理服务;
在微服务池中设置负载均衡器和请求路由器,使用Nginx进行负载均衡和请求路由。
10.一种面向舰船的采集作动设备数据使用和存储管理装置,包括:
至少一个处理器;以及
包括计算机程序代码的至少一个存储器,
其中,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述装置执行权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311141568.0A CN117201609B (zh) | 2023-09-05 | 2023-09-05 | 一种面向舰船的采集作动设备数据使用和存储管理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311141568.0A CN117201609B (zh) | 2023-09-05 | 2023-09-05 | 一种面向舰船的采集作动设备数据使用和存储管理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117201609A CN117201609A (zh) | 2023-12-08 |
CN117201609B true CN117201609B (zh) | 2024-02-20 |
Family
ID=88982876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311141568.0A Active CN117201609B (zh) | 2023-09-05 | 2023-09-05 | 一种面向舰船的采集作动设备数据使用和存储管理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117201609B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022115A (zh) * | 2022-05-23 | 2022-09-06 | 中国船舶重工集团公司第七0七研究所九江分部 | 一种基于软总线技术的舰船操控系统通用软件分层架构 |
EP4131005A1 (en) * | 2021-08-04 | 2023-02-08 | Siemens Aktiengesellschaft | A method to query mom objects using mqtt over websocket |
KR20230028100A (ko) * | 2021-08-20 | 2023-02-28 | 대양전기공업 주식회사 | Ip 기반 함정 통합통신 시스템 및 함정 통합네트워크 설계 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10313858B2 (en) * | 2014-07-21 | 2019-06-04 | Convida Wireless, Llc | Service layer interworking using MQTT protocol |
-
2023
- 2023-09-05 CN CN202311141568.0A patent/CN117201609B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4131005A1 (en) * | 2021-08-04 | 2023-02-08 | Siemens Aktiengesellschaft | A method to query mom objects using mqtt over websocket |
KR20230028100A (ko) * | 2021-08-20 | 2023-02-28 | 대양전기공업 주식회사 | Ip 기반 함정 통합통신 시스템 및 함정 통합네트워크 설계 방법 |
CN115022115A (zh) * | 2022-05-23 | 2022-09-06 | 中国船舶重工集团公司第七0七研究所九江分部 | 一种基于软总线技术的舰船操控系统通用软件分层架构 |
Non-Patent Citations (1)
Title |
---|
船舶远程数据监测系统设计与实现;蔡亚刚;山东大学硕士学位论文,2021年第12期;20211215;第2-3章 * |
Also Published As
Publication number | Publication date |
---|---|
CN117201609A (zh) | 2023-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110351257B (zh) | 一种分布式物联网安全接入系统 | |
CN101099345B (zh) | 利用采样和试探在网络元件处解释应用消息的方法和设备 | |
EP3690640B1 (en) | Event stream processing cluster manager | |
CN107454092B (zh) | 一种opcua与dds协议信号转换装置、通信系统及通信方法 | |
WO2019108348A1 (en) | Decomposing tasks through artificial intelligence chaining | |
CN109756559B (zh) | 面向嵌入式机载系统分布式数据分发服务的构建及使用方法 | |
Moodley et al. | A new architecture for the sensor web: The SWAP framework | |
CN110716744A (zh) | 一种数据流处理方法、系统和计算机可读存储介质 | |
Antonini et al. | Fog computing architectures: A reference for practitioners | |
KR101509269B1 (ko) | 분산 연산 기법을 이용한 유비쿼터스 시스템용 미들웨어 장치 | |
CN113709810B (zh) | 一种网络服务质量的配置方法、设备和介质 | |
CN111885439A (zh) | 一种光网络综合管理和值勤管理系统 | |
Wang et al. | Container orchestration in edge and fog computing environments for real-time iot applications | |
Bovet et al. | A web-of-things gateway for knx networks | |
Kafle et al. | Network control and management automation: Architecture standardization perspective | |
WO2019163912A1 (ja) | ネットワークシステム、トポロジ管理方法、およびプログラム | |
CN117201609B (zh) | 一种面向舰船的采集作动设备数据使用和存储管理方法和装置 | |
CN113360386A (zh) | 交换芯片驱动测试方法、装置、电子设备和存储介质 | |
Lelli et al. | The many faces of the integration of instruments and the grid | |
CN115037769B (zh) | 一种基于soa的空中交通管制自动化系统及其实现方法 | |
CN112486706A (zh) | 一种基于mqtt消息驱动机制的物联网本地设备联动方法 | |
CN112799795A (zh) | 业务实现方法、进程管理方法、装置、设备及存储介质 | |
Mandal et al. | Things as a Service: Service model for IoT | |
Skalkowski et al. | Application of the ESB Architecture for Distributed Monitoring of the SLA Requirements | |
Asemani et al. | A comprehensive fog-enabled architecture for iot platforms |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |