用于给网络中多个设备传送数据的系统和方法技术方案

技术编号:9733537 阅读:101 留言:0更新日期:2014-02-28 18:45
本发明专利技术提供了一种向多个设备传送数据的系统和方法。在一个实例中,系统被配置成将数据广播到设备组中。该设备组中的每一个设备都被配置成用来检查消息并本地存储该消息的内容。此外,该设备组被配置以致该组设备的单个设备响应于每个消息。

【技术实现步骤摘要】
【国外来华专利技术】背景

一般涉及计算机化设备之间的通信,并更具体地涉及用于在通过总线连接的设备之间传送数据的系统和方法。
技术介绍
对于采用总线拓扑的网络存在许多通信协议。这些协议中的大多数支持设备之间的点对点和广播通信,并包括用于处理通信中的错误的过程。然而,由于仲裁总线竞争和其它形式的开销的复杂性,用来执行握手和递送验证的方法在点对点和广播通信之间有所不同。采用总线拓扑的一些网络标准在市场上已经非常成功。例如,基于实施MODBUS协议的网络的RS-485在工业应用上具有广泛的安装基础。这些网络获得成功有各种各样的原因,这些原因中的一些包括易于实施、低成本的材料和在有噪声的工业环境中的稳定的性能。采用了总线拓扑的其它网络标准包括CAN、I2C和许多基于无线的网络,如无线局域网(WLAN)、ZigBee 和蓝牙(Bluetooth)。
技术实现思路
本文所公开的各个方面和实例呈现了能够使通过共享总线互连的设备以广播模式有效且高效地交换数据的数据传送协议。如本文所述,术语“广播”涉及同时向多个设备传送数据的动作。如以下进一步地讨论,这些数据传送协议中的至少一些提供了旋转响应时间表,在该旋转响应时间表中,接收数据的设备轮流向提供数据的设备报告进程。以这种方式,数据传送协议使得接收设备能够及时地提供关于失败的数据通信的反馈,而无需要求从每个设备得到对每个通信数据包的响应的不必要的开销。根据一个方面,提供了一种用于向多个设备传送数据的系统。该系统包括存储器和连接到该存储器上的至少一个处理器。该系统被配置成:识别多个设备的设备子集,该设备子集具有基数并包括第一设备和第二设备;在存储器中分配具有基于设备子集的基数的尺寸的缓冲器;将一组数据包存储在缓冲器中,该组数据包具有基数并包括第一数据包和第二数据包,该组数据包的每一个数据包在该组数据包内都具序数值;将第一数据包传送到设备子集的所有设备;从第一设备接收第一响应,第一响应指示第一设备成功地接收了第一数据包;将第二数据包传送到设备子集的所有设备;从第二设备接收第二响应,第二响应指示第二设备没有成功地接收至少一个数据包;响应于接收到的第二响应,向设备子集的所有设备传送第一数据包;以及响应于接收到的第二响应,向设备子集的所有设备传送第二数据包。在该系统中,缓冲器的大小可以等于设备子集的基数乘以第一数据包的大小。该系统还可以被配置成通过使用xmodem协议将第一数据包传送到设备子集的所有设备。另夕卜,该系统还可以被配置成:将离散节点号分配给设备子集的每个设备,并向设备子集的每个设备传送指示设备子集的基数和分配给该设备的离散节点号的数据。设备子集的每个设备可以包括存储器和连接到该存储器上的至少一个处理器。每个设备都可以被配置成:接收指示设备子集的基数和分配给该设备的离散节点号的数据;接收该组数据包的数据包;将该数据包存储在存储器中并发送响应以选择具序数值的数据包,该序数值与子集的基数和分配给该设备的离散节点号成预定关系。此外,设备子集的每个设备可以被进一步配置成:确定指示该组数据包的被接收的数据包先前被存储在存储器中的结果;响应于确定该结果,接收该组数据包的另一数据包,而不将所接收的数据包存储在所述存储器中。该设备子集的第二设备可以被配置成:确定第一结果,该第一结果指示第二设备没有成功地接收第一数据包;将指示第一结果的数据存储在第二设备的存储器中;确定指示第一数据包的序数值对所述子集的基数取模的结果不等于分配给第二设备的离散节点号的第二结果;响应于确定第二结果,延迟第二响应的传送;确定指示第二数据包的序数值对所述子集的基数取模的结果等于分配给第二设备的离散节点号的第三结果;以及响应于确定第三结果,传送第二响应。在另一个方面,提供了一种用于通过使用计算机将数据传送到多个设备的计算机实现方法。该计算机包括存储器和连接到存储器上的至少一个处理器。该方法包括以下动作:通过计算机识别多个设备的设备子集,该设备子集具有基数并包括第一设备和第二设备;在存储器中分配具有基于设备子集的基数的大小的缓冲器;将一组数据包存储在缓冲器中,该组数据包具有基数并包括第一数据包和第二数据包,该组数据包的每个数据包在该组数据包内都具序数值;将第一数据包传送到设备子集的所有设备;从第一设备接收第一响应,第一响应指示第一设备成功地接收了第一数据包;将第二数据包传送到设备子集的所有设备;从第二设备接收第二响应,第二响应指示第二设备没有成功地接收至少一个数据包;响应于接收到的第二响应,向设备子集的所有设备传送第一数据包;以及响应于接收到的第二响应,向设备子集的所有设备传送第二数据包。[0011 ] 在该方法中,将该组数据包存储在缓冲器中的动作可以包括存储具有等于设备子集的基数乘以第一数据包的尺寸的总尺寸的一组数据包的动作。将第一数据包传送到设备子集的所有设备的动作可以包括使用Xmodem协议进行传送的动作。另外,该方法可以进一步包括以下动作:将离散节点号分配给设备子集的每个设备;以及向设备子集的每个设备传送指示设备子集的基数和分配给该设备的离散节点号的数据。另外,该方法可以进一步包括以下动作:通过每个设备接收指示设备子集的基数和分配给该设备的离散节点号的数据;通过每个设备接收该组数据包的数据包;通过每个设备将数据包存储在设备的存储器中;以及通过每个设备传送响应以选择具序数值的数据包,该序数值与子集的基数和分配给该设备的离散节点号成预定关系。该方法还可以包括以下动作:通过设备子集的至少一个设备来确定结果,该结果指示该组数据包的被接收的数据包先前被存储在至少一个设备的存储器中;以及响应于确定该结果,通过至少一个设备接收该组数据包的另一个数据包,而不用将所接收的数据包存储在至少一个设备的存储器中。此外,该方法可以包括以下动作:通过第二设备确定指示第二设备没有成功地接收第一数据包的第一结果;将指示第一结果的数据存储在第二设备的存储器中;通过第二设备确定指示第一数据包的序数值对所述子集的基数取模的结果不等于分配给第二设备的离散节点号的第二结果;响应于确定第二结果,通过第二设备延迟第二响应的传送;通过第二设备确定指示第二数据包的序数值对子集的基数取模的结果等于分配给第二设备的离散节点号的第三结果;以及响应于确定第三结果,通过第二设备传送第二响应。根据另一实例,提供了一种非暂时性计算机可读介质。计算机可读介质已将用于向多个设备传送数据的指令序列存储在其上。该指令包括一些指令,这些指令将使至少一个处理器用来:识别多个设备的设备子集,该设备子集具有基数并包括第一设备和第二设备;将缓冲器分配在连接到至少一个处理器上的存储器中,缓冲器具有基于设备子集的基数的尺寸;将一组数据包存储在缓冲器中,该组数据包具有基数并包括第一数据包和第二数据包,该组数据包的每个数据包在该组数据包内都具序数值;将第一数据包传送到设备子集的所有设备;从第一设备接收第一响应,第一响应指示第一设备成功地接收了第一数据包;将第二数据包传送到设备子集的所有设备,从第二设备接收第二响应,第二响应指示第二设备没有成功地接收至少一个数据包;响应于接收到的第二响应,向设备子集的所有设备传送第一数据包;以及响应于接收到的第二响应,向设备子集的所有设备传送第二数据本文档来自技高网...

