CN112615930B - 多节点数据同步分发方法、装置、设备及存储介质 - Google Patents
多节点数据同步分发方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112615930B CN112615930B CN202011560728.1A CN202011560728A CN112615930B CN 112615930 B CN112615930 B CN 112615930B CN 202011560728 A CN202011560728 A CN 202011560728A CN 112615930 B CN112615930 B CN 112615930B
- Authority
- CN
- China
- Prior art keywords
- data
- node
- terminal node
- channel
- terminal
- 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
Images
Classifications
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- 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
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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
-
- 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/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total 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)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种多节点数据同步分发方法及装置,所述方法包括:控制节点与多个终端节点间建立一条的实时通道,所述实时通道是基于TSN调度的时间片;控制节点把待发送给各终端节点的下行数据组成下行数据单元,所述下行数据单元封装在所述实时通道的通道报文中,所述通道报文通过所述实时通道同步向各终端节点发送,从而实现控制节点各终端节点数据的实时同步分发。本发明还提供各终端节点同步向控制节点发送上行数据的方法及装置。本发明还相应提供了实现上述方法的设备和存储介质。本发明用于工业控制的同步控制,提高工业精准控制效果。
Description
技术领域
本申请涉及工业控制的网络技术领域,特别是涉及基于TSN的多节点数据同步发送和接收方法及装置。
背景技术
在工业控制的网络中,其中心控制器通过以太网连接到终端的控制器及传感器。通过采集终端现场数据,经过运算,形成控制调整策略,然后下发到各个终端控制器进行调整。网络同时承载着网络管理、监控数据及文件传输等非调整控制类型的数据。
在工业控制过程中,各个终端现场的数据采集及下发到各个终端的调整参数,在时间上越是同步,运算速度越快,效果会越好。如果时间偏差过大,会出现调整参数失效的情况。达不到预期的调整效果。
基于当前工业控制的网络拓扑,中心控制器与终端节点的通信协议多采用主从方式的点对点的协议,如Modbus-TCP。在这种模式下,数据的采集和策略的下发,需要中心控制器采用轮询的方式与各个终端节点进行通信。这样在终端节点数量多的情况下,会导致通信效率降低,数据因同步及时效偏差过大失效。
发明内容
有鉴于此,本发明提供了基于TSN的多节点数据同步分发方法,实现工业控制网络多节点数据的同步性和实时性,本发明还相应地提供了基于TSN的多节点数据同步分发装置。
第一方面,提供了一种多节点数据同步分发方法,控制节点与多个终端节点建立一条虚拟的实时通道;控制节点根据待发送给各终端节点的数据构建一下行数据单元,并封装于一通道报文中;控制节点通过所述实时通道向各终端节点发送所述通道报文;所述实时通道为控制节点与各终端节点间、基于TSN分配的一个时间片。
由上,所述实时通道所对应的时间片是TSN调度的时间片,控制节点把待发送给各所述终端节点的下行数据集成起来并组成下行数据单元,通过所述实时通道向各终端节点同步发送下行数据,从而发给所有终端节点的下行数据均在TSN网络调度的一个时间片内发送。而普通TSN网络中控制节点给其他每一个节点发送下行数据都必须分别占用一个所述时间片,基于上述方法,所述控制节点实现了向各终端节点同步发送下行数据,在用于工业控制的网络中实现同步控制终端节点。
根据第一方面,在所述多节点数据同步分发方法的第一种可能的实现方式中,构建所述下行数据单元时,包括下面之一,该下行数据单元中,对应所述待发送给各终端节点的数据添加有相应的各终端节点标识;该下行数据单元中,所述待发送给各终端节点的数据基于第一顺序排列;所述第一顺序为所述控制节点与各终端节点约定的顺序。
由上,所述控制节点基于所述标识或所述约定顺序把所述待发送给各终端节点的数据封装于所述下行数据单元中而发送,基于上述方法,在工业控制的网络中,所述控制节点在所述实时通道对应的时间片内同步向各终端节点同步发送下行数据,实现同步控制。
根据第一方面,在所述多节点数据同步分发方法的第二种可能的实现方式中,所述待发送给各终端节点的数据的类型为反馈结果类指令、且应用的网络类型为环形、菊花链或其混合的网络时,所述方法还包括,所述控制节点通过所述实时通道接收经过各终端节点后的所述通道报文;所述控制节点解封装所述经过各终端节点的所述通道报文获得所包含的一上行数据单元,并从该上行数据单元中提取各终端节点发送的数据。
由上,所述实时通道的通道报文的上行数据单元包含了各终端节点通过所述实时通道向控制节点同步发送上行数据,从而控制节点从所述实时通道对应的一个时间片接收各终端节点发送的上行数据,而普通TSN网络中必须分别占用一个所述时间片接收不同终端节点发送上行数据,因此,基于上述方法,本发明的控制节点同步接收各终端节点发送的上行数据,在用于工业控制的网络中实现同步采集各终端节点测量数据或命令处理结果。
根据第一方面的第二种可能的实现方式,在所述多节点数据同步分发方法的第三种可能的实现方式中,所述提取各终端节点发送的数据时,包括下面之一,该上行数据单元中,对应各终端节点的数据具有相应的各终端节点标识;根据各终端节点标识提取各终端节点发送的数据;该上行数据单元中,各终端节点的数据基于第二顺序排列;所述第二顺序为所述控制节点与各终端节点约定的顺序;根据所述第二顺序提取各终端节点发送的数据。
由上,控制节点从所述通道报文的上行数据单元中基于终端节点的标识或按照约定顺序依次,提取各所述终端节点把待发送的上行数据。因此,基于上述方法,在工业控制网络中控制节点实现同步采集各终端节点的测量数据或命令运行结果。
第二方面,提供了一种多节点数据同步分发方法,各终端节点通过一实时通道接收一通道报文;所述实时通道为控制节点与各终端节点间、基于TSN分配的一个时间片;各终端节点分别解封装所述通道报文获得所包含的一下行数据单元,并从该下行数据单元中提取发送给自己的数据。
由上,因为所述通道报文的下行数据单元包含了发送给所有所述终端节点的下行数据,从而各所述终端节点在所述实时通道对应的同一时间片内同步接收同源的所述下行数据单元。而普通TSN网络中,各所述终端节点分别在不同的等同于所述实时通道对应的时间片接收数据,因此,基于上述方法,各所述终端节点在所述实时通道对应的时间片内同步接收数据,在用于工业控制的网络中实现同步接收控制命令,同步受控操作。
根据第二方面,在所述多节点数据同步分发方法的第一种可能的实现方式中,所述提取发送给自己的数据时,包括下面之一,根据该下行数据单元中具有的对应各终端节点的数据的各终端节点标识,提取对应该终端节点标识的数据;根据该下行数据单元中的各终端节点的数据的排列的第一顺序,提取对应该终端节点位置的数据;所述第一顺序为所述控制节点与各终端节点约定的顺序。
由上,各所述终端节点从所述下行数据单元中基于所述标识或所述约定顺序能够识别和提取发送给本身的下行数据。因此,基于上述方法,各所述终端节点在所述第一通道对应的时间片内同步从所述下行数据单元中提取数据,实现同步接收命令。
根据第二方面,在所述多节点数据同步分发方法的第二种可能的实现方式中,当应用的网络类型为环形、菊花链或其混合的网络时,终端节点当从下行数据单元中提取发送给自己的数据时,所述方法还包括,终端节点若有待发送给控制节点的上行数据时,判断所述通道报文中是否已包含上行数据单元,若是,将其待发送的数据添加到所述的上行数据单元中,重新封装于所述通道报文中通过所述实时通道向下一节点发送;否则,根据待发送给控制节点的数据构建一上行数据单元,并将其封装于所述通道报文中通过所述实时通道向下一节点发送。
由上,所述实时通道所对应的时间片是TSN调度的时间片,各终端节点通过所述实时通道向控制节点同步发送上行数据示为所有终端节点的上行数据均在TSN网络调度的的时间片内发送。而普通TSN网络中各终端节点必须分别占用一个所述时间片发送上行数据,因此,基于上述方法,本发明的各终端节点实现了向控制节点同步发送上行数据,在用于工业控制的网络中实现同步汇报采集数据或处理结果。
根据第二方面的第二种可能的实现方式中,在所述多节点数据同步分发方法的第三种可能的实现方式中,将待发送的数据添加到所述的上行数据单元时,包括下面之一,该上行数据单元中,对应添加所述待发送的数据添加有该终端节点的标识;该上行数据单元中,基于第二顺序所对应的位置添加所述待发送的数据;所述第二顺序为所述控制节点与各终端节点均知道的顺序。
由上,各所述终端节点把待发送的上行数据增加终端节点的标识或按照约定顺序依次添加到从所述通道报文的下行数据单元中。因此,基于上述方法,在工业控制网络中,各所述终端节点实现同步发送各终端节点的测量数据或命令运行结果。
第三方面,提供了一种多节点数据同步分发装置,包括,包括,
通道配置模块,用于由控制节点建立一条虚拟的实时通道;所述实时通道是为控制节点与各终端节点间、基于TSN分配的一个时间片;第一数据封装模块,用于由控制节点根据待发送给各终端节点的数据构建一下行数据单元,并封装于一通道报文中;第一数据发送模块,用于由控制节点通过所述实时通道发送所述通道报文。
由上,所述实时通道所对应的时间片是TSN调度的时间片,控制节点把待发送给各所述终端节点的下行数据集成起来并组成下行数据单元,通过所述实时通道向各终端节点同步发送下行数据,从而发给所有终端节点的下行数据均在TSN网络调度的一个时间片内发送。而普通TSN网络中控制节点给其他每一个节点发送下行数据都必须分别占用一个所述时间片,基于上述装置,所述控制节点实现了向各终端节点同步发送下行数据,在用于工业控制的网络中实现同步控制终端节点。
根据第三方面,在所述多节点数据同步分发装置的第一种可能的实现方式中,构建所述下行数据单元时,包括下面之一,该下行数据单元中,对应所述待发送给各终端节点的数据添加有相应的各终端节点标识;该下行数据单元中,所述待发送给各终端节点的数据基于第一顺序排列;所述第一顺序为所述控制节点与各终端节点约定的顺序。
由上,所述控制节点基于所述标识或所述约定顺序把所述待发送给各终端节点的数据封装于所述下行数据单元中而发送,基于上述装置,在工业控制的网络中,所述控制节点在所述实时通道对应的时间片内同步向各终端节点同步发送下行数据,实现同步控制。
根据第三方面,在所述多节点数据同步分发装置的第二种可能的实现方式中,所述待发送给各终端节点的数据的类型为反馈结果类指令、且应用的网络类型为环形、菊花链或其混合的网络时,所述装置还包括,第二数据接收模块,用于由控制节点通过所述实时通道接收经过各终端节点后的所述通道报文;第二数据提取模块,用于由控制节点解封装所述经过各终端节点的所述通道报文获得所包含的一上行数据单元,并从该上行数据单元中提取各终端节点发送的数据。
由上,所述实时通道的通道报文的上行数据单元包含了各终端节点通过所述实时通道向控制节点同步发送上行数据,从而控制节点从所述实时通道对应的一个时间片接收各终端节点发送的上行数据,而普通TSN网络中必须分别占用一个所述时间片接收不同终端节点发送上行数据,因此,基于上述装置,本发明的控制节点同步接收各终端节点发送的上行数据,在用于工业控制的网络中实现同步采集各终端节点测量数据或命令处理结果。
根据第三方面的第二种可能的实现方式,在所述多节点数据同步分发装置的第三种可能的实现方式中,所述提取各终端节点发送的数据时,包括下面之一,该上行数据单元中,对应各终端节点的数据具有相应的各终端节点标识;根据各终端节点标识提取各终端节点发送的数据;该上行数据单元中,各终端节点的数据基于第二顺序排列;所述第二顺序为所述控制节点与各终端节点约定的顺序;根据所述第二顺序提取各终端节点发送的数据。
由上,控制节点从所述通道报文的上行数据单元中基于终端节点的标识或按照约定顺序依次,提取各所述终端节点把待发送的上行数据。因此,基于上述装置,在工业控制网络中控制节点实现同步采集各终端节点的测量数据或命令运行结果。
第四方面,提供了一种多节点数据同步分发装置,包括,第一数据接收模块,用于由各终端节点通过一实时通道接收一通道报文;所述实时通道为控制节点与各终端节点间、基于TSN分配的一个时间片;第一数据提取模块,用于由各终端节点分别解封装所述通道报文获得所包含的一下行数据单元,并从该下行数据单元中提取发送给自己的数据。
由上,因为所述通道报文的下行数据单元包含了发送给所有所述终端节点的下行数据,从而各所述终端节点在所述实时通道对应的同一时间片内同步接收同源的所述下行数据单元。而普通TSN网络中,各所述终端节点分别在不同的等同于所述实时通道对应的时间片接收数据,因此,基于上述装置,各所述终端节点在所述实时通道对应的时间片内同步接收数据,在用于工业控制的网络中实现同步接收控制命令,同步受控操作。
根据第四方面,在所述多节点数据同步分发装置的第一种可能的实现方式中,所述提取发送给自己的数据时,包括下面之一,根据该下行数据单元中具有的对应各终端节点的数据的各终端节点标识,提取对应该终端节点标识的数据;根据该下行数据单元中的各终端节点的数据的排列的第一顺序,提取对应该终端节点位置的数据;所述第一顺序为所述控制节点与各终端节点约定的顺序。
由上,各所述终端节点把待发送的上行数据增加终端节点的标识或按照约定顺序依次添加到从所述通道报文的下行数据单元中。因此,基于上述装置,在工业控制网络中,各所述终端节点实现同步发送采集各终端节点的测量数据或命令运行结果。
根据第四方面,在所述多节点数据同步分发装置的第二种可能的实现方式中,当应用的网络类型为环形、菊花链或其混合的网络时,终端节点当从下行数据单元中提取发送给自己的数据时,所述装置还包括,第二提取模块,用于各终端节点解封所述通道报文获得所包含的一上行数据单元;第二数据封装模块,用于各所述终端节点将其待发送的数据添加到所述的上行数据单元中,重新封装于所述通道报文中;第二数据发送模块,用于各所述终端节点通过所述实时通道发送重新封装后的所述通道报文。
由上,所述实时通道所对应的时间片是TSN调度的时间片,各终端节点通过所述实时通道向控制节点同步发送上行数据示为所有终端节点的上行数据均在TSN网络调度的的时间片内发送。而普通TSN网络中各终端节点必须分别占用一个所述时间片发送上行数据,因此,基于上述装置,本发明的各终端节点实现了向控制节点同步发送上行数据,在用于工业控制的网络中实现同步汇报采集数据或处理结果。
根据第四方面的第二种可能的实现方式,在所述多节点数据同步分发装置的第三种可能的实现方式中,将待发送的数据添加到所述的上行数据单元时,包括下面之一,该上行数据单元中,对应添加所述待发送的数据添加有该终端节点的标识;该上行数据单元中,基于第二顺序所对应的位置添加所述待发送的数据;所述第二顺序为所述控制节点与各终端节点约定的顺序。
由上,各所述终端节点把待发送的上行数据增加终端节点的标识或按照约定顺序依次添加到从所述通道报文的下行数据单元中。因此,基于上述装置,在工业控制网络中,各所述终端节点实现同步发送各终端节点的测量数据或命令运行结果。
第五方面,提供了一种计算设备,其特征在于,包括:
总线;
通信接口,其与所述总线连接;
至少一个处理器,其与所述总线连接;以及
至少一个存储器,其与所述总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行本申请第一方面任一所述实施方式或本申请第二方面任一所述实施方式或本申请第三方面任一所述实施方式或本申请第四方面任一所述实施方式。
第六方面,提供了一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令当被计算机执行时使得所述计算机执行申请第一方面任一所述实施方式或本申请第二方面任一所述实施方式或本申请第三方面任一所述实施方式或本申请第四方面任一所述实施方式。
附图说明
图1、TSN网络基于时分调度机制的示意图;
图2、本申请各实施例的实施环境的示意图;
图3、本申请的一种多节点数据同步分发方法实施例一的流程示意图;
图4、本申请的基于TSN调度的时间片配置图的示意图;
图5、本申请的一种多节点数据同步分发方法实施例二的流程示意图;
图6A、本申请的一种多节点数据同步分发方法实施例三的流程示意图;
图6B、本申请的一种多节点数据同步分发方法实施例三的菊花链网络各节点数据收发的示意图;
图7、本申请的一种多节点数据同步分发装置实施例一的流程示意图;
图8、本申请的一种多节点数据同步分发装置实施例二的流程示意图;
图9、本申请的一种多节点数据同步分发装置实施例三的流程示意图;
图10、本申请的计算设备结构示意图。
具体实施方式
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三等”或模块A、模块B、模块C等,仅用于区别类似的对象,或用于区别不同的实施例,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
在以下的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明具体实施方式进行进一步详细说明之前,对本发明实施例中涉及的名词和术语,以及其在本发明中相应的用途\作用\功能等进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1、TSN(Time Sensitive Network,时间敏感网络):TSN是一种时间精确同步网络,可实现在MAC层基于时间片的精确调度。TSN以网络参与者时钟同步为前提,以时间分片的方式为网络参与者分配网络资源使用,实现网络传递的确定性保障。这种方式在时分的基础上,提供了时间确定性的网络通道。
图1示出了TSN网络基于MAC层时分的调度机制。示例地,图1给出了8个数据传输队列(Queue for traffic class#0-7)通过设定的传输选择算法(Transmission SelectionAlgorithm)产生图1右边示出的门控阵列(Gate Control list),其控制数据传输队列分别在哪个时间片传输,示例地,T00、T01、…、T79分别表示各个时间片。具体地,门控阵列控制图1中的传输门(Transmission Gate)在各个时间片打开和关闭选择时间片来选择数据传输队列传输数据,所述数据传输队列为各网络参与者需要发送或接受的数据。
2、控制节点:为连接在工业控制网络中的中心控制设备,向各终端节点发送控制命令和从各终端节点接收采集数据。
3、终端节点:为连接在工业控制网络中的终端设备,接收控制节点的制命令和发送采集的数据及命令处理结果。
4、MAC(Media Access Control,媒体访问控制):位于网络链路层中,用于资源调度等功能,TSN的协议主要用于MAC层。
图2示出了本申请实施例的多节点数据同步分发技术方案所涉及的实施环境的示意图,这是一个典型的工业控制的网络环境,可用于多种对数据同步要求较高的工业控制,如用于远程控制现场的风电风机,下面以风电风机介绍该实施环境。
如图2所示,该实施环境包括由交换机组成的TSN网络,网络中各交换机严格同步。图2示出了的8个交换机网络仅仅是一种示例,实际交换机数目可以是大于等于3的在TSN网络寻址范围的任意数目,与需要远程控制的风电风机数目相关。同样,图2中示出的环形结构的网络也是一种示例,实际网络结构可以星型或菊花链型,基于需要远程控制的风电风机连接的逻辑拓扑相关。
图2中交换机2连接了控制节点,为网络的中心控制设备,用于采集各风电风机的工作状态参数和环境参数,并控制各风电风机的工作。实际网络的中心控制设备可以根据需要连接在其他交换机上,所述计算设备也可以为能够实现中心控制功能的其他类型设备。
图2中其他交换机各连接了各终端节点,如控制器或传感器,所述控制器为终端控制器,控制在图2中未示出的终端设备,如风电风机。所述传感器用于采集终端设备的工作状态或工作环境参数,如风电风机的转速、环境风速等参数。
上面所述中心控制设备可以通过网络向各终端设备发送控制命令,如启动工作参数或工作参数上报,各终端设备通过网络向中心控制设备汇报工作参数或环境参数等,所述中心控制设备基于收到的各终端设备的工作参数或环境参数制定控制策略,并通过网络发送给各终端设备。在工业控制的中,需要数据同步,以实现对远程终端设备的工作最佳控制。
下面将结合附图的图3到图6B,对本申请中的方法实施例行描述。
【一种多节点数据同步分发方法实施例一】
图3示出了一种多节点数据同步分发方法实施例一的流程,包括:
步骤110、控制节点基于TSN时间片调度建立一条与各终端节点连接的虚拟的第一实时通道。
上述所述第一实时通道是基于TSN的MAC层调度的时间片,本实施例中将该第一实时通道也称为tsn-ps channel(Publish-Scribe Channel,发布-订阅通道)。具体地参见图1所示,通过门控阵列(Transmission Gate)选择一个时间片作为所述第一实时通道,且使该第一实时通道为控制节点和各个终端节点可以同时占用,实现从控制节点到各个终端节点的数据同步传输。
图4示出的是一个基于TSN调度的时间片配置图的示例,该示例中对终端节点1到5进行了时间片调度,实际终端节点数目可以是大于等于2的在TSN网络寻址范围的任意数目。
图4的示例中,T1到T6都是TSN网的MAC层的调度的时间片,其中T1、T2、T3、T4、T5是普通时间片,示例性的,T1、T2、T3、T4、T5可以分别调度给了终端节点1到5,T6是特殊时间片,采用了上述tsn-ps channel,该tsn-ps channel同时调度给终端节点1到5,终端节点1到5可以在时间片T6的存取通道上同时收发数据。
示例中T1到T6只是一种TSN网络MAC层时间片调度例子,实际可以其他数目的时间片,tsn-ps channel可以根据实际需要在不同时间片定义多条,例如上述T3时间片也可以更改为tsn-ps channel。
综合步骤110的描述,因为所述第一实时通道是调度给各终端节点的MAC层的时间片,各终端节点在该时间片内可以同时接收到数据,也就是各终端节点接收数据的时间可以同步到一个时间片的精度,保障了各终端节点接收的该时间片的数据的同步性和实时性。
步骤120、控制节点把发送给各终端节点的下行数据封装成下行数据单元,包含在第一通道报文的净荷中。
在步骤110中建立了所述第一实时通道,保障各终端节点能够在一个MAC层同一时间片内同时接收同源的下行数据,但是各终端节点接收的第一通道报文是同源的。为了保障各终端节点都能通过所述第一实时通道接收到发送本身的下行数据,控制节点把各终端节点的下行数据组合在一起,作为第一通道报文的净荷一部分封装到在第一实时通道发送的第一通道报文中。如图4示出的T6时间片,其第一通道报文中包含了分别发送给终端节点1到5的下行数据。
本实施例把待发送给各所述终端节点的数据封装在第一通道报文的所述下行数据单元中,在MAC层之上完成,对MAC层之上的网络协议无特殊需求。
因为各终端节点接收的下行数据可能有多种方式,如:
方式1、各参与终端节点接收的共用数据;
方式2、各参与终端节点接收的本身专用数据;
方式3、一些参与终端节点接收的共用数据,而另一些参与终端节点接收的本身专用数据,即方式1和方式2的组合。
为了保障各终端节点都能识别出发送给自己的下行数据,在方式2和方式3中在发送给各终端节点的下行数据基于第一配置规则构成下行数据单元,所述第一配置规则可以是下列规则之一,但不限于这两种规则,
在发送给各终端节点的下行数据中增加了该终端节点的标识;
在发送给各终端节点的下行数据按照控制节点和各终端节点已知的顺序排列。
综合步骤120的描述,因为发送给各终端节点的下行数据封装在一个第一通道报文中,保证了各终端节点可以同时接收数据。
步骤130、控制节点把封装好的第一通道报文通过所述第一实时通道向各终端节点发送。
因为所述第一实时通道是基于TSN的MAC层调度的时间片,所以封装好的第一通道报文按照TSN的MAC层和物理层的标准方式发送。TSN的网络可能是星型结构,也有可能是菊花链结构或者环状结构,或者是上述结构的组合。
控制节点在发送所述第一通道报文时分别遵从该网络结构的MAC层和物理层标准方式。
在所述第一实时通道对应到的时间片同时向各终端节点发送封装好的第一通道报文,因为发送给各终端节点的下行数据封装在一个第一通道报文中,保证了发送给各终端节点的下行数据同时被发送。
步骤140、各终端节点通过所述第一实时通道接收所述第一通道报文。
因为所述第一实时通道是基于TSN的MAC层调度的时间片,所以各终端节点按照TSN的MAC层和物理层的标准方式同时接收包含发送给各终端节点下行数据的第一通道报文。TSN的网络可能是星型结构,也有可能是菊花链结构或者环状结构,或者是上述结构的组合。各终端节点在接收所述第一通道报文时分别遵从该网络结构的MAC层和物理层标准方式。
在环形、菊花链或其混合的网络时,各终端节点通过第一通道顺序发送所述通道报文,与所述第一实时通道对应到的时间片时长相比,由于实际网络时间时延很小时,可以认为各个终端节点实时地同步接收到控制节点发送的所述第一通道报文。
在所述第一实时通道对应到的时间片内各终端节点同时接收封装好的第一通道报文,因为发送给各终端节点的下行数据封装在一个第一通道报文中,保证了各终端节点同时接收发送给该节点的下行数据。
步骤150、各终端节点从所接收的第一通道报文中识别和提取发送给自己的下行数据。
在解封数据时遵从步骤120中使用封装的格式进行解封。各终端节点可以根据步骤120中列出的三种方式识别和提取发送给该节点的下行数据,其中对于步骤120中列出的方式2和方式3,根据下行数据中的终端节点标识识别数据。
因为发送给各终端节点的下行数据封装在一个第一通道报文中,所以各终端节点能从该报文同时识别和提取发送给本身的下行数据。
方法实施例一的方法有多种使用场景,下面列出了其三种常用的工业控制使用场景。
场景一、中心控制设备通过控制节点向所有终端节点对应的终端设备发布下行数据,如相同的订阅数据。
场景二、中心控制设备通过控制节点向所有终端节点对应的终端设备发布相同的命令,如数据采集指令并触发采集的数据上报,采集数据包括但不限于终端设备的工作状态参数、工作环境参数等。
场景三、中心控制设备对多个终端设备发布不同的控制命令,对终端设备实施同步控制,终端设备同步接收处理执行。另外,一种可选的后续操作,各参与的终端设备返回处理执行结果。
在场景二和场景三,采集数据上报或处理结果等上行数据如果要求在规定时间内上传时,当所述规定时间小于各终端节点数目与TSN可调度的时间片单元的时长的乘积,使用标准的TSN数据发送方式无法满足要求,如果TSN网络结构是菊花链或环状或其组合时,可使用后续描述的一种多节点数据同步分发方法实施例二的方法发送上行的采集数据和运行结果。
当所述规定时间大于各终端节点数目与TSN可调度的时间片单元的时长的乘积时,可使用标准的TSN数据发送方式,如果TSN网络结构是菊花链或环状或其组合时,也可以使用后续描述的一种多节点数据同步分发方法实施例二的方法发送。
综上,方法实施例一基于TSN的MAC层调度的时间片建立了一条虚拟的第一实时通道,控制节点把待发送给各终端节点的数据封装在所述第一实时通道的第一通道报文中,同时发送,各终端节点在在所述第一实时通道对应的时间片同时接收数据,保证了数据发送的同步性和实时性,可用于多种工业控制网络的场景,时间高精度的同步控制。
【一种多节点数据同步分发方法实施例二】
图5示出了一种多节点数据同步分发方法实施例二的流程,方法实施例二适用于菊花链或环状或其组合的网络结构的TSN网络,各终端节点同步发送数据。
该方法实施例二的流程包括:
步骤210、控制节点基于TSN时间片调度建立一条与各终端节点连接的虚拟的第二实时通道。
因为TSN是时间精确同步网络,在MAC层基于时间片精确调度,上述所述第二实时通道就是基于TSN的MAC层调度的时间片,称之为tsn-ps channel(Publish-ScribeChanne2)。具体地,通过图1通过门控阵列选择一个时间片即所述第二实时通道,为控制节点和各个终端节点可以同时占用,实现从各个终端节点到控制节点的数据同步传输。
因为所述第二实时通道是调度给各终端节点的MAC层的时间片,各终端节点在该时间片内可以同时发送数据,也就是各终端节点发送数据的时间可以同步到一个时间片的精度,保障了各终端节点发送数据的同步性和实时性。
因为该方法实施例二适用于菊花链或环状或其组合的网络结构的TSN网络,其中控制节点可以根据需要部署在任意节点上,不受网络结构的限制。
步骤220、当前参与的一终端节点通过所述第二实时通道接收第二通道报文。其中,所述第二通道报文的净荷包含了之前其他终端节点已经发送的上行数据。
因为所述第二实时通道是基于TSN的MAC层调度的时间片,所以当前终端节点按照TSN的MAC层和物理层的标准方式接收所述第二通道报文。
因为对于菊花链或环状或其组合的结构的网络中各节点是串行的,各节点都在所述第二实时通道对应的时间片发送数据,必须先把当前终端节点之前的各节点在所述第二实时通道发送的上行数据提取出来才能添加本身待发送的上行数据。
如果当前终端节点为控制节点后的第一个终端节点,则收到的第二通道报文不存在,可以看做一个新的第二通道报文,用于各所述终端节点发送上行数据。
步骤230、当前终端节点从第二通道报文中识别和提取所述上行数据单元。
因为对于菊花链或环状或其组合的结构的网络中各节点是串行的,各节点都在所述第二实时通道对应的时间片发送数据,各节点发送的上行数据是在所述第二实时通道对应的时间片内依次添加到所述上行数据单元。必须先解封出来上行数据单元,然后才能添加。
如果当前终端节点为控制节点后的第一个终端节点,第二通道报文不存在,则创建一新的上行数据单元用于各所述终端节点把待发送上行数据封装在其中。
步骤240、当前终端节点把待发送的上行数据添加到所述上行数据单元,更新第二通道报文。
其中,各终端节点的上行数据基于第二配置规则添加到所述上行数据单元,以便于后续控制节点识别和提取各终端节点的上行数据。所述第二配置规则可以是下列规则之一,但不限于这两种规则,
在发送给各终端节点的下行数据中增加了该终端节点的标识;
在发送给各终端节点的下行数据按照控制节点和各终端节点已知的顺序排列。
如果当前终端节点已经是控制节点接收前的最后一个节点,则当前更新后的所述上行数据单元已经包含了全部参与终端节点的上行数据,也就是更新后的所述第二通道报文已经包含了全部参与终端节点的上行数据。
本实施例把各所述终端节点的待发送的上行数据依次添加到在第二通道报文的所述上行行数据单元中,在MAC层之上完成,对MAC层之上的网络协议无特殊需求。
步骤250、当前终端节点把第二通道报文通过所述第二实时通道发送。
因为所述第二实时通道是基于TSN的MAC层调度的时间片,所以各终端节点按照TSN的MAC层和物理层的标准方式发送更新后的所述第二通道报文。
从步骤220到步骤250,TSN网络一所述终端节点完成了上行数据的发送,整个过程中该节点收发数据和处理数据的整体时延相对所述第二实时通道对应的时间片大小来所述很小,可以认为各参与的节点在所述第二实时通道对应的时间片内同时完成上行数据的发送。
步骤260、判断当前处理节点是否为控制节点,即确定出菊花链或环状或其组合的结构的网络中各终端节点是否都已经传完上行数据。如果当前处理节点为控制节点,则进入步骤270,进入控制节点的操作;如果当前处理节点不是控制节点,则回到步骤220,开始下一个终端节点上行数据的发送。
步骤270、控制节点通过所述第二实时通道接收所述第二通道报文。
当所有的参与的终端控制节点都完成上行数据发送时,控制节点接收的第二通道报文包含全部终端节点的上行数据。
因为所述第二实时通道是基于TSN的MAC层调度的时间片,所以控制节点按照TSN的MAC层和物理层的标准方式接收所述第二通道报文。
步骤280、控制节点从接收的第二通道报文识别和提取各终端节点发送的上行数据。
因为各终端节点的上行数据均基于第二配置规则构成上行数据单元,从所述第二通道报文净荷的上行数据单元中基于第二配置规则可以识别和提取各终端节点的上行数据。
方法实施例二的方法有多种使用场景,重点适用于方法实施例一提出的场景二和场景三,进一步说明如下:
场景二、中心控制设备通过控制节点向所有终端节点对应的终端设备发布相同的命令,如数据采集指令并触发采集的数据上报,采集数据包括但不限于终端设备的工作状态参数、工作环境参数等。各终端设备连接的终端节点使用方法实施例二的方法同步向控制节点汇报采集数据,便于与控制节点连接的中心控制设备处理数据和决策。
场景三、中心控制设备对多个终端设备发布不同的控制命令,对终端设备实施同步控制,终端设备同步接收处理执行。各终端设备连接的终端节点使用方法实施例二的方法同步向控制节点汇报处理结果,便于与控制节点连接的中心控制设备基于各终端设备的处理结果及时决策。
综上,方法实施例二基于TSN的MAC层调度的时间片建立了一条虚拟的第二实时通道,在所述第二实时通道对应的时间片内各终端节点串行把待发送的上行数据封装在一起,同时发送给控制节点,保证了各终端节点上行数据发送的同步性和实时性,可用于多种工业控制网络的场景,时间高精度的同步控制。
【一种多节点数据同步分发方法实施例三】
图6A示出了一种多节点数据同步分发方法实施例三的流程,适用于菊花链或环状或其组合的网络结构的TSN网络。本方法实施例是所述方法实施例一和方法实施例二的组合,在一个虚拟的实时通道上各终端节点既能同步接收数据,又能同步发送数据。
方法实施例三的流程是方法实施例一和方法实施例二流程组合,下面重点介绍其中组合后变化的部分。
步骤3010、控制节点基于TSN时间片调度建立一条与各终端节点连接的虚拟的第三实时通道。
所述第三实时通道同实施例一中所述第一实时通道和方法实施例二中所述第二实时通道一样,是基于TSN的MAC层调度的时间片,从使用角度看是方法实施例一中所述第一实时通道和方法实施例二中所述第二实时通道的结合体,各终端节点在所述第三实时通道对应的时间片内可以同时接收数据和发送数据。
因为各终端节点在该时间片内可以同时接收数据和发送数据,也就是各终端节点收发数据的时间可以同步到一个时间片的精度,保障了各终端节点收发数据的同步性和实时性。
步骤3020、控制节点把发送给各终端节点的下行数据封装成下行数据单元,包含在第三通道报文的净荷中。
该步骤的方法和效果同方法实施例一的步骤120,这里不在赘述。
步骤3030、控制节点把封装好的第一通道报文通过所述第一实时通道向各终端节点发送。
该步骤的方法和效果同方法实施例一的步骤130,这里不在赘述。
步骤3040、各终端节点通过所述第三实时通道接收第三通道报文。其中,所述第三通道报文的净荷包含了两部分:所述下行单元和下行数据单元;所述下行数据单元包含之前其他终端节点已经发送的上行数据。
步骤3040是方法实施例一中步骤140和方法实施例二步骤220的组合,该步骤的方法和效果参照方法实施例一中步骤140和方法实施例二步骤220,这里不在赘述。
步骤3050、各终端节点从第三通道报文中识别和提取所述下行数据单元和上行数据单元。
步骤3050是方法实施例一中步骤150和方法实施例二步骤230的组合,该步骤的方法和效果参照方法实施例一中步骤150和方法实施例二步骤230,这里不在赘述。
通过步骤3040和步骤3050,各终端节点在所述第三实时通道对应的时间片内不仅接收发送给本身的下行数据,也提取了其他所述终端节点之前已经发送的上行数据。
步骤3060、各终端节点把待发送的上行数据添加到所述上行数据单元中,更新第三通道报文。
该步骤的方法和效果参照方法实施例二步骤240,这里不在赘述。不同处是所述第三通道报文不仅包含更新的上行数据单元,也包括下行数据单元。
步骤3070、各终端节点把第三通道报文通过所述第三实时通道发送。
该步骤的方法和效果参照方法实施例二步骤250,这里不在赘述。不同处是所述第三通道报文不仅包含更新的上行数据单元,也包括下行数据单元。
从步骤3040到步骤3070,各所述终端节点依次完成了下行数据的接收和上行数据的发送。整个过程中该节点收发数据和处理数据的整体时延相对所述第三实时通道对应的时间片大小来所述很小,可以认为各参与的节点在所述第三实时通道对应的时间片内同时完成上行数据的发送。
图6B以一个菊花链结构示出了上述过程的示意图,图中下半部分为6个交换机菊花链串接的TSN网络,每个交换机对应一个TSN的网络节点,上半部分是所述第三通道报文,各个节点都顺序从所述第三通报报文中接收数据和向第三报文发送数据。图6B个示意的6个交换机的菊花链结构网络,实际节点数目即交换机数目可以根据需求是其他数目,网络结构也可以是环状或者环状与菊花链的混合结构。
步骤3080、判断当前处理节点是否为控制节点,即菊花链或环状或其组合的结构的网络中各终端节点是否都已经传完上行数据。如果当前处理节点为控制节点,则进入步骤3090,进入控制节点的操作;如果当前处理节点不是控制节点,则回到步骤3040,开始下一个终端节点上行数据的发送。
步骤3090、控制节点通过所述第三实时通道接收所述第三通道报文。
该步骤的方法和效果参照方法实施例二步骤270,这里不在赘述。
步骤3100、控制节点从接收的第二通道报文识别和提取各终端节点发送的上行数据。
该步骤的方法和效果参照方法实施例二步骤280,这里不在赘述。
方法实施例三的方法有多种使用场景,重点适用于方法实施例一提出的场景二和场景三。
场景二、中心控制设备通过控制节点向所有终端节点对应的终端设备发布相同的命令,如数据采集指令并触发采集的数据上报,采集数据包括但不限于终端设备的工作状态参数、工作环境参数等。各终端设备连接的终端节点同步向控制节点汇报采集数据,便于与控制节点连接的中心控制设备处理数据和决策。所有终端节点使用方法实施例三的所述第三实时通道接收命令和发送采集数据。
场景三、中心控制设备对多个终端设备发布不同的控制命令,对终端设备实施同步控制,终端设备同步接收处理执行。各终端设备连接的终端节点同步向控制节点汇报处理结果,便于与控制节点连接的中心控制设备基于各终端设备的处理结果及时决策。所有终端节点使用方法实施例三的所述第三实时通道接收命令和发送处理结果。
综上,方法实施例三基于TSN的MAC层调度的时间片建立了一条虚拟的第三实时通道,在所述第三实时通道对应的时间片内各终端节点串行不仅接收控制节点发送的下行数据,同时把待发送的上行数据封装在一起,同时发送给控制节点,保证了各终端节点上行数据发送的同步性和实时性,可用于多种工业控制网络的场景,时间高精度的同步控制。
下面将结合附图的图7到图9,对本申请中的装置实施例行描述。
【一种多节点数据同步分发装置实施例一】
图7示出了一种多节点数据同步分发装置实施例一的结构,包括:
控制节点7100,其包括:通道配置模块7110、第一数据封装模块7120、第一数据发送模块7130、;终端节点7200,其包括:第一数据接收模块7210、第一数据提取模块7220。
装置实施例一适用于各种网络结构的TSN网络,包括星型结构、菊花链、环状或其组合,各终端节点同步发送数据。下面分别介绍各模块的功能和优点。
所述通道配置模块7110,用于控制节点基于TSN时间片调度建立一条与各终端节点连接的虚拟的第一实时通道。其工作原理和效果同方法实施例一中步骤110,这里不再详述。
所述第一数据封装模块7120、用于控制节点把发送给各终端节点的下行数据封装成下行数据单元,包含在第一通道报文的净荷中。其工作原理和效果同方法实施例一中步骤120,这里不再详述。
所述第一数据发送模块7130用于控制节点把封装好的第一通道报文通过所述第一实时通道向各终端节点发送。其工作原理和效果同方法实施例一中步骤130,这里不再详述。
所述第一数据接收模块7210用于各终端节点通过所述第一实时通道接收所述第一通道报文。其工作原理和效果同方法实施例一中步骤140,这里不再详述。
所述第一数据提取模块7220用于各终端节点从所接收的第一通道报文中识别和提取发送给自己的下行数据。其工作原理和效果同方法实施例一中步骤150,这里不再详述。
综上,装置实施例一基于TSN的MAC层调度的时间片建立了一条虚拟的第一实时通道,控制节点把待发送给各终端节点的数据封装在所述第一实时通道的第一通道报文中,同时发送,各终端节点在在所述第一实时通道对应的时间片同时接收数据,保证了数据发送的同步性和实时性,可用于多种工业控制网络的场景,时间高精度的同步控制。
对于纯环形网络来说,本实施例中的控制节点与终端节点是一种逻辑定义,与网络物理结构无关,可以根据需要定义。
【一种多节点数据同步分发装置实施例二】
图8示出了一种多节点数据同步分发装置实施例二的结构,包括
控制节点8100,其包括:通道配置模块8110、第二数据接收模块8120、第二数据提取模块8130;终端节点8200,其包括:第一数据接收模块8210、第二提取模块8220、第二数据封装模块8230、第二数据发送模块8240。
。装置实施例二适用于菊花链或环状或其组合的网络结构的TSN网络,各终端节点同步发送数据。
下面将介绍各模块的功能和优点。
所述通道配置模块8110用于控制节点基于TSN时间片调度建立一条与各终端节点连接的虚拟的第二实时通道。其工作原理和效果同方法实施例二中步骤210,这里不再详述。
所述第一数据接收模块8210用于各终端节点通过所述第二实时通道接收第二通道报文。其工作原理和效果同方法实施例二中步骤220,这里不再详述。
所述第二提取模块8220用于各终端节点从通过第二实时通道接收的第二通道报文中识别和提取所述上行数据单元。其工作原理和效果同方法实施例二中步骤230,这里不再详述。
所述第二封装模块8230用于各终端节点把待发送的上行数据添加到所述上行数据单元,更新第二通道报文。其工作原理和效果同方法实施例二中步骤240,这里不再详述。
所述第二数据发送模块8240用于各终端节点把第二通道报文通过所述第二实时通道发送。其工作原理和效果同方法实施例二中步骤250,这里不再详述。
各所述终端节点顺序执行所述第一数据接收模块8210、第二提取模块8220、第二数据封装模块8230、第二数据发送模块8240,依次完成了上行数据的发送。整个过程中该节点收发数据和处理数据的整体时延相对所述第二实时通道对应的时间片大小来所述很小,可以认为各参与的节点在所述第三实时通道对应的时间片内同时完成上行数据的发送。
当所有菊花链或环状或其组合的结构的网络中各终端节点都已经传完上行数据,进入控制节点处理。
所述第二数据接收模块8120用于控制节点通过所述第二实时通道接收所述第二通道报文。其工作原理和效果同方法实施例二中步骤270,这里不再详述。
所述第二数据提取模块8130用于控制节点从接收的第二通道报文识别和提取各终端节点发送的上行数据。其工作原理和效果同方法实施例二中步骤280,这里不再详述。
综上,装置实施例二基于TSN的MAC层调度的时间片建立了一条虚拟的第二实时通道,在所述第二实时通道对应的时间片内各终端节点串行把待发送的上行数据封装在一起,同时发送给控制节点,保证了各终端节点上行数据发送的同步性和实时性,可用于多种工业控制网络的场景,时间高精度的同步控制。
【一种多节点数据同步分发装置实施例三】
图9示出了一种多节点数据同步分发装置实施例三的结构,包括
控制节点9100,其包括:通道配置模块9110、第一数据封装模块9120、第一数据发送模块9130、第二数据接收模块9140、第二数据提取模块9150;终端节点9200,其包括:第一数据接收模块9210、第一数据提取模块9220、第二提取模块9230、第二数据封装模块9240、第二数据发送模块9250。
装置实施例三适用于菊花链或环状或其组合的网络结构的TSN网络,各终端节点同步接收和发送数据。特别是对环状网络来说,控制节点可以根据需要部署在任意物理节点上,不受网络结构的限制。
装置实施例三是所述装置实施例一和装置实施例二的组合,在一个虚拟的实时通道上各终端节点既能同步接收数据,又能同步发送数据。下面将介绍各模块的功能和优点,重点介绍其中组合后变化的部分。
所述通道配置模块9110用于控制节点基于TSN时间片调度建立一条与各终端节点连接的虚拟的第三实时通道。其工作原理和效果同方法实施例二中步骤3010,这里不再详述。
所述第一数据封装模块9120用于控制节点把发送给各终端节点的下行数据封装成下行数据单元,包含在第三通道报文的净荷中。该模块的方法和效果同方法实施例三的步骤3020,这里不在详述。
所述第一数据发送模块9130用于控制节点把封装好的第三通道报文通过所述第三实时通道向各终端节点发送。该模块的方法和效果同方法实施例三的步骤3030,这里不在详述。
所述第一数据接收模块9210用于各终端节点通过所述第三实时通道接收第三通道报文。其中,所述第三通道报文的净荷包含了两部分:所述下行单元和下行数据单元;所述下行数据单元包含之前其他终端节点已经发送的上行数据。该模块的方法和效果参照方法实施例三中步骤3040,这里不在详述。
所述第一数据提取模块9220用于各终端节点从第三通道报文中识别和提取所述下行数据单元。该模块的方法和效果参照方法实施例一中步骤150,这里不在详述。
上述各模块组合完成了控制节点向所述终端节点发送下行数据的流程。
下面的各终端节点向控制节点发送上行数据涉及的模块。
所述第二提取模块9230,用于各终端节点从第三通道报文中识别和提取所述上行数据单元。在所述第一数据接收模块9210中已经介绍过,其接收的所述第三通道报文可能已经包含了上行数据单元部分。所述第二提取模块9230的其方法和效果同实施例二步骤230,这里不再详述。
所述第二数据封装模块9240用于各终端节点把待发送的上行数据添加到所述上行数据单元中,更新所述第三通道报文。该模块的方法和效果参照方法实施例三中步骤3060,这里不在详述。不同处是所述第三通道报文不仅包含更新的上行数据单元,也包括下行数据单元。
所述第二数据发送模块9250用于各终端节点把第三通道报文通过所述第三实时通道发送。该模块的方法和效果参照方法实施例三步骤3070,这里不在详述。不同处是所述第三通道报文不仅包含更新的上行数据单元,也包括下行数据单元。
各所述终端节点顺序执行所述第一数据接收模块9210、第二提取模块9230、第二数据封装模块9240和第二数据发送模块9250,依次完成了下行数据的接收和上行数据的发送。整个过程中该节点收发数据和处理数据的整体时延相对所述第三实时通道对应的时间片大小来所述很小,可以认为各参与的节点在所述第三实时通道对应的时间片内同时完成上行数据的发送。
当所有菊花链或环状或其组合的结构的网络中各终端节点都已经传完上行数据,进入控制节点处理。
所述第二数据接收模块9140用于控制节点通过所述第三实时通道接收所述第三通道报文。该模块的方法和效果参照方法实施例三步骤3090,这里不在详述。
所述第二数据提取模块9150用于控制节点从接收的第二通道报文识别和提取各终端节点发送的上行数据。该模块的方法和效果参照方法实施例三步骤3100,这里不在详述。
综上,装置实施例三基于TSN的MAC层调度的时间片建立了一条虚拟的第三实时通道,在所述第三实时通道对应的时间片内各终端节点串行不仅接收控制节点发送的下行数据,同时把待发送的上行数据封装在一起,同时发送给控制节点,保证了各终端节点上行数据发送的同步性和实时性,可用于多种工业控制网络的场景,时间高精度的同步控制。
【计算设备】
本发明还提供的一种计算设备,如图10所示,下面详细介绍。
该计算设备1000包括:处理器1010、存储器1020、通信接口1030、总线1040。
应理解,该图所示的计算设备1000中的通信接口1030可以用于与其他设备之间进行通信。
其中,该处理器1010可以与存储器1020连接。该存储器1020可以用于存储该程序代码和数据。因此,该存储器1020可以是处理器1010内部的存储单元,也可以是与处理器1010独立的外部存储单元,还可以是包括处理器1010内部的存储单元和与处理器1010独立的外部存储单元的部件。
可选的,计算设备1000还可以包括总线1040。其中,存储器1020、通信接口1030可以通过总线1040与处理器1010连接。总线1040可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(EFStended Industry StandardArchitecture,EISA)总线等。所述总线1040可以分为地址总线、数据总线、控制总线等。为便于表示,该图中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,在本发明实施例中,该处理器1010可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器1010采用一个或多个集成电路,用于执行相关程序,以实现本发明实施例所提供的技术方案。
该存储器1020可以包括只读存储器和随机存取存储器,并向处理器1010提供指令和数据。处理器1010的一部分还可以包括非易失性随机存取存储器。例如,处理器1010还可以存储设备类型的信息。
在计算设备1000运行时,所述处理器1010执行所述存储器1020中的计算机执行指令执行方法实施例一的操作步骤或方法实施例二的操作步骤或方法实施例三的操作步骤。
应理解,根据本发明实施例的计算设备1000可以对应于执行根据本发明各实施例的方法中的相应主体,并且计算设备1000中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
【计算介质】
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行方法实施例一的操作步骤或方法实施例二的操作步骤或方法实施例三的操作步骤。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,均属于本发明保护范畴。
Claims (10)
1.一种多节点数据同步分发方法,其特征在于,包括,
控制节点与多个终端节点建立一条虚拟的实时通道;
控制节点根据待发送给各终端节点的数据构建一下行数据单元,并封装于一通道报文中;
控制节点通过所述实时通道向各终端节点发送所述通道报文;
所述实时通道为控制节点与各终端节点间、基于TSN分配的一个时间片;
所述待发送给各终端节点的数据的类型为反馈结果类指令、且应用的网络类型为环形、菊花链或其混合的网络时,所述控制节点通过所述实时通道接收经过各终端节点后的所述通道报文;以及
所述控制节点解封装所述经过各终端节点的所述通道报文获得所包含的一上行数据单元,并从该上行数据单元中提取各终端节点发送的数据。
2.根据权利要求1所述方法,其特征在于,构建所述下行数据单元时,包括下面之一,
该下行数据单元中,对应所述待发送给各终端节点的数据添加有相应的各终端节点标识;
该下行数据单元中,所述待发送给各终端节点的数据基于第一顺序排列;所述第一顺序为所述控制节点与各终端节点约定的顺序。
3.根据权利要求1所述方法,其特征在于,所述提取各终端节点发送的数据时,包括下面之一,
该上行数据单元中,对应各终端节点的数据具有相应的各终端节点标识;根据各终端节点标识提取各终端节点发送的数据;
该上行数据单元中,各终端节点的数据基于第二顺序排列;所述第二顺序为所述控制节点与各终端节点约定的顺序;根据所述第二顺序提取各终端节点发送的数据。
4.一种多节点数据同步分发方法,其特征在于,包括,
各终端节点通过一实时通道接收一通道报文;所述实时通道为控制节点与各终端节点间、基于TSN分配的一个时间片;
各终端节点分别解封装所述通道报文获得所包含的一下行数据单元,并从该下行数据单元中提取发送给自己的数据;
当应用的网络类型为环形、菊花链或其混合的网络时,终端节点当从下行数据单元中提取发送给自己的数据且有待发送给控制节点的上行数据时,判断所述通道报文中是否已包含上行数据单元,若是,将其待发送的数据添加到所述的上行数据单元中,重新封装于所述通道报文中通过所述实时通道向下一节点发送;否则,根据待发送给控制节点的数据构建一上行数据单元,并将其封装于所述通道报文中通过所述实时通道向下一节点发送。
5.根据权利要求4所述方法,其特征在于,所述提取发送给自己的数据时,包括下面之一,
根据该下行数据单元中具有的对应各终端节点的数据的各终端节点标识,提取对应该终端节点标识的数据;
根据该下行数据单元中的各终端节点的数据的排列的第一顺序,提取对应该终端节点位置的数据;所述第一顺序为所述控制节点与各终端节点约定的顺序。
6.根据权利要求4所述方法,其特征在于,将待发送的数据添加到所述的上行数据单元时,包括下面之一,
该上行数据单元中,对应添加所述待发送的数据添加有该终端节点的标识;
该上行数据单元中,基于第二顺序所对应的位置添加所述待发送的数据;所述第二顺序为所述控制节点与各终端节点均知道的顺序。
7.一种多节点数据同步分发的装置,其特征在于,包括,
通道配置模块,用于由控制节点建立一条虚拟的实时通道;所述实时通道是为控制节点与各终端节点间、基于TSN分配的一个时间片;
第一数据封装模块,用于由控制节点根据待发送给各终端节点的数据构建一下行数据单元,并封装于一通道报文中;
第一数据发送模块,用于由控制节点通过所述实时通道发送所述通道报文;
第二数据接收模块,用于所述待发送给各终端节点的数据的类型为反馈结果类指令、且应用的网络类型为环形、菊花链或其混合的网络时,由控制节点通过所述实时通道接收经过各终端节点后的所述通道报文;以及
第二数据提取模块,用于由控制节点解封装所述经过各终端节点的所述通道报文获得所包含的一上行数据单元,并从该上行数据单元中提取各终端节点发送的数据。
8.一种多节点数据同步分发的装置,其特征在于,包括,
第一数据接收模块,用于由各终端节点通过一实时通道接收一通道报文;所述实时通道为控制节点与各终端节点间、基于TSN分配的一个时间片;
第一数据提取模块,用于由各终端节点分别解封装所述通道报文获得所包含的一下行数据单元,并从该下行数据单元中提取发送给自己的数据;
第二提取模块,用于当应用的网络类型为环形、菊花链或其混合的网络时,各终端节点解封所述通道报文获得所包含的一上行数据单元;以及
第二数据封装模块,用于各所述终端节点将其待发送的数据添加到所述的上行数据单元中,重新封装于所述通道报文中;以及
第二数据发送模块,用于各所述终端节点通过所述实时通道发送重新封装后的所述通道报文。
9.一种计算设备,其特征在于,包括:
总线;
通信接口,其与所述总线连接;
至少一个处理器,其与所述总线连接;以及
至少一个存储器,其与所述总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行权利要求1至3任一所述方法;或者,执行权利要求或4至6任一所述方法。
10.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令当被计算机执行时使得所述计算机执行权利要求1至3任一所述方法;或者,执行权利要求或4至6任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011560728.1A CN112615930B (zh) | 2020-12-25 | 2020-12-25 | 多节点数据同步分发方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011560728.1A CN112615930B (zh) | 2020-12-25 | 2020-12-25 | 多节点数据同步分发方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112615930A CN112615930A (zh) | 2021-04-06 |
CN112615930B true CN112615930B (zh) | 2022-08-23 |
Family
ID=75245302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011560728.1A Active CN112615930B (zh) | 2020-12-25 | 2020-12-25 | 多节点数据同步分发方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112615930B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833156A (zh) * | 2012-08-07 | 2012-12-19 | 北京经纬恒润科技有限公司 | 一种网络数据的处理方法及装置 |
CN104349283A (zh) * | 2013-08-07 | 2015-02-11 | 王方淇 | 一种信息处理方法、终端及信息处理系统 |
CN109067932A (zh) * | 2018-07-24 | 2018-12-21 | 广州贯行电能技术有限公司 | 一种数据采集终端无固定ip的数据传输方法及数据服务端 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE385660T1 (de) * | 1998-12-10 | 2008-02-15 | Nokia Corp | Verfahren für eine sichere trennprozedur in einem mobilfunknetz |
CN102821471B (zh) * | 2011-06-07 | 2017-10-27 | 中兴通讯股份有限公司 | 向多个终端发送数据的方法及装置 |
MX2019002855A (es) * | 2016-09-14 | 2019-10-21 | Sharp Kk | Aparato terminal, aparato de estacion base, metodo de comunicacion y circuito integrado. |
WO2019071369A1 (zh) * | 2017-10-09 | 2019-04-18 | 华为技术有限公司 | 光网络中数据传输方法及光网络设备 |
CN111404837B (zh) * | 2019-01-02 | 2023-07-25 | 中国移动通信有限公司研究院 | 一种数据传输控制方法、网络设备及系统 |
CN111970137B (zh) * | 2019-05-20 | 2022-04-05 | 华为技术有限公司 | Tsn中控制器间通信的方法、装置及系统 |
-
2020
- 2020-12-25 CN CN202011560728.1A patent/CN112615930B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833156A (zh) * | 2012-08-07 | 2012-12-19 | 北京经纬恒润科技有限公司 | 一种网络数据的处理方法及装置 |
CN104349283A (zh) * | 2013-08-07 | 2015-02-11 | 王方淇 | 一种信息处理方法、终端及信息处理系统 |
CN109067932A (zh) * | 2018-07-24 | 2018-12-21 | 广州贯行电能技术有限公司 | 一种数据采集终端无固定ip的数据传输方法及数据服务端 |
Also Published As
Publication number | Publication date |
---|---|
CN112615930A (zh) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Vitturi et al. | Industrial communication systems and their future challenges: Next-generation Ethernet, IIoT, and 5G | |
Baidya et al. | FlyNetSim: An open source synchronized UAV network simulator based on ns-3 and ardupilot | |
CN104601665B (zh) | 一种对物联网感知设备进行云端实时仿真的系统和方法 | |
CN109150559B (zh) | 时间触发以太网仿真系统 | |
CN109995675B (zh) | 一种基于软件定义的自适应工业以太网网关系统与方法 | |
CN109842868B (zh) | 一种帧聚合、网络设置帧发送方法及设备 | |
Quan et al. | OpenTSN: an open-source project for time-sensitive networking system development | |
CN103281261B (zh) | 一种以太网通信方法和系统 | |
US20230353425A1 (en) | Method, program, medium, and device for interconnecting primary network domain with secondary network domain through gateway device | |
CN105245301A (zh) | 一种基于时间触发的机载光网络仿真系统 | |
CN103416022A (zh) | 分布式路由器/交换机架构中的服务中吞吐量测试 | |
CN106533871A (zh) | 一种基于afdx总线的发布订阅方法和系统 | |
CN110851252A (zh) | 一种基于tsn架构的规约转换设备和规约转换方法 | |
CN111698787B (zh) | 调度规则确定方法及其装置 | |
Hummen et al. | Tsn–time sensitive networking | |
CN102045256B (zh) | 一种基于cots的带宽预分配保证网络功能演示系统 | |
Senk et al. | Open-source testbeds for integrating time-sensitive networking with 5g and beyond | |
KR101576050B1 (ko) | 복수 노드의 소프트웨어 업그레이드를 위한 방법, 이를 위한 장치 및 시스템 | |
CN112615930B (zh) | 多节点数据同步分发方法、装置、设备及存储介质 | |
Liang et al. | Customizable and Robust Internet of Robots Based on Network Slicing and Digital Twin | |
US20230353422A1 (en) | Network Switch, Communication System and Method for Operating a Communication System for Transmitting Time-Critical Data | |
CN115484161A (zh) | Tsn网络配置方法、装置及计算机可读存储介质 | |
CN107835109B (zh) | 一种测试软件定义的分组传送网网络的方法及系统 | |
Drivers | Guest editorial special section on communications in automation–innovation drivers and new trends | |
CN111008173A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |