CN109547529B - 一种基于dds的分布式工业数据分发方法 - Google Patents

一种基于dds的分布式工业数据分发方法 Download PDF

Info

Publication number
CN109547529B
CN109547529B CN201811203990.3A CN201811203990A CN109547529B CN 109547529 B CN109547529 B CN 109547529B CN 201811203990 A CN201811203990 A CN 201811203990A CN 109547529 B CN109547529 B CN 109547529B
Authority
CN
China
Prior art keywords
data
dds
interface
channel
equipment
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
Application number
CN201811203990.3A
Other languages
English (en)
Other versions
CN109547529A (zh
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.)
719th Research Institute of CSIC
Original Assignee
719th Research Institute of CSIC
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 719th Research Institute of CSIC filed Critical 719th Research Institute of CSIC
Priority to CN201811203990.3A priority Critical patent/CN109547529B/zh
Publication of CN109547529A publication Critical patent/CN109547529A/zh
Application granted granted Critical
Publication of CN109547529B publication Critical patent/CN109547529B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2885Hierarchically arranged intermediate devices, e.g. for hierarchical caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于DDS的分布式工业数据分发方法,包括以下步骤:S1:为每个抽象设备创建设备接口文件;S2:创建订阅发布关系映射表,建立数据订阅者与数据发布者、数据订阅者与DDS主题之间的映射关系;S3:创建实时数据库;S4:采集数据发布者的接口数据并以DDS主题的形式发布到网络中;S5:对DDS主题数据进行解码并将解码后的数据写入实时数据库;S6:根据订阅发布关系映射表反向查找DDS主题对应的数据订阅者,调用数据订阅者的设备接口通知数据订阅者读取DDS主题数据;本发明统一了工业传感器的软件接口,实现一致化的数据采集和输出处理,方便不同型号、类型的传感器、微型设备、虚拟设备、非标设备的集成。

Description