【技术保护点】
一种用于向多个设备传送数据的系统,所述系统包括存储器和连接到所述存储器的至少一个处理器,并且所述系统被配置成:识别所述多个设备的设备子集,所述设备子集具有基数并包括第一设备和第二设备;在所述存储器中分配具有基于所述设备子集的所述基数的尺寸的缓冲器;将一组数据包存储在所述缓冲器中,所述一组数据包具有基数并包括第一数据包和第二数据包,所述一组数据包的每个数据包在所述一组数据包内都具有序数值;将所述第一数据包传送给所述设备子集的所有设备;从所述第一设备接收第一响应,所述第一响应指示所述第一设备成功地接收了所述第一数据包;将所述第二数据包传送给所述设备子集的所有设备;从所述第二设备接收第二响应,所述第二响应指示所述第二设备没有成功地接收至少一个数据包;响应于接收到所述第二响应,向所述设备子集的所有设备传送所述第一数据包;以及响应于接收到所述第二响应,向所述设备子集的所有设备传送所述第二数据包。

【技术特征摘要】
【国外来华专利技术】2011.04.19 US 13/089,6861.一种用于向多个设备传送数据的系统,所述系统包括存储器和连接到所述存储器的至少一个处理器,并且所述系统被配置成: 识别所述多个设备的设备子集,所述设备子集具有基数并包括第一设备和第二设备; 在所述存储器中分配具有基于所述设备子集的所述基数的尺寸的缓冲器; 将一组数据包存储在所述缓冲器中,所述一组数据包具有基数并包括第一数据包和第二数据包,所述一组数据包的每个数据包在所述一组数据包内都具有序数值; 将所述第一数据包传送给所述设备子集的所有设备; 从所述第一设备接收第一响应,所述第一响应指示所述第一设备成功地接收了所述第一数据包; 将所述第二数据包传送给所述设备子集的所有设备; 从所述第二设备接收第二响应,所述第二响应指示所述第二设备没有成功地接收至少一个数据包; 响应于接收到所述第二响应,向所述设备子集的所有设备传送所述第一数据包;以及 响应于接收到所述第二响应,向所述设备子集的所有设备传送所述第二数据包。2.根据权利要求1所述的系统,其中所述缓冲器的尺寸等于所述设备子集的所述基数乘以所述第一数据包的尺寸。3.根据权利要求1所述的系统,其中所述系统被配置成通过使用xmodem协议将所述第一数据包传送给所述设备子集的所有设备。4.根据权利要求1所述的系统,其中所述系统还被配置成: 将离散节点号分配给所述设备子集的每个设备;以及 向所述设备子集的每个设备传送指示所述设备子集的所述基数和分配给所述设备的离散节点号的数据。5.根据权利要求4所述的系统,其中所述设备子集的每个设备包括存储器和连接到该存储器的至少一个处理器,并被配置成: 接收指示所述设备子集的基数和分配给所述设备的离散节点号的数据; 接收所述一组数据包中的数据包; 将所述数据包存储在所述存储器中;以及 发送响应以选择其序数值与所述子集的基数和分配给所述设备的离散节点号成预定关系的数据包。6.根据权利要求5所述的系统,其中所述设备子集的每个设备还被配置成: 确定结果,所述结果指示所述一组数据包中的被接收的数据包被先前存储在所述存储器中;以及 响应于确定所述结果,接收所述一组数据包的另一数据包,而不将所接收的数据包存储在所述存储器中。7.根据权利要求5所述的系统,其中所述设备子集的所述第二设备被配置成: 确定第一结果,所述第一结果指示所述第二设备没有成功地接收所述第一数据包; 将指示所述第一结果的数据存储在所述第二设备的存储器中; 确定第二结果,所述第二结果指示所述第一数据包的序数值对所述子集的基数取模的结果不等于分配给所述第二设备的离散节点号;响应于确定所述第二结果,延迟所述第二响应的传送; 确定第三结果,所述第三结果指示所述第二数据包的序数值对所述子集的基数取模的结果等于分配给所述第二设备的离散节点号;以及响应于确定所述第三结果,传送所述第二响应。8.一种用于通过使用计算机将数据传送到多个设备的计算机实现方法,所述计算机包括存储器和连接到所述存储器的至少一个处理器,所述方法包括: 通过所述计算机识别所述多个设备的设备子集,所述设备子集具有基数并包括第一设备和第二设备; 在所述存储器中分配具有基于所述设备子集的所述基数的尺寸的缓冲器; 将一组数据包存储在所述缓冲器中,所述一组数据包具有基数并包括第一数据包和第二数据包,所述一组数据包的每个数据包在所述一组数据包内都具有序数值; 将所述第一数据包传送给所述设备子集的所有设备; 从所述第一设备接收第一响应,所述第一响应指示所述第一设备成功地接收了所述第一数据包; 将所述第二数据包传送给所述设备子集的所有设备; 从所述第二设备接收第二响应,所述第二响应指示所述第二设备没有成功地接收至少一个数据包; 响应于接收到所述第二响应,向所述设备子集的所有设备传送所述第一数据包;以及 响应于接收到所述第二响应,向所述设备子集的所有设备传送所述第二数据包。9.根据权利要求8所述的方法,其中将所述一组数据包存储在所述缓冲器中包括存储具有总尺寸等于所述设备子集的所述基数乘以所述第一数据包的尺寸的一组数据包。10.根据权利要求8所述的方法,其中将所述第一数据包传送给所述设备子集的所有设备包括使用xmodem协议进行传送。11.根据权利要求8所述的方法,还包括: 向所述设备子集的每个设备分配离散节点号;以及 向所述设备子集的每个设备传送指示所...

【专利技术属性】
技术研发人员:丹尼尔·C·科恩詹姆士·S·斯皮塔埃尔布莱恩·帕特里克·默恩斯希曼苏·特里维迪维什沃斯·默罕艾拉杰·德奥卡
申请(专利权)人:施耐德电气IT公司
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1