一种基于DDS的分布式工业数据分发方法
技术领域
本发明属于信息物理系统技术领域,更具体地,涉及一种基于DDS的分布式工业数据分发方法。
背景技术
数据分发服务规范(Data Distribution Service,DDS)是一个分布式数据交换的国际标准,采用以主题为中心的订阅发布的通信结构,为高实时、大并发的应用系统提供了低延迟、高吞吐量、高实时、去中心化的通信解决方案,主要应用于国防、电信、航空、高铁等关键、重要领域。
工业数据是指工业场景中的传感器感知特定物理环境的状态和参量生成的相关数据,包括工业传感器所感应物理量的状态、度量、判据等等,常用数值进行量化表示,在信号层面,常表现为弱电流电压信号。这些信号以硬接线的形式连接在可编程逻辑控制器、工业控制计算机等信号处理设备上,这些设备对模拟信号进行数字化,最后以数字信号的形式向外发布。工业数据具有如下特点:(1)时间敏感:工业传感器数据和时间点紧密关联,脱离时间的传感器数据是无意义的;(2)高实时性:工业传感器数据由于直接反应物理系统、设备状态,需要尽快被识别和处理,以满足工业现场工艺流程的要求,因此需要尽可能的缩短工业数据在中间链路上进行转换、处理、路由、传输的时间;(3)大数据量、大并发:工业传感器采集数据的时间间隔相对较小(通常在毫秒级),短时间内会上传大量的数据;同时,大量的传感器采集不同的物理参量汇聚到可编程逻辑控制器和工业控制计算机,对汇聚端设备的数据处理能力也提出了更高的要求。
在工业数据的采集和传输方面,目前已通过OPC(OLE for Process Control)技术标准来统一不同厂商、不同型号的传感器、可编程逻辑控制器的硬件接口,实现了一套软件采集异构传感器相关数据的标准。而在传输方面,则使用主从设备(Master-slave)的模式,通过中心服务器控制多个工控机,并基于传统的串行总线(如RS232/422/485),CAN总线,以太网总线等模式,并进行适应性改造(如高实时、并发)来进行工业传感器数据的传输。基于OPC、主从设备(Master-slave)模式的工业数据采集方法存在以下两方面的不足:首先在接入方面,OPC对于小微型、轻量级物联网传感器设备支持不足,对虚拟设备的接口不够友好(接口繁多、复杂),不利于新兴传感器的快速接入;其次是主从设备的传输模式存在单点失效的问题,无法应对高实时、大并发的数据采集需求。
发明内容
针对现有技术的至少一个缺陷或改进需求,本发明提供了一种基于DDS的分布式工业数据分发方法,其目的在于解决工业控制领域数据采集非标化、多节点数据传输单点失效的问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于DDS的分布式工业数据分发方法,包括以下步骤:
S1:分别为系统中的每个抽象设备创建设备接口文件,所述设备接口文件用于定义所述抽象设备的接口类型、接口参数和接口数据格式;
S2:创建订阅发布关系映射表,建立抽象设备中数据订阅者与数据发布者之间、数据订阅者与数据发布者所发布的DDS主题之间的映射关系;
S3:创建实时数据库并将所述实时数据库划分为与设备接口文件一一对应的多个数据点存储区,根据所述订阅发布关系映射表将所述数据点存储区与数据发布者、数据订阅者的设备接口进行关联;
S4:采集数据发布者的接口数据并以DDS主题的形式发布到网络中;
S5:按照DDS协议对所述DDS主题的接口数据进行解码,并将解码后的数据写入对应的数据点存储区中;
S6:根据所述订阅发布关系映射表反向查找所述DDS主题对应的数据订阅者,调用所述数据订阅者的设备接口以通知数据订阅者读取所述DDS主题数据。
优选的,上述基于DDS的分布式工业数据分发方法,其步骤S3之前还包括以下步骤:根据DDS标准将所述设备接口文件和订阅发布关系映射表转换为DDS数据类型。
优选的,上述基于DDS的分布式工业数据分发方法,其步骤S4包括以下子步骤:
S41:初始化数据发布者的软件接口,并行采集多个数据发布者的接口数据,对所述接口数据进行索引标识后存储到对应的数据点存储区中,并触发发布数据事件;
S42:从所述数据点存储区中取出所述接口数据并将其转换为DDS类型数据,以DDS主题的形式发布到网络中。
优选的,上述基于DDS的分布式工业数据分发方法,其步骤S41中包括以下子步骤:
(1)采集数据发布者的设备接口上的数据;
(2)判断所述设备接口是否绑定了采集通道,若是,则进入步骤3;若否,则进入步骤10;
(3)判断所述采集通道是否遍历完成,若是,则进入步骤10;若否,则开始遍历所有采集通道,进入步骤4;
(4)根据通道配置判断所述采集通道是否存在主键数据点,若是,则进入步骤5;若否,则返回不匹配该采集通道,进入步骤9;
(5)设置通道匹配结果result=true;
(6)判断采集通道的主键数据点是否遍历完成,若是,则返回通道匹配结果result=true,进入步骤9;若否,则进入步骤7;
(7)根据通道的主键数据点配置,从采集的接口数据中解码数据点数据值;
(8)检测所述数据点数据值是否与数据点预设值相等,若是,则返回步骤6;若否,则返回通道匹配结果result=false,返回步骤6;
(9)对匹配采集通道的设备接口数据全部进行解码,并将解码得到的数据值存入采集通道的数据点存储区中,并对采集通道的索引进行登记,返回步骤3;
(10)返回登记的所有与设备接口相匹配的采集通道的索引。
优选的,上述基于DDS的分布式工业数据分发方法,其设备接口文件包括设备描述信息和设备访问信息;
所述设备描述信息用于描述设备类型、配置、内存组数、内存分块、数据点地址和数据点编解码;
所述设备访问信息用于定义应用程序编程接口,用于对设备进行打开、读数据、写数据、关闭操作。
优选的,上述基于DDS的分布式工业数据分发方法,其设备描述信息包括设备属性、通道属性和数据点属性;
所述设备属性包括设备标识符、设备名称和设备配置;
所述通道属性包括通道标识符、通道名称和通道配置;
所述数据点属性包括数据点标识符、数据点名称、是否主键、预设值、偏移量、位偏移量、字节序、数据点类型、最大值、最小值和变换系数。
优选的,上述基于DDS的分布式工业数据分发方法,其设备访问信息包括打开设备接口、读设备接口、写设备接口和关闭设备接口。
优选的,上述基于DDS的分布式工业数据分发方法,其抽象设备包括以太网协议设备、内存设备和数据存储设备。
优选的,上述基于DDS的分布式工业数据分发方法,其实时数据库按照协议簇、协议、字段三级对DDS主题数据进行存储管理,一个协议簇包含若干个协议,一个协议包含若干个字段,一个字段对应一个数据点;
所述协议簇包括上行协议簇和下行协议簇,分别用于存储数据发布者和数据订阅者的接口数据。
优选的,上述基于DDS的分布式工业数据分发方法,其DDS主题包括主题名称、主题类型和主题字段名;所述主题名称和主题类型为通道标识符,所述主题字段名为数据点标识符。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明提供的一种基于DDS的分布式工业数据分发方法,将接入系统节点并在系统中生产数据、消费数据的硬件设备和软件设备统一定义为抽象设备,将抽象设备定义为具有相同的配置接口和程序接口,为每一个抽象设备创建统一、标准化的设备接口文件,统一了工业传感器的软件接口,实现了一致化的数据采集和输出处理;并给出了通用传感器的采集接口框架,提供了一种标准、可扩展的工业数据采集接口规范,方便不同型号、类型、技术方式的传感器、小微型设备、虚拟设备、非标设备的集成。
(2)本发明提供的一种基于DDS的分布式工业数据分发方法,在系统中创建了实时数据库并将其划分为与抽象设备一一对应的多个数据点存储区,并根据订阅发布关系映射表将数据点存储区与数据发布者、数据订阅者的设备接口进行关联,将不同抽象设备产生的数据分区存储,提高数据的可识别性,便于对数据进行检索;将抽象设备的设备接口与对应的数据点存储区相关联,可提高数据读写时的效率;
(3)本发明提供的一种基于DDS的分布式工业数据分发方法,提供了一种去中心化、无中心服务器节点的数据传输方法,实现了大批量的、异构、非标传感器统一的、网络化的接入,实现了数据传输的去中心化,避免系统出现单点失效,提高了分布式环境下工业数据采集的稳定性和可靠性,同时,去掉了数据传输过程中的中转阶段,按用户主题进行数据的发布订阅,提高了系统的鲁棒性,够满足多样化的用户需求。
(4)本发明提供的一种基于DDS的分布式工业数据分发方法,作为中间件技术,统一了上层应用的软件接口,并内置了部分接口实现,包括面向以太网协议的TCP/IP接口、面向实时监控的共享内存接口以及面向数据存储的数据库接口,并且这些内置接口的规格形式和传感器的接口保持高度一致,统一进行配置,降低了系统的使用成本和学习成本,提高了系统的集成能力和可维护性;该方法以DDS为基础,吸收了OPC技术特征,简化了传感器设备接入的相关接口,增加了大并发数据采集支持。同时,面向物联网领域的相关应用(实时数据监控、实时数据存储、大数据分析),提供了相关的技术框架支持。解决工业数据采集传输过程中的异构接口、高延时、小并发、中心化的问题。
附图说明
图1是本发明实施例提供的基于DDS的分布式工业数据分发方法的流程图;
图2是本发明实施例提供的基于DDS的分布式工业数据分发系统的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明所提供的一种基于DDS的分布式工业数据分发方法,如图1所示,包括以下步骤:
S1:分别为系统中的每个抽象设备创建设备接口文件,所述设备接口文件用于定义所述抽象设备的接口类型、接口参数和接口数据格式;
图2所示是本发明实施例提供的基于DDS的分布式工业数据分发系统的结构图,如图2所示,该分发系统具有网络拓扑结构,拓扑结构中每一个实施本发明的分发方法的计算机设备命名为一个节点,该计算机设备包括但不限于可编程逻辑控制器、工业控制计算机;各节点以对等网络的方式组成分布式系统,每个节点上通过模拟信号链路或者标准以太网挂载若干抽象设备,抽象设备包括两类:一是传感器类,包括传感器、智能设备、其他非标设备;二是应用系统类。图2所示的拓扑结构中给出了具有代表性的三类节点:节点1全部挂载应用系统类设备,节点2全部挂载传感器类设备,节点3混合挂载传感器类和应用系统类设备。本发明将接入系统节点,并在系统中生产数据、消费数据的硬件设备和软件设备统一定义为抽象设备,这些抽象设备都具有相同的配置接口和程序接口;其中,传感器类硬件设备为具有模拟或数字量接口,一次生产信号和数据的硬件设备;应用系统类软件设备为具有网络接口或程序接口,消费、处理以及二次生产数据的软件应用。
在节点上为每一个抽象设备创建统一、标准化的设备接口文件,该设备接口文件与抽象设备一一对应,用于定义抽象设备的接口类型、接口参数、接口数据格式等内容。抽象设备包括若干个通道,每个通道包括若干个数据点,抽象设备的表现形式是一组固定大小的计算机内存,一个抽象设备可以有一个或多个不同固定大小的计算机内存,以满足不同级别(传感器级别和应用系统级别)的应用要求。从功能层面来讲,抽象设备包括以太网协议设备、内存设备和数据存储设备;其中,以太网协议设备主要是针对使用UDP协议的设备,一个设备对应一个UDP端口,该端口可收发多种不同格式的协议数据,一个通道和一种协议格式相对应,以太网协议设备的配置字符串为:udp,IP地址,端口号。内存设备是设备内存区的直接映射,主要用于应用系统实时读取数据点进行计算处理,内存设备的配置字符串为:mem,更新毫秒数。数据存储设备主要针对实时数据的存储需求,任何发往该设备的数据均会按照时间顺序,写入数据库中;数据存储设备的配置字符串为:dao,数据库IP,数据库端口,用户名,密码,数据库名称。
设备接口文件包括描述信息和访问信息两方面的信息,其描述信息用于描述设备类型、配置、内存组数、内存分块、数据点地址和数据点编解码等信息,访问信息定义了一组标准的应用程序编程接口,用于对设备进行打开、读数据、写数据、关闭操作;
其中,抽象设备的描述信息包括设备、通道和数据点三个层次;一个抽象设备由一个或多个通道组成、一个通道由一个或多个数据点组成,使设备的描述信息形成多叉树结构,每个层次的描述信息包括若干属性;表1、表2、表2分别是设备层次、通道层次、数据点层次的属性列表。
其中,设备层次的描述信息包含的属性为:设备标识符、设备名称和设备配置;
通道层次的描述信息包含的属性为:通道标识符、通道名称和通道配置;通道标识符id同时也作为DDS主题的主题名称和主题类型名称;
数据点层次的描述信息包含的属性为:数据点标识符、数据点名称、是否主键、预设值、偏移量、位偏移量、字节序、数据点类型、最大值、最小值和变换系数。数据点标识符id同时也作为DDS主题的主题字段名。
表1设备层次的属性列表
Figure BDA0001830741870000061
Figure BDA0001830741870000071
表2通道层次的属性列表
Figure BDA0001830741870000072
表3数据点层次的属性列表
Figure BDA0001830741870000073
Figure BDA0001830741870000081
本实施例中,采用XML标记语言对设备信息进行描述,其基本格式如表4所示;
表4XML标记语言的设备描述信息
Figure BDA0001830741870000082
抽象设备的访问信息由一组应用程序编程接口组成,包括打开设备接口、读设备接口、写设备接口和关闭设备接口,分别用于对设备执行打开、读数据、写数据、关闭操作;表5、表6、表7、表8所示分别为打开设备接口、读设备接口、写设备接口和关闭设备接口的应用程序形式;
表5打开设备接口的程序
Figure BDA0001830741870000083
表6读设备接口的程序
Figure BDA0001830741870000091
表7写设备接口的程序
Figure BDA0001830741870000092
表8关闭设备接口的程序
Figure BDA0001830741870000093
S2:创建订阅发布关系映射表,建立抽象设备中数据订阅者与数据发布者之间、数据订阅者与数据发布者所发布的DDS主题之间的映射关系;
订阅发布关系映射表是以节点为单位,集中反映本节点对数据的发布订阅关系;首先定义抽象设备的角色,所有物理挂载在本节点,需要上传数据到网络中的设备,在本节点都被定义成数据发布者;所有物理挂载在本节点,需要下载(或输出)数据到传感器和应用系统的设备,在本节点都被定义成数据订阅者;本节点上同一标识的设备可以既定义成数据发布者又定义成数据订阅者,每个节点中存在若干个数据发布者与数据订阅者。本节点上定义的数据发布者标识必须全局唯一,不能重名,设备不能重复定义成数据发布者。本节点上定义的数据订阅者标识必须全局唯一,不能重名,设备不能重复定义成数据订阅者。然后定义抽象设备中数据订阅者与数据发布者之间、以及数据订阅者所订阅的数据发布者的DDS主题之间的映射关系,由于一个数据发布者可能具有一个或多个DDS主题,因此还需要事先定义数据发布者与其所订阅的一个或多个DDS主题之间的对应关系。
使用XML描述节点上设备的发布订阅关系如表9所示;
表9使用XML描述节点上设备的发布订阅关系
Figure BDA0001830741870000101
S3:根据DDS标准将上述设备接口文件和订阅发布关系映射表转换为DDS数据类型;
DDS具有专用的数据类型,设备接口文件和订阅发布关系映射表都需要转化为节点可处理的DDS数据类型;数据点类型和DDS基本类型的转换关系如表10所示;
表10数据点类型和DDS类型转换关系表
序号 数据点类型 DDS类型
1. bit DDS_TK_BOOLEAN
2. char DDS_TK_char
3. uchar DDS_TK_char
4. short DDS_TK_SHORT
5. ushort DDS_TK_USHORT
6. int DDS_TK_LONG
7. uint DDS_TK_ULONG
8. long DDS_TK_LONGLONG
9. ulong DDS_TK_ULONGLONG
10. float DDS_TK_FLOAT
11. double DDS_TK_DOUBLE
S4:创建实时数据库并将该实时数据库划分为与设备接口文件一一对应的多个数据点存储区,根据订阅发布关系映射表将数据点存储区与数据发布者、数据订阅者的设备接口进行关联;
实时数据库是实现设备抽象的核心,也是所有数据点的转发缓存区,集中存储了节点上所有的数据点。根据抽象设备的个数将实时数据库划分为多个数据点存储区,每个数据点存储区对应一个抽象设备;根据订阅发布关系映射表将数据点存储区与对应的数据发布者、数据订阅者的设备接口进行关联,数据发布者发布的DDS主题数据暂存在其对应的数据点存储区中;
数据点存储区按照协议簇、协议、字段三级对数据点进行管理,一个协议簇对应一个抽象设备,且包括若干个协议,一个协议包括若干个字段,一个字段对应一个数据点。采用列表+索引的形式对所有的协议簇、协议和字段进行统一管理,协议簇包括上行协议簇和下行协议簇,分别对应数据发布者和数据订阅者。
S5:采集数据发布者的接口数据并以DDS主题的形式发布到网络中;具体包括以下子步骤:
S51:采集数据:初始化数据发布者的软件接口,并行采集多个数据发布者的接口数据并分别存储到对应的数据点存储区中,并触发发布数据事件;
节点根据数据发布者的数量进行多路、并行地数据采集;根据不同的设备类型和配置,调用相应的API接口来执行数据采集动作,采集的接口数据以内存块的形式展现,对接口数据进行索引标识后存入对应的数据点存储区中,数据订阅者读取数据时需要使用该索引;将采集的接口数据存储到数据点存储区的过程包括以下步骤:
(1)读取设备接口上的数据;
(2)判断设备接口是否绑定了采集通道,若是,则进入步骤3;若否,表明该设备接口的数据无需进行存储及发布,则进入步骤10;
(3)判断采集通道是否遍历完成,若是,则进入步骤10;若否,则开始遍历所有采集通道,进入步骤4;
(4)根据通道配置判断该采集通道是否存在主键数据点,若是,则进入步骤5;若否,则返回不匹配该采集通道,进入步骤9;
(5)设置通道匹配结果result=true;
(6)判断采集通道的主键数据点是否遍历完成,若是,则返回通道匹配结果result=true,进入步骤9;若否,则进入步骤7;
(7)根据通道的主键数据点配置,从采集的设备接口数据中解码数据点数据值;
(8)检测解码得到的数据点数据值是否与数据点预设值(preset)相等,若是,则返回步骤6;若否,则返回通道匹配结果result=false,返回步骤6;
(9)对匹配采集通道的设备接口数据全部进行解码,并将解码得到的数据值以双精度浮点数的形式放入匹配通道的数据点存储区中,并对匹配通道的索引进行登记,返回步骤3;
(10)返回登记的所有与设备接口相匹配的采集通道的索引。
S52:发布数据:发布事件触发后,系统从数据点存储区中取出接口数据并将其转换为DDS类型数据,然后以DDS主题的形式发布到网络中,DDS主题包括主题名称、主题类型和主题字段名;其中,主题名称和主题类型为数据发布者的通道标识符,主题字段名为数据发布者的数据点标识符。
S6:按照DDS协议规格对DDS主题的数据进行解码,并将解码后的数据写入对应的数据点存储区中;
若发布到网络中的DDS主题记录在订阅发布关系映射表中(已被数据订阅者订阅),则节点可接收该DDS主题对应的接口数据;节点创建与DDS主题对应的DDS接收通道,每个DDS接收通道都与实时数据库中一个或若干个协议(一个协议簇)绑定。节点通过DDS通道接收DDS主题对应的接口数据并按照DDS协议规格对其进行解码,解码后的数据存储在数据点存储区中;若该DDS主题是未被订阅的主题,则与该DDS主题对应的接口数据不会存储在实时数据库中;
S7:系统根据订阅发布关系映射表反向查找DDS主题对应的数据订阅者,调用数据订阅者的设备接口以通知数据订阅者读取DDS主题数据,进行后续处理。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于DDS的分布式工业数据分发方法,适用于具有网络拓扑结构的分发系统,所述分发系统包括多个节点,各所述节点以对等网络的方式组成分布式系统,每个节点上挂载若干抽象设备;其特征在于,包括以下步骤:
S1:将所述抽象设备定义为具有相同的配置接口和程序接口,分别为系统每个节点中的每个抽象设备创建设备接口文件,所述设备接口文件用于定义所述抽象设备的接口类型、接口参数和接口数据格式;该设备接口文件包括设备描述信息和设备访问信息,所述设备描述信息包括设备属性、通道属性和数据点属性;一个抽象设备由一个或多个通道组成、一个通道由一个或多个数据点组成,使设备的描述信息形成多叉树结构;
S2:创建订阅发布关系映射表,建立抽象设备中数据订阅者与数据发布者之间、数据订阅者与数据发布者所发布的DDS主题之间的映射关系;
S3:创建实时数据库并将所述实时数据库划分为与设备接口文件一一对应的多个数据点存储区,根据所述订阅发布关系映射表将所述数据点存储区与数据发布者、数据订阅者的设备接口进行关联;数据点存储区按照协议簇、协议、字段三级对数据点进行管理,一个协议簇对应一个抽象设备且包括若干个协议,一个协议包括若干个字段,一个字段对应一个数据点;采用列表+索引的形式对所有的协议簇、协议和字段进行统一管理;
S4:采集数据发布者的接口数据并以DDS主题的形式发布到网络中;
S5:节点创建与DDS主题对应的DDS接收通道,每个所述DDS接收通道与数据点存储区中一个或若干个协议绑定;节点通过DDS通道接收DDS主题对应的接口数据并按照DDS协议对其进行解码,并将解码后的数据写入对应的数据点存储区中;
S6:根据所述订阅发布关系映射表反向查找所述DDS主题对应的数据订阅者,调用所述数据订阅者的设备接口以通知数据订阅者读取所述DDS主题数据。
2.如权利要求1所述的基于DDS的分布式工业数据分发方法,其特征在于,步骤S3之前还包括以下步骤:根据DDS标准将所述设备接口文件和订阅发布关系映射表转换为DDS数据类型。
3.如权利要求1或2所述的基于DDS的分布式工业数据分发方法,其特征在于,步骤S4包括以下子步骤:
S41:初始化数据发布者的软件接口,并行采集多个数据发布者的接口数据,对所述接口数据进行索引标识后存储到对应的数据点存储区中,并触发发布数据事件;
S42:从所述数据点存储区中取出所述接口数据并将其转换为DDS类型数据,以DDS主题的形式发布到网络中。
4.如权利要求3所述的基于DDS的分布式工业数据分发方法,其特征在于,步骤S41中包括以下子步骤:
(1)采集数据发布者的设备接口上的数据;
(2)判断所述设备接口是否绑定了采集通道,若是,则进入步骤3;若否,则进入步骤10;
(3)判断所述采集通道是否遍历完成,若是,则进入步骤10;若否,则开始遍历所有采集通道,进入步骤4;
(4)根据通道配置判断所述采集通道是否存在主键数据点,若是,则进入步骤5;若否,则返回不匹配该采集通道,进入步骤9;
(5)设置各采集通道的通道匹配结果;
(6)判断采集通道的主键数据点是否遍历完成,若是,则返回通道匹配结果为匹配,进入步骤9;若否,则进入步骤7;
(7)根据通道的主键数据点配置,从采集的接口数据中解码数据点数据值;
(8)检测所述数据点数据值是否与数据点预设值相等,若是,则返回步骤6;若否,则返回通道匹配结果为不匹配,返回步骤6;
(9)对匹配采集通道的设备接口数据全部进行解码,并将解码得到的数据值存入采集通道的数据点存储区中,并对采集通道的索引进行登记,返回步骤3;
(10)返回登记的所有与设备接口相匹配的采集通道的索引。
5.如权利要求1所述的基于DDS的分布式工业数据分发方法,其特征在于,所述设备描述信息用于描述设备类型、配置、内存组数、内存分块、数据点地址和数据点编解码;
所述设备访问信息用于定义应用程序编程接口,用于对设备进行打开、读数据、写数据、关闭操作。
6.如权利要求5所述的基于DDS的分布式工业数据分发方法,其特征在于,所述设备属性包括设备标识符、设备名称和设备配置;
所述通道属性包括通道标识符、通道名称和通道配置;
所述数据点属性包括数据点标识符、数据点名称、是否主键、预设值、偏移量、位偏移量、字节序、数据点类型、最大值、最小值和变换系数。
7.如权利要求5或6所述的基于DDS的分布式工业数据分发方法,其特征在于,所述设备访问信息包括打开设备接口、读设备接口、写设备接口和关闭设备接口。
8.如权利要求1所述的基于DDS的分布式工业数据分发方法,其特征在于,所述抽象设备包括以太网协议设备、内存设备和数据存储设备。
9.如权利要求1所述的基于DDS的分布式工业数据分发方法,其特征在于,所述协议簇包括上行协议簇和下行协议簇,分别用于存储数据发布者和数据订阅者的接口数据。
10.如权利要求1所述的基于DDS的分布式工业数据分发方法,其特征在于,所述DDS主题包括主题名称、主题类型和主题字段名;所述主题名称和主题类型为通道标识符,所述主题字段名为数据点标识符。
CN201811203990.3A 2018-10-16 2018-10-16 一种基于dds的分布式工业数据分发方法 Active CN109547529B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811203990.3A CN109547529B (zh) 2018-10-16 2018-10-16 一种基于dds的分布式工业数据分发方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811203990.3A CN109547529B (zh) 2018-10-16 2018-10-16 一种基于dds的分布式工业数据分发方法

Publications (2)

Publication Number Publication Date
CN109547529A CN109547529A (zh) 2019-03-29
CN109547529B true CN109547529B (zh) 2021-08-06

Family

ID=65844322

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811203990.3A Active CN109547529B (zh) 2018-10-16 2018-10-16 一种基于dds的分布式工业数据分发方法

Country Status (1)

Country Link
CN (1) CN109547529B (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110300098A (zh) * 2019-05-27 2019-10-01 东南大学 矿山电力数据通信方法
CN110086891B (zh) * 2019-06-25 2019-09-27 奥特酷智能科技(南京)有限公司 基于dds协议在自动驾驶中实现分布式通信的方法
CN110764479B (zh) * 2019-10-31 2021-02-12 上海埃威航空电子有限公司 基于dds的多智能体中间平台系统及其控制方法
TWI774110B (zh) * 2019-11-29 2022-08-11 凌華科技股份有限公司 適於工業自動化設備之共享記憶體的資料分發服務之系統及其運作方法
CN112887356A (zh) * 2019-11-29 2021-06-01 凌华科技股份有限公司 共享內存的数据分发服务的系统及其运作方法
CN111131405A (zh) * 2019-12-06 2020-05-08 江西洪都航空工业集团有限责任公司 一种针对多种数据类型的分布式数据采集系统
CN113094614A (zh) * 2019-12-23 2021-07-09 中国移动通信集团湖南有限公司 一种数据分发方法、系统及装置
CN111200533A (zh) * 2020-01-07 2020-05-26 上海航天计算机技术研究所 基于OpenDDS的分布式网络配置部署方法
CN114640729A (zh) * 2020-12-16 2022-06-17 中国移动通信有限公司研究院 一种通信方法、通信设备及计算机可读存储介质
CN113079087B (zh) * 2021-03-31 2022-11-22 上海天旦网络科技发展有限公司 互联数据网关、基于互联数据网关的数据处理系统和方法
CN113378230A (zh) * 2021-07-05 2021-09-10 东南大学 一种dds分布式系统的数据访问控制方法
CN114019837A (zh) * 2021-08-30 2022-02-08 浪潮软件科技有限公司 一种去差异化的数据采集系统及方法
CN113949541B (zh) * 2021-09-30 2022-10-11 南京航空航天大学 一种基于属性策略的dds安全通信中间件设计方法
CN113645086A (zh) * 2021-10-18 2021-11-12 四川旷谷信息工程有限公司 控制设备的数据通信方法、装置及其介质
CN114025026A (zh) * 2021-10-25 2022-02-08 中国航空无线电电子研究所 基于xml数据描述的面向数据分发服务的收发方法和装置
CN114553657B (zh) * 2022-02-09 2024-01-30 北京润科通用技术有限公司 一种数据管理方法及装置
EP4332772A1 (de) * 2022-08-30 2024-03-06 Siemens Aktiengesellschaft Data distribution service-fähiger controller
CN115550439B (zh) * 2022-11-29 2023-04-11 杭州涂鸦信息技术有限公司 事件管理系统及方法
CN115934848A (zh) * 2023-03-02 2023-04-07 中国科学院沈阳计算技术研究所有限公司 基于redis的工业控制与虚拟电厂实时交互控制系统
CN116627081B (zh) * 2023-07-21 2023-11-14 小米汽车科技有限公司 车辆功能配置方法、装置、车辆、介质及芯片

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014060361A1 (en) * 2012-10-16 2014-04-24 Thomson Licensing Network for multimedia control comprising functional entities having publisher and/or subscriber functionality, and method for initiating a multimedia session
CN105138339A (zh) * 2015-09-10 2015-12-09 中国航空无线电电子研究所 一种基于dds规范的分布式通信中间件开发方法
CN105407024A (zh) * 2015-09-23 2016-03-16 中国电子科技集团公司第二十九研究所 一种基于发布订阅通信机制的异构数据互通方法及装置
CN105812317A (zh) * 2014-12-29 2016-07-27 国家电网公司 一种基于数据分发服务规范的智能变电站报文映射方法
CN108173948A (zh) * 2017-12-29 2018-06-15 中国船舶重工集团公司第七〇九研究所 一种分布式试验数据实时交换方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014060361A1 (en) * 2012-10-16 2014-04-24 Thomson Licensing Network for multimedia control comprising functional entities having publisher and/or subscriber functionality, and method for initiating a multimedia session
CN105812317A (zh) * 2014-12-29 2016-07-27 国家电网公司 一种基于数据分发服务规范的智能变电站报文映射方法
CN105138339A (zh) * 2015-09-10 2015-12-09 中国航空无线电电子研究所 一种基于dds规范的分布式通信中间件开发方法
CN105407024A (zh) * 2015-09-23 2016-03-16 中国电子科技集团公司第二十九研究所 一种基于发布订阅通信机制的异构数据互通方法及装置
CN108173948A (zh) * 2017-12-29 2018-06-15 中国船舶重工集团公司第七〇九研究所 一种分布式试验数据实时交换方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于实时数据分发服务的智能变电站IEC_61850的实现方法;毕艳冰等;《中国电机工程学报》;20130305;第1-2节 *

Also Published As

Publication number Publication date
CN109547529A (zh) 2019-03-29

Similar Documents

Publication Publication Date Title
CN109547529B (zh) 一种基于dds的分布式工业数据分发方法
CN112099948B (zh) 数字孪生制造单元协议标准化与工业大数据实时集成方法
CN109492040B (zh) 一种适用于数据中心海量短报文数据处理的系统
CN111787066A (zh) 一种基于大数据、ai的物联网数据平台
CN106815338A (zh) 一种大数据的实时存储、处理和查询系统
CN108604236A (zh) 语义物联网的restful操作
CN107734066A (zh) 一种数据中心综合管理系统服务治理方法
CN106909641B (zh) 一种实时数据存储器
CN111881223B (zh) 数据管理方法、设备、系统及存储介质
CN102033912A (zh) 一种分布式数据库访问方法及系统
CN107480252A (zh) 一种数据查询方法、客户端、服务端及系统
CN107682209A (zh) 一种sdp大数据自动化部署监控平台
EP2171619A1 (en) Database system with multiple layer distribution
CN110191138A (zh) 一种面向工业制造的边缘计算智能适配器及实现方法
CN105681285A (zh) 一种异构工业信号源信息获取方法
CN104967686A (zh) 一种构建面型3s智慧服务商店系统及其设计方法
CN103886508A (zh) 海量农田数据的监控方法和系统
CN107656951A (zh) 一种同步异构数据库系统中实时数据的方法
CN106874160A (zh) 日志服务器及其管理方法
Antunes et al. Scalable semantic aware context storage
CN104199978A (zh) 基于NoSQL实现元数据缓存与分析的系统及方法
CN113608952B (zh) 一种基于日志构建支持环境的系统故障处理方法及系统
CN114760368A (zh) 数据传输方法及相关设备
CN112463755B (zh) 基于hdfs的异构物联网大数据的存储与读取系统及方法
Pu et al. Practical implementation of an OPC UA multi-server aggregation and management architecture for IIoT

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